- Add UID encoding/decoding with flash storage and CRC16 validation
- Add write UID (0x07) and LED strip color (0x08) protocol commands
- Add debug LED strip configuration option
- Switch MCUboot signing from RSA-2048 to ECDSA-P256
- Add SMP serial client for firmware upload over UART
- Add firmware version output on boot
- Update upgrade documentation with ECDSA key generation steps
Implement device firmware upgrade using MCUboot Serial Recovery over
usart1 (reusing the existing protocol UART). The application layer
handles upgrade commands (0xFF) to trigger bootloader entry, while
MCUboot manages the actual firmware swap with RSA signature
verification.
Key additions:
- sysbuild.conf to enable MCUboot bootloader with signing key
- mcuboot.conf with serial recovery and watchdog feed settings
- Kconfig option APP_DFU (default y) with conditional compilation
- dfu.cpp module for DFU initialization
- Upgrade command callback in com.hpp (bootmode_set + sys_reboot)
- Documentation for upgrade procedures and change notes
- Add CONFIG_SAMPLE_NTC to CMakeLists.txt and Kconfig
- Implement PI temperature controller with PWM output in heating.hpp
- Convert NtcGroup from template to non-template class
- Add LED helper class with flash support
- Implement COM protocol handlers for device ID and running state
- Add SPI, sensor, and PWM configuration to prj.conf
- Remove indicator overlay and update main.cpp with temperature
monitoring
- Add test script for serial protocol communication