* Command definition now uses char * instead of String
* registered_commands is now an array of pointers to Commands,
previously this was an array of Command and was allocated to
MAX_COMMANDS entries which were then overwritten with the module
provided Commands, so every Command used twice as much memory. This
saves ~200bytes
* Several (u)ints are now (u)int8_t
On the nano with all modules included this reduces global RAM use from
1676 bytes to 1237 bytes (from 81.8% to 60.4%).
Move commands were blocking in the original firmware, non-blocking moves
break some pysangaboard functions so this adds blocking moves as an
option along moving? command to check if a move is in progress and
notify-on-stop command which responds when a command finishes.
See !1 for more details.
notify_on_stop now gives an error if it's
called while the stage is not moving.
This means you can safely issue the command and await a response.
If the stage is moving, it will block until
the stage stops. If it's not moving, it will return immediately.
- Added endstop and light_sensor module
- Improved configuration by splitting wiring configs to boards.h
- Added a unit test for argument parsing
- Fixed many smaller bugs