- we need to introduce position checks before every macro (trajectory) execution. Each step and therefore macro must be validated as successful or not.
- self centering cartridge. In current state we are not able to exchange nozzle cartridge. There is +/- 100 micron tolerance for nozzle position on the holder in X, Y. Holder itself has tolerance +/- 700 micron. Now we need to compensate this with software offsets.
- we need to synchronize save positions and macros between server and clients.
(DONE) save positions are now synchronized between server and clients
- it would be very nice to have some way to tell if I'm in Neutral position with motors (or any other position). We learned that we cannot rely just on motor encoders. Interferometers, sensors, ...
- instead of using XML config file, we need Smaragon software device controller which will hold and sync all attributes between server and clients.
- we need sensors on Smaract claws and for each nozzle holder (for every nozzle space). This is must to minimize incorrect movements and minimize possible errors. I'm only relying on software flags now.
- introduce tilting compensation in nozzle Y and Z
- for the catcher windows:
- have a way to align them before glueing
- AR coating
- think about bigger hole upstream
- make them large enough to allow full NA of mics
- improve motor names. People are confused with Catcher and Catridge. Suggestions? (Cartridge => Hanger)
- lock motors controls until macro finish execution
- introduce variables into macro creator
- allow combining macros into one macro
- never execute macro on client side. All macros must be executed on server side and forbid any other client to execute macro.
- prepare software documentation
- prepare log reader with filters
- each step of macro and each macro should have MD5 hash. You can tell if macro was changed after execution from log file. Or you can allow to execute only macro with specific MD5 hash.
Feel free to edit this table and leave a comment.