wavefrontshaping / slmPy

A simple Python module based on wxPython to interact with spatial light modulators handled as secondary monitors.
Other
63 stars 26 forks source link

Won't work with more than 1 SLM #11

Open eduardopaul opened 1 year ago

eduardopaul commented 1 year ago

Hi, Sébastien!

First of all, thank you for this nice piece of work.

I would like to use slmPy to control more than 1 SLM on the same computer. So I just went with something like

slm1 = slmpy.SLMDisplay(monitor=1)
slm2 = slmpy.SLMDisplay(monitor=2)

but as I connect the second SLM, it stops working. There's no message error, it's just that no image gets sent. I noticed that if I run two separate notebooks it does work. I guess it must have something to do with the threading, but I have no knowledge on the subject.

So, is it possible to use slmPy for several SLMs, on the same script/notebook, as it is right now? If not, would it be feasible to make it so?

Thanks again!

wavefrontshaping commented 1 year ago

Hi, Hi Eduardo,

Yes, it is a known issue.

To do so, you would have to modify the code two have the two monitors handled by the same object slm. It should not be too difficult but it requires to dive a bit into the threading system used for the display. I do not have plan to do that in a near future, but it would be a nice feature to have. You are welcome to contribute if you want ;)

Best,