2.8 KiB
2.8 KiB
Step 2 Adoption Matrix
Scope
Repository: microReticulumTbeam
Submodule source: external/microReticulum_Firmware
What Step 2 Means
Identify and wire the first low-risk points where this repo should consume existing board-integration logic from microReticulum_Firmware, instead of maintaining duplicate local assumptions.
High-Value Upstream Sources
external/microReticulum_Firmware/Boards.h- T-Beam Supreme pin map and feature flags.
- Includes SD pins (
SD_CS=47,SD_CLK=36,SD_MISO=37,SD_MOSI=35), PMU I2C pins (I2C_SDA=42,I2C_SCL=41), LoRa pins.
external/microReticulum_Firmware/Power.h- AXP2101 setup sequence for T-Beam Supreme (
BOARD_TBEAM_S_V1), including SD rail (BLDO1), ALDO rails, charging config.
- AXP2101 setup sequence for T-Beam Supreme (
external/microReticulum_Firmware/platformio.inienv:ttgo-t-beam-supremebuild model and dependency pattern.
Local Targets And First Consumers
firmware/fieldtest_beacon/src/main.cpp
- Why first: this is the integration entry point, not just a smoke test.
- Step-2 change made: SD CS now comes from
Boards.hinstead of hardcoded10.
exercises/04_SD_card/src/main.cpp
- Why second: duplicates PMU + SD pin assumptions already present upstream.
- Planned consume-first item: PMU rail setup pattern from
Power.h.
exercises/05_SD_Card_Watcher/src/main.cpp
- Why third: extends
04and should share the same PMU/pin source strategy. - Planned consume-first item: same board/power source as
04.
exercises/06_RTC_check/src/main.cpp
- Why fourth: depends on PMU + I2C pin assumptions that overlap upstream.
- Planned consume-first item: board I2C pin source and PMU readiness sequence.
Current Wiring Done
- Added submodule:
external/microReticulum_Firmware
- Wired one concrete consumer:
firmware/fieldtest_beacon/src/main.cppnow includesBoards.hand usesSD_CS.firmware/fieldtest_beacon/platformio.ininow includesexternal/microReticulum_Firmwareheaders and setsBOARD_MODEL=BOARD_TBEAM_S_V1.
- Added local adapter:
shared/boards/tbeam_supreme_adapter.h- Exposes board pins and PMU setup based on upstream T-Beam Supreme definitions.
- Refactored exercises to consume adapter:
exercises/04_SD_cardexercises/05_SD_Card_Watcherexercises/06_RTC_check
Validation Status
firmware/fieldtest_beaconnow builds after adding required deps:ArduinoJson7.xMsgPackCrypto(providesEd25519.handCurve25519.h)
exercises/04_SD_cardbuilds.exercises/05_SD_Card_Watcherbuilds.exercises/06_RTC_checkbuilds.
Next Step Candidate
Reduce macro redefinition warnings emitted by Boards.h in adapter consumers:
- Option A: small local board-map header with only required constants copied from upstream board model.
- Option B: upstream contribution to make board capability macros conditional/override-safe.