Closed yvesauad closed 4 years ago
Pour savoir comment ca se fait maintenant: [575 nm - 590 nm - 1 nm - 30 avg] GAUCHE: controlled DROITE: normal acquisition
HAUTE: power (uW) BAS: diode current (A)
voila un truc tres tres bizarre. La sortie du laser sans controlle
control is definitely needed ;)
nice by now. Need to use a few times to check
Pour controller la puissance de sortie, j'ai mis une thread que boucle independent du balayage du laser. Je sais pas porquoi, mais des fois on a des conflit avec la thread et avec le GUI que demande des valleurs au power supply pour afficher dans la pallete. Si je comprends bien une thread, on utilise toujours une core et c'est a dire que seulement une action deroule a la fois. On a quand meme des conflit, peut etre a cause de la vitesse du hardware.
voila comme on fait:
On appelle pw_control_thread_on au debut et ca commence a boucler periodicment (time.sleep) pw_control pendant que do_run est True. Comme do_run n'existe pas, on utilise le default getattr pour dire que c'estr True tout le temps
si on veux que la boucle se arrete, on appelle pw_control_thread_off que met do_run as False.
La question: peut etre faire une thread pour controler un truc que on envoie souvent des message sur la porte serial ne pas genial. Pour l'instante, j'ai arrete de mettre a jour les valleurs lie au power supply et la thread peut se derouler tranquille. i) il y a une deuxime facon de faire ca? ii) peut etre c'est mieux si on fait le controle avec une autre hardware, comme le filtre gradient pour ne pas jamais avoir de conflit avec le hardware power supply.