I've refactored the use of the serial port, to store the
current serial port in a global variable in a module.
This is set to the most recent port to receive data,
and so we should always be replying to the port
that was used to initiate a command.
If SECONDARY_SERIAL_PORT is not defined, this
should result in no change - if it is, we should be
able to communicate on either port.
HW serial temporarily broken due to the change in pico core. This core
has a lot more features e.g. easily changing PWM frequency and supports
both pico cores (currently unused)
* 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%).
- 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