feat: add Heltec V4, wire up V3/V4 peripherals, restructure entry point
- Add heltec_v4 board: ESP32-S3R2, SX1262, SSD1315 display, native USB, Vext on GPIO36 (active HIGH) - Wire up heltec_v3 with real esp-hal peripherals (was a stub) - V3 and V4 share radio/I2C pins, differ in Vext pin/polarity and display reset - Restructure main.rs: cfg_if selects embassy_executor::main (Cortex-M) vs esp_hal_embassy::main (Xtensa) per board - Display detection via SSD1306 init in display_task — boards always provide I2C bus, task exits gracefully if no display responds Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
6 files changed
+276
-22
No files matched your search
@@ -4,12 +4,13 @@ set shell := ["bash", "-c"]
|
||||
# Xtensa targets use nightly cargo + esp rustc + -Zbuild-std=core.
|
||||
# check-all gracefully skips boards whose toolchain isn't installed.
|
||||
heltec_v3 := "heltec_v3 xtensa-esp32s3-none-elf esp32s3"
|
||||
heltec_v4 := "heltec_v4 xtensa-esp32s3-none-elf esp32s3"
|
||||
rak_4631 := "rak_4631 thumbv7em-none-eabihf nRF52840_xxAA"
|
||||
|
||||
firmware_dir := "firmware"
|
||||
|
||||
# All known boards
|
||||
boards := "heltec_v3 rak_4631"
|
||||
boards := "heltec_v3 heltec_v4 rak_4631"
|
||||
|
||||
# Check all boards that can build with the available toolchain
|
||||
check-all:
|
||||
@@ -79,5 +80,6 @@ _copy_firmware board profile:
|
||||
[private]
|
||||
_info name:
|
||||
@if [ "{{name}}" == "heltec_v3" ]; then echo "{{heltec_v3}}"; \
|
||||
elif [ "{{name}}" == "heltec_v4" ]; then echo "{{heltec_v4}}"; \
|
||||
elif [ "{{name}}" == "rak_4631" ]; then echo "{{rak_4631}}"; \
|
||||
else echo "Unknown board: {{name}}" >&2; exit 1; fi
|
||||
Reference in new issue
Block a user