Add a shutdown() compatibility macro so that the upstream Klipper gpio
code can be used unmodified. Sync the rp2040, lpc176x, and stm32
gpio.c code with Klipper's code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Introduce the Klipper command_encode() and command_dispatch() style
functions. This makes it easier to import additional Klipper
low-level message handling code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Move the low-level command parsing and encoding code from
canboot_main.c to a new command.c file.
Standardize the parameters and naming for command handlers. Rename
send_ack() to console_send_ack() and rework parameters to be similar
to command handlers.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>