|
42 | 42 |
|
43 | 43 | import subprocess
|
44 | 44 |
|
| 45 | +import control.celesta as celesta |
| 46 | + |
45 | 47 | class ObjectiveStore:
|
46 | 48 | def __init__(self, objectives_dict = OBJECTIVES, default_objective = DEFAULT_OBJECTIVE):
|
47 | 49 | self.objectives_dict = objectives_dict
|
@@ -416,20 +418,36 @@ def __init__(self,camera,microcontroller,configurationManager,control_illuminati
|
416 | 418 |
|
417 | 419 | self.display_resolution_scaling = DEFAULT_DISPLAY_CROP/100
|
418 | 420 |
|
| 421 | + self.celesta = celesta.CELESTA(ip = '192.168.201.200') |
| 422 | + self.activte_celesta_channel = None |
| 423 | + |
419 | 424 | # illumination control
|
420 | 425 | 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() |
422 | 430 | self.illumination_on = True
|
423 | 431 |
|
424 | 432 | 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() |
426 | 437 | self.illumination_on = False
|
427 | 438 |
|
428 | 439 | def set_illumination(self,illumination_source,intensity):
|
429 | 440 | if illumination_source < 10: # LED matrix
|
430 | 441 | 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)
|
431 | 442 | 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) |
433 | 451 |
|
434 | 452 | def start_live(self):
|
435 | 453 | self.is_live = True
|
|
0 commit comments