Skip to content

Commit fd12453

Browse files
committed
integrate celesta control
1 parent 6e0d0c0 commit fd12453

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

software/control/core.py

+21-3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242

4343
import subprocess
4444

45+
import control.celesta as celesta
46+
4547
class ObjectiveStore:
4648
def __init__(self, objectives_dict = OBJECTIVES, default_objective = DEFAULT_OBJECTIVE):
4749
self.objectives_dict = objectives_dict
@@ -416,20 +418,36 @@ def __init__(self,camera,microcontroller,configurationManager,control_illuminati
416418

417419
self.display_resolution_scaling = DEFAULT_DISPLAY_CROP/100
418420

421+
self.celesta = celesta.CELESTA(ip = '192.168.201.200')
422+
self.activte_celesta_channel = None
423+
419424
# illumination control
420425
def turn_on_illumination(self):
421-
self.microcontroller.turn_on_illumination()
426+
if 'Fluorescence' in self.currentConfiguration.name:
427+
self.celesta.setLaserOnOff(self.activte_celesta_channel,True)
428+
else:
429+
self.microcontroller.turn_on_illumination()
422430
self.illumination_on = True
423431

424432
def turn_off_illumination(self):
425-
self.microcontroller.turn_off_illumination()
433+
if 'Fluorescence' in self.currentConfiguration.name:
434+
self.celesta.setLaserOnOff(self.activte_celesta_channel,False)
435+
else:
436+
self.microcontroller.turn_off_illumination()
426437
self.illumination_on = False
427438

428439
def set_illumination(self,illumination_source,intensity):
429440
if illumination_source < 10: # LED matrix
430441
self.microcontroller.set_illumination_led_matrix(illumination_source,r=(intensity/100)*LED_MATRIX_R_FACTOR,g=(intensity/100)*LED_MATRIX_G_FACTOR,b=(intensity/100)*LED_MATRIX_B_FACTOR)
431442
else:
432-
self.microcontroller.set_illumination(illumination_source,intensity)
443+
if 'Fluorescence' in self.currentConfiguration.name:
444+
laser_id = illumination_source-20
445+
print('set active channel to ' + str(laser_id))
446+
self.activte_celesta_channel = int(laser_id)
447+
print('set intensity')
448+
self.celesta.set_intensity(self.activte_celesta_channel,intensity*10)
449+
else:
450+
self.microcontroller.set_illumination(illumination_source,intensity)
433451

434452
def start_live(self):
435453
self.is_live = True

0 commit comments

Comments
 (0)