DeltaStage sends moves commands as floats which led to occasional hard crashes,
this avoids it.
Incorrect number of arguments to move commands is now handled gracefully
and this will later be extended to more commands.
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