Katapult does not depend on Klipper's "timer_irc.c" as it does
not reference the "timer_dispatch_many()" method. Remove
it from the makefile to fix G0 and F0 builds.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
It appears the rp2350 disables SRAM power when the RUN pin is pulled
low. As a result, one can not store a code in regular memory to
detect if the RUN pin is pulled low multiple times.
Add a new CONFIG_HAVE_BOARD_CHECK_DOUBLE_RESET mechanism to allow the
board code to override the standard double reset checking code.
Implement an rp2350 specific check that uses the chip's POWMAN
chip_reset field to store/check a double reset condition.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Synchronize with the latest Klipper code. This pulls in the latest
lib/ files (needed to use the pico-sdk v2.0.0 version). It updates to
latest can2040 code (needed for pico-sdk v2.0.0 support). It
implements USB double buffering (as is now done in Klipper). It adds
in support for additional UART pins (as is now done in Klipper). It
adds support for rp2350 chips.
This replaces the execute in ram code previously implemented in
Katapult with the execute in ram code that is now standard in Klipper.
The CONFIG_RP2040_ADD_BOOT_SIGNATURE kconfig symbol was removed and
the build now always produces a katapult.withclear.uf2 file.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Certain STM32 Nucleo development boards (eg. F429Zi) come pre-installed with a 32MHz quartz crystal, which is now exposed as an option when selecting STM32 chips.
Signed-off-by: Ella Fox <ella@fox.gal>
The UCPD is not used with Katapult but it can result in unexpected behaviour on certain pins due to the internal pull resistors unless disabled.
Signed-off-by: Luke Harrison looxonline@gmail.com
Syncs the stm32 fdcan and Kconfig to enable BTT U2C and PB12/PB13 FDCAN2 support STM32G0B1 with boards such as the BTT E3EZ.
Signed-off-by: Diana Moore <dmoore@xn4p4lm.com>
To help transition users relying on exisiting tutorials copy
katapult.bin and katapult.uf2 to canboot.bin and canboot.uf2
respectively.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
flash.c: fix write error for STM32H72x
Add a flash lock/unlock sequence after erasing and before writing to the flash
memory
Signed off by: Robin Gay <robingay67@gmail.com>
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>
Move canboot specific definitions in board/misc.h to new canboot.h
header file. This makes it a little easier to identify differences
between canboot code and low-level upstream klipper code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Modified linker script and loader to load whole bootloader to the RAM.
Removed whatchdog.
Fixed gpio.c compilation.
Signed-off-by: Alex Malishev <malishev@gmail.com>
If the power supply isn't fully stable or the reset line is glitchy
then there may be a few reboots before the mcu becomes stable. If the
deployer runs during this unstable period, it may erase the existing
bootloader, but not be able to fully write the new bootloader.
Wait a 100ms before erasing the existing bootloader in an effort to
avoid this situation.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Support building a "flashing application" that one may run from an
existing bootloader. This flashing application will then flash the
main CanBoot binary to the start of flash.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>