TPL5111 hardware watchdog timer not suppressible by firmware
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- embedded-iot
- Área
- embedded-iot
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- G-code
- Estrellas
- 8
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NorthernWidget/Project-Okapi
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
IC1 AREF tied directly to AVCC (5V_AUX) with no bypass cap — internal reference conflict riskAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Re-land the charger's !FAULT trace on !SHDN so the firmware can detect a LiPo cell under sunAbiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
Todos los issues de NorthernWidget/Project-Okapi
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
zephyrproject-rtos/zephyr#123881 ·
Los mantenedores suelen responder en 2 días
-
hw-verify platform:k2
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
prestonbrown/helixscreen#1933 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
emsesp/EMS-ESP32#3329 · 2 comentarios ·
Los mantenedores suelen responder en 1 día