Scaffold PlatformIO project with 20 board configs and C99/C++ source skeleton
Three-tier configuration hierarchy: - [env:base] — RadioLib + default LoRa parameters - [soc_esp32/esp32s3/nrf52] — platform + framework per SoC - [env:board_name] — board-specific pins + chip selection 20 boards across 4 vendors: - Heltec: 11 boards (T114, CT62, E213, E290, Mesh Solar, T190, Tracker, Tracker V2, V2, V3, V4) - LilyGo: 4 boards (T-Beam 1W, sx1262, sx1276, supreme) - Seeed: 1 board (Xiao S3 + Wio SX1262 with verified pins) - RAK: 4 boards (RAK11310, RAK3112, RAK3401, RAK3x72, RAK4631) Known/verified pins: Heltec V2/V3/V4, RAK4631, Seeed Xiao S3 FIXME pins: all others (placeholders for future research) Source skeleton: - config.h — compile-time defaults + pin validation (#error checks) - kiss.h/c — KISS protocol implementation (C99) - radio.h/cpp — RadioLib wrapper with C API (extern "C" boundary) - main.cpp — Arduino entry point All files pass pre-commit (prettier, markdownlint, YAML check).
This commit is contained in:
56
platformio.ini
Normal file
56
platformio.ini
Normal file
@@ -0,0 +1,56 @@
|
||||
; Root PlatformIO configuration for LoRa KISS modem (20 boards)
|
||||
; Board-specific environments are in hardware/<vendor>/<board>/platformio.ini
|
||||
; SoC shared settings are in soc/<soc>/platformio.ini
|
||||
|
||||
[platformio]
|
||||
default_envs =
|
||||
heltec_v3,
|
||||
rak_rak4631,
|
||||
heltec_v2
|
||||
|
||||
extra_configs =
|
||||
soc/esp32/platformio.ini
|
||||
soc/esp32s3/platformio.ini
|
||||
soc/nrf52/platformio.ini
|
||||
hardware/heltec/t114/platformio.ini
|
||||
hardware/heltec/ct62/platformio.ini
|
||||
hardware/heltec/e213/platformio.ini
|
||||
hardware/heltec/e290/platformio.ini
|
||||
hardware/heltec/mesh_solar/platformio.ini
|
||||
hardware/heltec/t190/platformio.ini
|
||||
hardware/heltec/tracker/platformio.ini
|
||||
hardware/heltec/tracker_v2/platformio.ini
|
||||
hardware/heltec/v2/platformio.ini
|
||||
hardware/heltec/v3/platformio.ini
|
||||
hardware/heltec/v4/platformio.ini
|
||||
hardware/lilygo/t_beam_1w/platformio.ini
|
||||
hardware/lilygo/t_beam_sx1262/platformio.ini
|
||||
hardware/lilygo/t_beam_sx1276/platformio.ini
|
||||
hardware/lilygo/t_beam_supreme/platformio.ini
|
||||
hardware/seeed/xiao_s3_wio_sx1262/platformio.ini
|
||||
hardware/rak/rak11310/platformio.ini
|
||||
hardware/rak/rak3112/platformio.ini
|
||||
hardware/rak/rak3401/platformio.ini
|
||||
hardware/rak/rak3x72/platformio.ini
|
||||
hardware/rak/rak4631/platformio.ini
|
||||
|
||||
; ------------------------------------------------------------------
|
||||
; Base environment — all board envs extend this.
|
||||
; Provides: RadioLib dependency, default LoRa parameters.
|
||||
; ------------------------------------------------------------------
|
||||
[env:base]
|
||||
lib_deps =
|
||||
jgromes/RadioLib@^6.6.0
|
||||
|
||||
monitor_speed = 115200
|
||||
|
||||
build_flags =
|
||||
; Default LoRa radio parameters — override per-board as needed
|
||||
-DLORA_FREQ_KHZ=869525UL
|
||||
-DLORA_BW_HZ=125000UL
|
||||
-DLORA_SF=7
|
||||
-DLORA_CR=5
|
||||
-DLORA_POWER_DBM=14
|
||||
-DLORA_SYNCWORD=0x34
|
||||
; KISS serial baud rate
|
||||
-DKISS_BAUD=115200
|
||||
Reference in New Issue
Block a user