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
66 stars 39 forks source link

Ludl controller support. #238

Closed iandobbie closed 2 years ago

iandobbie commented 2 years ago

I have a very old Ludl MAC2000 controller and motorized XY stage to go with it. Apparently the newer controllers (current one is the MAC6000) all use the same command set. It seems to be a pretty simple serial device so I plan to implement it based on the Prior or Zaber controllers. The controllers can also run shutters and filter wheels so definitely should be in the controller category rather than just a stage.

iandobbie commented 2 years ago

I have started this in branch https://github.com/iandobbie/microscope/tree/ludl.

So far support is very basic, XY stage and a few general communication commands. I plan to add support for filterwheels at least but I don't currently have the hardware.

iandobbie commented 2 years ago

The stage control bit is now working.

However the stage homing needs some thinking about. Currently the ludl controller will drive the stage to its min and max position at startup. I tried to wait until cockpit connected but this didn't really work as cockpit get the stage limits at startup and so the stage size wasn't properly set. will add a cockpit issue on this.

iandobbie commented 2 years ago

Pulled into master