python-microscope / microscope

Python library for control of microscope devices, supporting hardware triggers and distribution of devices over the network for performance and flexibility.
https://www.python-microscope.org
GNU General Public License v3.0
67 stars 39 forks source link

Need to implement a digital io device and logger. #162

Closed iandobbie closed 1 year ago

iandobbie commented 3 years ago

Asynchronous digital IO for flip mirrors and similar. Currently there are two cockpit modules which do this the piDIO module and the NI6036. Both of these modules control digital devices but with no high speed or defined timing. They also provide temperature (and possibly other analouge signal) logging.

A digital device needs:

read state set state

Possibly also requires reading a setting multiple lines at once.

Signal logging is a bit more complicated as we need to decide if the values are pushed or pulled.

carandraug commented 3 years ago

The NI6036 class in cockpit was removed in MicronOxford/cockpit@e2264fe2b045a361c0e0a2b930e5fc8a5808b825

There is also the Redpitaya Server class on https://github.com/MicronOxford/RedPitaya-DSP/ (but note its different implementations on the different branches of that project as mentioned on MicronOxford/RedPitaya-DSP#10)

iandobbie commented 2 years ago

I have pointed the cockpit issue on PIDIO startup issues here as pidio should be totally moved out of cockpit and into microscope with a new digital IO api and also I think temperature and other scalars leading to the value logger. I will investigate should be quite easy to be honest.

iandobbie commented 1 year ago

This issue is completely covered by #270 and early related code. We now have an abstract class, a simulation and a concrete implementation on the Raspberry Pi. It does debug, land logvalueviewer as well.