TPL5111 hardware watchdog timer not suppressible by firmware
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- embedded-iot
- Ambito
- embedded-iot
Direzione di ricerca
Inspect the hardware schematic and PCB connections for the TPL5111, the DONE signal to the ATmega1284P, and the DELAY resistor. Verify the IC designator and resistor value, calculate the current timeout, and determine whether the revision should document firmware feeding or pursue the proposed firmware-controlled enable; done means the timeout and selected approach are confirmed.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The TPL5111 (nano-power timer) is used as a hardware watchdog that periodically resets the board if the MCU fails to strobe the DONE pin. Once the TPL5111 is active, firmware has no way to disable or extend the timeout beyond the hardware-set interval — if the board needs to perform a long-duration operation (e.g., writing a large log file, waiting for cellular registration, firmware OTA update), it must continuously strobe DONE or risk a spurious reset.
Specific concerns
OTA firmware update:
The Particle B-Series module supports OTA firmware updates. An update can take several minutes depending on cellular conditions. If the TPL5111 timeout is shorter than the OTA window and firmware is unable to strobe DONE while the modem is occupied, the board will reset mid-update, potentially corrupting the firmware image.
Cellular registration:
In poor-signal areas, initial cellular registration (attach + PDP context) can take 2–10 minutes. The ATmega must strobe DONE during this window, which means firmware must handle the TPL5111 feed loop separately from the cellular wait loop.
Long sensor acquisition:
Some sensor integrations (e.g., SDI-12 sensor with long command timeout) block the MCU for extended periods. If these exceed the watchdog interval, a reset occurs.
TPL5111 timeout setting
The timeout is set by a single resistor on the TPL5111 DELAY pin. This is a fixed hardware value and cannot be changed in software.
Recommended approaches
Option A — Firmware must always strobe DONE:
Accept the current design and require firmware to be structured around always being able to strobe DONE within the timeout period. Document the timeout value prominently for firmware authors.
Option B — Add a firmware-controlled enable on TPL5111 (preferred):
The TPL5111 has an active-low enable pin (!EN or equivalent — verify in datasheet). If connected to a GPIO rather than hard-wired to GND, firmware can:
- Disable the watchdog before entering a long operation
- Re-enable it afterward
This is a hardware change requiring a PCB respin.
Option C — Increase the timeout resistor:
Set the DELAY resistor for a longer timeout (maximum is ~7200 s per the datasheet). Longer timeout reduces protection efficacy but reduces the risk of spurious resets during legitimate long operations.
Affected components
- U? (verify designator): TPL5111 nano-power timer
- DONE signal connection to IC1 (ATmega1284P) GPIO
- DELAY resistor (verify designator and value)
Action required for current revision
Confirm the timeout value set by the DELAY resistor and document it. Ensure all planned firmware use cases (OTA, cellular registration, long sensor reads) can feed the watchdog within that interval.
🤖 Generated with Claude Code
- Lingua principale
- G-code
- Stelle
- 8
- Fork
- 2
- 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/Project-Okapi
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
IC1 AREF tied directly to AVCC (5V_AUX) with no bypass cap — internal reference conflict riskApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di NorthernWidget/Project-Okapi
Issue simili
-
ESP32: compile the subject debug registry out of the UI_MANAGED_SUBJECT macros (est. 80-100 KB)Apertaenhancement tech-debt
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
prestonbrown/helixscreen#1914 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
PcntUnitDriver::drop leaks the PCNT unit: pcnt_del_unit is called before the channels are deletedApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
-
Add masked GPIO pull configuration APIsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
raspberrypi/pico-sdk#3279 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Open-Agriculture/AgIsoStack-plus-plus#816 ·
I maintainer di solito rispondono entro 1 giorno