I've moved SUPPORT_EEPROM into boards.h
because that seemed simplest.
I've removed a bit of logic related to serial
ports, because we now just listen on both if there
is more than one, using PRIMARY_SERIAL_PORT and
SECONDARY_SERIAL_PORT in boards.h.
I've deleted the `picohw` environment because it's no longer necessary.
I mistakenly deleted an ifndef in 40439a0ead
thinking that it wasn't matched by an #endif.
This change reverts that error, and it builds properly again.
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%).
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