Skip to content

Commit

Permalink
Cleanup selection logic for turrent changes. Update objective readout…
Browse files Browse the repository at this point in the history
… with current state. (#359)
  • Loading branch information
jmcoreymv authored Apr 4, 2024
1 parent 5a39997 commit 4f9f427
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 40 deletions.
8 changes: 4 additions & 4 deletions lumaviewpro.kv
Original file line number Diff line number Diff line change
Expand Up @@ -419,19 +419,19 @@
ToggleButton:
id: turret_pos_1_btn
text: '1'
on_release: root.turret_select('1')
on_release: root.turret_select(1)
ToggleButton:
id: turret_pos_2_btn
text: '2'
on_release: root.turret_select('2')
on_release: root.turret_select(2)
ToggleButton:
id: turret_pos_3_btn
text: '3'
on_release: root.turret_select('3')
on_release: root.turret_select(3)
ToggleButton:
id: turret_pos_4_btn
text: '4'
on_release: root.turret_select('4')
on_release: root.turret_select(4)

ZStack:
id: zstack_id
Expand Down
55 changes: 19 additions & 36 deletions lumaviewpro.py
Original file line number Diff line number Diff line change
Expand Up @@ -2002,13 +2002,15 @@ def __init__(self, **kwargs):
self.is_autofocus = False
self.is_complete = False
self.record_autofocus_to_file = False

Clock.schedule_interval(self.update_gui, 0.3)

def update_gui(self):
logger.info('[LVP Main ] VerticalControl.update_gui()')

def update_gui(self, dt=0):
try:
set_pos = lumaview.scope.get_target_position('Z') # Get target value
except:
logger.warning('[LVP Main ] Error talking to Motor board.')
return

self.ids['obj_position'].value = max(0, set_pos)
self.ids['z_position_id'].text = format(max(0, set_pos), '.2f')
Expand Down Expand Up @@ -2362,41 +2364,22 @@ def turret_home(self):
self.ids['turret_pos_3_btn'].state = 'normal'
self.ids['turret_pos_4_btn'].state = 'normal'

def turret_select(self, position):

def turret_select(self, selected_position):
#TODO check if turret has been HOMED turret first
lumaview.scope.turret_id = int(position) - 1
angle = 90*lumaview.scope.turret_id #+ lumaview.scope.turret_bias
lumaview.scope.tmove(angle)
lumaview.scope.turret_id = selected_position - 1
angle = 90*lumaview.scope.turret_id
lumaview.scope.tmove(
degrees=angle
)

#self.ids['turret_pos_1_btn'].state = 'normal'
#self.ids['turret_pos_2_btn'].state = 'normal'
#self.ids['turret_pos_3_btn'].state = 'normal'
#self.ids['turret_pos_4_btn'].state = 'normal'
#self.ids[f'turret_pos_{position}_btn'].state = 'down'

if position == '1':
self.ids['turret_pos_1_btn'].state = 'down'
self.ids['turret_pos_2_btn'].state = 'normal'
self.ids['turret_pos_3_btn'].state = 'normal'
self.ids['turret_pos_4_btn'].state = 'normal'

elif position == '2':
self.ids['turret_pos_1_btn'].state = 'normal'
self.ids['turret_pos_2_btn'].state = 'down'
self.ids['turret_pos_3_btn'].state = 'normal'
self.ids['turret_pos_4_btn'].state = 'normal'

elif position == '3':
self.ids['turret_pos_1_btn'].state = 'normal'
self.ids['turret_pos_2_btn'].state = 'normal'
self.ids['turret_pos_3_btn'].state = 'down'
self.ids['turret_pos_4_btn'].state = 'normal'

elif position == '4':
self.ids['turret_pos_1_btn'].state = 'normal'
self.ids['turret_pos_2_btn'].state = 'normal'
self.ids['turret_pos_3_btn'].state = 'normal'
self.ids['turret_pos_4_btn'].state = 'down'
for available_position in range(1,5):
if selected_position == available_position:
state = 'down'
else:
state = 'normal'

self.ids[f'turret_pos_{available_position}_btn'].state = state


class XYStageControl(BoxLayout):
Expand Down

0 comments on commit 4f9f427

Please sign in to comment.