# 2026-04-26 工作日志 ## 固件工程架构梳理 - 工程路径:`code/firmware-2.7.15.567b8ea` - 版本:Meshtastic v2.7.15,基于 PlatformIO 构建 - 支持平台:ESP32 / nRF52 / RP2040 / RP2350 / Linux (Portduino) - 路由层级:ReliableRouter → NextHopRouter → FloodingRouter → Router - 定制点:TCA9535 I²C IO 扩展器用于代理 LoRa RST(P1.4)、GPS EN(P1.7)和 POWER_EN 引脚控制 - 自定义文件:`src/input/TCA9535ButtonThread.cpp/.h`(I²C 按键驱动,约16KB+12KB) - main.cpp 中有 TCA9535GpioHal 自定义 HAL 类,拦截虚拟引脚转发到 I²C ## P1.6 振子震动功能实现 - 变体:`variants/esp32c3/diy/esp32c3_moonshine_travelers_3` - P1.6 原为 GPS RST,改为振子(VIBRATOR),高电平震动,低电平停止 - 改动文件: - `src/input/TCA9535ButtonThread.h`:`tca9535GpsReset()` → `tca9535Vibrate()`,添加 `_vibrateOn`/`_vibrateStartMs` 成员 - `src/input/TCA9535ButtonThread.cpp`:init() 开机后触发 300ms 震动;runOnce() 关机时触发 300ms 震动;振子超时自动停止逻辑在 runOnce() 开头 - `variants/.../variant.h`:注释更新