Power diagnostic on the LED grid at start-up: LiPo, solar, alkaline
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- arduino, cpp
- 领域
- embedded-iot
调研方向
Start with Okapi.cpp:397 to determine which voltage reading corresponds to the LiPo, then read readOnBoard() and powerAuto() for the existing power measurements and rail selection. Review NW-Status/studies/okapi-leds/ and the Okapi section of NW-Status/QUEUE.md for the design context. Done means the three sources show the specified levels for three seconds at startup, with charging and USB-only cases handled, messages raised as needed, and the LED driver asleep between displays.
由索引模型根据 Issue 内容生成。
描述
Show the state of Okapi's three power sources on the LED grid at start-up, even when none is in a warning zone, so that the installer knows the overall picture before walking away. This is the one deliberate exception to "dark means fine" on the grid, for the same reason the READY chirp exists: the person is standing there, and the question after "is it logging" is "how are the batteries".
The grid as it is laid out (Project-Okapi/Hardware/Okapi.brd, board held USB-C down):
| A | B | C | |
|---|---|---|---|
| row 3 | red | – | green |
| row 2 | yellow | green | yellow |
| row 1 | green | yellow | red |
With fixed cell colours a column is a three-level gauge: one cell lit at the level.
Proposed display, for the three-second window at start-up, then dark:
| Column | Source | Lit cell |
|---|---|---|
| A | rechargeable (LiPo) | A1 green good, A2 yellow middling, A3 red low or absent |
| B | solar | B2 green charging, B1 yellow no charge current |
| C | alkaline primary | C3 green good, C2 yellow middling, C1 red low or absent |
The status RGB LED keeps Margay's patterns unchanged; the grid shows only what Okapi has and Margay does not.
What must exist first, in order. Today readOnBoard() logs VBeta, VPrime, ISolar and IBeta, and powerAuto() tells which rail came up; nothing raises a message.
- Decide which of VBeta and VPrime is the LiPo (the open comment at
Okapi.cpp:397). - A LiPo voltage-to-level curve. Margay's alkaline fit does not apply.
- Two band thresholds per chemistry, in Page 1's battery block (Blocks 0–1 are provisioned for this).
- A definition of "charging": ISolar above a floor, or the LT3652's
!CHRGline, which reaches the I/O expander at GPA3 and is never read. Check what ADS1115 channel 1 measures, sinceV_SOLAR_SENSEgoes to the PAC1934. - The USB-only discriminator, so a benched board with no pack fitted does not show red (the four bench readings in NW-Status/QUEUE.md).
- Messages:
BATTERY_LOWexists and is raised nowhere; add the backup-in-use message from_powerState. - The PCA9634 driver: wake, LEDOUT, sleep, with pin 0 reclaimed from the stale
ADC_Sense_SWdefine. Awake it draws 2.5 mA against an 80 µA sleep budget, so it sleeps between displays.
Hardware, while the boards are not yet made (Project-Okapi): label the columns on the silk (LiPo, SOLAR, AA) and mark column C's direction, or fit column C's LEDs the same way up as A. The current labels sit on the documentation layer, not the silkscreen.
Design notes and the studies behind them: NW-Status/studies/okapi-leds/ and the "Okapi's grid carries what Okapi has and Margay lacks" section of NW-Status/QUEUE.md.
🤖 Generated with Claude Code
- 主要语言
- C++
- 星标
- 1
- 派生
- 0
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NorthernWidget/Okapi_Library 的其他 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 76/100
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 1/5 1 小时以内 新手友好度 88/100
-
enhancement
难度 4/5 3-5 天 新手友好度 25/100
-
enhancement
难度 5/5 一周以上 新手友好度 25/100
NorthernWidget/Okapi_Library#10 · 1 条评论 ·
查看 NorthernWidget/Okapi_Library 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 64/100
sandialabs/Fenix#172 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
scp-fs2open/fs2open.github.com#7953 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
SteveMacenski/slam_toolbox#907 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复