- 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.
- 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
- 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
Feel free to edit this table and leave a comment.