1.5 KiB
1.5 KiB
MEMORY.md - 项目长期记忆
当前固件工程
- 路径:
code/firmware-2.7.15.567b8ea - 版本:Meshtastic v2.7.15(PlatformIO 工程)
- 支持平台:ESP32 / nRF52 / RP2040 / RP2350 / Linux(Portduino)
- 构建系统:PlatformIO,默认目标
tbeam,variants/ 目录存放各板型配置
自定义硬件扩展(重要!)
TCA9535 I²C IO 扩展器
用于代理几个不能直连 MCU GPIO 的关键引脚:
- P1.4 → LoRa 模块 RST(通过
TCA9535GpioHal自定义 HAL 拦截 RadioLib 调用) - P1.6 → 振子 VIBRATOR(高电平震动):开机/关机各震动 300ms(变体 esp32c3_moonshine_travelers_3)
- P1.7 → GPS 使能引脚(
GpioTca9535GpsEnPin包装) - POWER_EN → 上电保持(早期 boot 时即拉高,防止松开按键后 MOS 断电)
自定义文件
src/input/TCA9535ButtonThread.cpp/.h:I²C 按键驱动(~16KB + ~12KB)src/main.cpp:含 TCA9535GpioHal 类定义、GPS EN 替换逻辑、TCA9535 按键线程初始化
工程架构要点
- 路由层级:ReliableRouter → NextHopRouter → FloodingRouter → Router
- Mesh 服务:MeshService 连接射频收发、手机 API、GPS、模块系统
- 模块系统:setupModules() 统一初始化,各模块通过 MeshModule 订阅数据包端口
- 线程调度:基于 concurrency::OSThread + Periodic,loop() 中 mainController.runOrDelay()
- 消息协议:Protobuf(protobufs/ 目录),生成代码在 src/mesh/generated/