I recently looked into Zeiss CAN29 microscopes and found multiple
messages on this list, that the micro-manager developers lack hardware
to develop against Zeiss microscopes.
Note however, that this would not be the case for development against
Zeiss' own API MTB2011 which includes a simulation for hardware.
So I wondered, cannot we use this simulation with micro-manager?
The answer is yes, since MTB2011 emulates the hardware as a *true* CAN
device by connecting to CZCanSrv. We could hence spin up MTB, use it to
register the (simulated) hardware, and then talk to the whole setup via
low-level CAN commands. You can then use MTBCtrl to configure any
microscope you want as a test device.
Note, that such a setup could potentially also allow to hardware via
interfaces not yet supported by micro-manager, such as USB or Ethernet.
I have however not yet tested this.
A draft example code to expose such a setup can be found in
https://github.com/mabl/ZeissMTBCan29Bridge. It exposes the low-level
CAN interface as a serial COM port.You can use com0com to create a
virtual COM port loop and connect micro-manager to it. I have tested it
against a simulated Observer and it seems to work okay.