Rework `generic/serial_irq` to handle multiple serial connections. Buffers
are now allocated dynamically during setup.
Rework board-specific serial implementations to handle multiple serial
connections and runtime configuration.
Move host-communication related code to separate files.
`sendf()` now returns a value indicating whether it succeeds or not.
Host-communication serial interrupts are given priority over other serial
interrupts.
For STM32: merge STM32F0 serial implementation with generic STM32 serial
implementation and use a separate, static implementation on STM32F031 to
limit footprint.
Create configuration file for Fly-Gemini-v1 motherboard
Add stm32f405 and generic-mellow-fly-gemini-v1.cfg to test cases
Signed-off-by: Xiaokui Zhao <xiaok@zxkxz.cn>
It's more likely that python3 will be installed than python2 on a
typical modern Linux distribution, so use python3 by default.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This adds a command which allows an external script to broadcast a
bootloader request, using a supplied UUID to match the request.
Included is a method to process requests to enter the canboot
bootloader.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Make sure whitespace isn't in the pin description. Also make sure an
alias doesn't map to an invalid pin.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Minor indentation and variable name changes.
Don't remove linebreaks from message_protocol_error lines.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
The MCU protocol error message often confuses users, especially after getting bombarded with the config format error line. This PR tries to improve it and has the following goals:
- Put the technical error at the end to prevent confusion and avoid the immediate jump to help channels instead of continuing to read
- Inform the user first what the type of error is (In this case: MCU Protocol error) and not at the end of the long error message
- Give the users a clear instruction what to do (pretty much unchanged), but possibly more approachable because the user is not confused by the technical error anymore
- Shows the version numbers of Klipper separate from all MCU version numbers so that it is more obvious that this is the version of Klipper
- Separates the version numbers between outdated MCUs and up-to-date MCUs, so that it becomes obvious if a MCU flash failed because the MCU doesn't disappear from the outdated list
- Previously, when viewing the errors in a web frontend, additional line breaks made it extremely hard to read the message, sometimes with as little as one word on one line. The error messages are now formatted to not have rogue line breaks, improving readability.
Signed-off-by: Felicia Alexa Hummel <felicia@drachenkatze.org>
There is concern that some users are interpreting the benchmark table
in Features.md as a list of "supported boards" or possibly
"recommended boards". This was not the intent.
Remove the board names from the list to make it more clear the intent
is only to describe the benchmarks.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This is needed for the Creality Ender 3 S1 with the STM32F401 chips to enable a 64kib bootloader offset
Signed-off-by: James Hartley <james@hartleyns.com>