I have just shipped swiss_micros_tools: host-side Ada 2022 programmes that drive SwissMicros pocket calculators over USB serial. The first binary, dm_set_time, sets the machine clock from the host. Memory send/receive are next.
The interesting bit is how it is built, and that I wrote it up as a pair of workshop notes rather than a reference dump.
This crate — and the sibling HP-41CX tools — show Ada outside the Ada bubble: retro-calculator forums, people who would otherwise use Python, Excel or serial terminals.
- Tutorial pages: https://calculator-scripts.sourceforge.io/swiss-micros-tools/
- Worked specimen (
dm_set_time): https://calculator-scripts.sourceforge.io/swiss-micros-tools/dm_set_time/ - GNATdoc: https://calculator-scripts.sourceforge.io/gnatdoc/swiss_micros_tools/
- Files: https://sourceforge.net/projects/calculator-scripts/files/ ·
- Git: https://sourceforge.net/p/calculator-scripts/code/ci/master/tree/
If you have been looking for a small, complete example of advanced command line parsing, opening a serial port and speak a line protocol, this is the one.
— Martin