WDHold and Sw_Bus_Prime both assigned pin 23 — ResetWD() glitches primary power bus
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- arduino, cpp
- Ambito
- embedded-iot
Direzione di ricerca
Start by reading the pin assignments in src/Okapi.h, then trace begin() and ResetWD() and the four active Run() call sites named in the issue. Confirm the board's pin constraints and whether the signals are intended to share a pin before choosing a fix; done means watchdog resets no longer glitch the primary power bus, with the shared-pin behavior documented if intentional.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug
In src/Okapi.h, two member variables are both assigned Arduino pin 23:
uint8_t WDHold = 23;
uint8_t Sw_Bus_Prime = 23;
ResetWD() pulses WDHold HIGH then LOW (5 µs LOW pulse) to feed the external watchdog. Because Sw_Bus_Prime is the same physical pin — held HIGH in begin() to enable the primary power rail — every ResetWD() call briefly pulls the power bus LOW.
ResetWD() was previously commented out everywhere in Run(); commit 7c04bf1 enabled it in four active call sites (NewLog path, LogEvent/alarm-reset path, ManualLog path, ExtIntTripped path), so this glitch now fires multiple times per duty cycle.
Failure scenario
Any I2C or SPI transaction in progress when ResetWD() fires sees a momentary power rail droop. On a battery/solar system with marginal capacitance this causes I2C NACKs, SD write corruption, or sensor read failures every duty cycle.
Possible causes
Either WDHold should be a different pin, or Sw_Bus_Prime should be a different pin, or both signals intentionally share a pin (in which case ResetWD() needs a null-pin guard and the shared assignment should be documented).
Severity
High — active in every duty cycle once ResetWD() is enabled.
🤖 Generated with Claude Code
- Lingua principale
- C++
- Stelle
- 1
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NorthernWidget/Okapi_Library
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di NorthernWidget/Okapi_Library
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
AcademySoftwareFoundation/Imath#611 ·
I maintainer di solito rispondono entro 1 giorno
-
bug intrinsic low priority rt_lib
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
The Outdated Version prompt shows the release tag as unescaped HTMLForse già presa @on8st l’ha presa oggi. Apertabug good first issue GUI maintainer-review priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
aethersdr/AetherSDR#6405 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
bitcoin-core/gui-qml#1003 ·
I maintainer di solito rispondono entro 3 giorni
-
fails to compile with Qt6Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100