MeshTracker_X1 shutdown current ~10.8mA — powerOff() skips shutdownPeripherals()
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 74/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- c
- 领域
- embedded-iot
调研方向
从 variants/meshtracker_x1/MeshTrackerX1Board.h 开始,追踪 MeshTrackerX1Board::powerOff(),并结合 NRF52Board::powerOff() 和 shutdownPeripherals() 进行分析。确认 LR2021 和 GPS 现有的关闭顺序,然后构建 MeshTracker_X1_companion_radio_ble 环境,并检查断电是否在执行 peripherals shutdown 后进入 system off 状态。
由索引模型根据 Issue 内容生成。
描述
Summary:
On MeshTracker_X1_companion_radio_ble(companion-v1.17.1), entering powerOff() (long-press user button or CLI poweroff) leaves the board drawing ~10.81 mA
Root cause:
MeshTrackerX1Board::powerOff() overrides the base implementation but never calls NRF52Board::powerOff() / shutdownPeripherals()
Reproduction
Build env:MeshTracker_X1_companion_radio_ble, flash to X1.
Boot, wait >8 s (past the CLI-rescue window).
Long-press USER (P0.6) ≥3 s, release.
Measure system current on the supply rail: observe ~10.8 mA persisting after the LED/sd_power_system_off() sequence.
Suggested fix:
In variants/meshtracker_x1/MeshTrackerX1Board.h, replace the trailing sd_power_system_off(); with: delegate to NRF52Board::powerOff() so shutdownPeripherals() runs (LR2021 reset + sleep(), GPS stop) before SYSTEMOFF.
void powerOff() override {
#ifdef HAS_GPS
digitalWrite(GPS_VRTC_EN, LOW);
digitalWrite(GPS_RESET, LOW);
digitalWrite(GPS_SLEEP_INT, LOW);
digitalWrite(GPS_RTC_INT, LOW);
digitalWrite(GPS_EN, LOW);
#endif
#ifdef PIN_DRV_EN
digitalWrite(PIN_DRV_EN, LOW);
#endif
#ifdef PIN_BAT_ADC_EN
digitalWrite(PIN_BAT_ADC_EN, LOW);
#endif
#ifdef PIN_3V3_EN
digitalWrite(PIN_3V3_EN, LOW);
#endif
// set led on and wait for button release before poweroff
#ifdef LED_PIN
digitalWrite(LED_PIN, HIGH);
#endif
#ifdef BUTTON_PIN
while(digitalRead(BUTTON_PIN));
#endif
#ifdef LED_PIN
digitalWrite(LED_PIN, LOW);
#endif
#ifdef BUTTON_PIN
nrf_gpio_cfg_sense_input(BUTTON_PIN, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
#endif
NRF52Board::powerOff();
}
- 主要语言
- C
- 星标
- 3.9k
- 派生
- 1.5k
- 平均合并
- 18 小时 59 分钟
- 30 天内合并 PR
- 28
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
meshcore-dev/MeshCore 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 63/100
meshcore-dev/MeshCore#3622 ·
维护者通常 1 天内回复
-
[Feature Request] Set Australia (Mid) Preset to automatically enable 2 byte default path hash size未关闭
难度 2/5 1-3 小时 新手友好度 62/100
meshcore-dev/MeshCore#3571 · 5 个 reaction ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
meshcore-dev/MeshCore#3549 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 77/100
meshcore-dev/MeshCore#3513 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100
meshcore-dev/MeshCore#3409 · 2 条评论 ·
维护者通常 1 天内回复
查看 meshcore-dev/MeshCore 的全部 Issue
相似的 Issue
-
bug
难度 1/5 1 小时以内 新手友好度 84/100
VirusTotal/yara#2255 ·
-
[BUG] Filename sequence expansion (`+`) panics on numeric values exceeding `i32::MAX`可能已有人在做 @muntasir-396 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
CCExtractor/ccextractor#2402 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
FujiNetWIFI/fujinet-lib#204 ·
维护者通常 1 天内回复
-
os:linux
难度 2/5 1-3 小时 新手友好度 66/100
mpv-player/mpv#18649 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
facebookincubator/muse-gadget-sdk#249 ·
维护者通常 1 天内回复