Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Power diagnostic on the LED grid at start-up: LiPo, solar, alkaline

Abierto
#9 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
arduino, cpp
Área
embedded-iot

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

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.

  1. Decide which of VBeta and VPrime is the LiPo (the open comment at Okapi.cpp:397).
  2. A LiPo voltage-to-level curve. Margay's alkaline fit does not apply.
  3. Two band thresholds per chemistry, in Page 1's battery block (Blocks 0–1 are provisioned for this).
  4. A definition of "charging": ISolar above a floor, or the LT3652's !CHRG line, which reaches the I/O expander at GPA3 and is never read. Check what ADS1115 channel 1 measures, since V_SOLAR_SENSE goes to the PAC1934.
  5. 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).
  6. Messages: BATTERY_LOW exists and is raised nowhere; add the backup-in-use message from _powerState.
  7. The PCA9634 driver: wake, LEDOUT, sleep, with pin 0 reclaimed from the stale ADC_Sense_SW define. 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

https://claude.ai/code/session_01BazaY6meA6yMRDeuUsv1Wd

Lenguaje dominante
C++
Estrellas
1
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NorthernWidget/Okapi_Library

Todos los issues de NorthernWidget/Okapi_Library

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.