auto-sync 2026-10-01 18:00

This commit is contained in:
Leopoldo Rodríguez 2026-10-01 18:00:15 -06:00
parent 960ba05dda
commit 93cdd04000
16 changed files with 173 additions and 75 deletions

View File

@ -1,8 +1,8 @@
a68a87ff1f6b34a8284e9e5e32c95da7bb8d8adc071c5fd64412a3e744e46b28 hbox-tarjetaV3_4.0.0.bin
1458470bbdd95b490969976402bf2144a773a991b7650c55e3281687ba77b2e3 hbox-tarjetaV4_0.6.0.bin
8a0ee4839763eae8c96e990eb471dae30f0a491bfb9bd81fdfb39ee69436790a hbox-v5-bringup_0.6.0.bin
ec7425ace7a43d36238ecf9536c82d06b6f9b5304aad49748031ebe35b5167af prueba/hbox-tarjetaV4_0.6.2.bin
3a183fccfbff32bc7f686ff5c68d959b783c910c2ae6b668e9ea069f90f76ebf prueba/hbox-v5-bringup_0.6.2.bin
a6c3b4677fa696bb08b99abae70d464c8593aad8be0d3f3883815d3769e0d281 prueba/hbox-tarjetaV4_0.6.3.bin
3641159a4c68ef093a0e5ab3402356254a8165b2ce1b77d8ad2362415b0d7edd prueba/hbox-v5-bringup_0.6.3.bin
035ebeb348461765f099341603a9e99b94512f8477509efb78aa7caf953f4c2f superseded/hbox-tarjetaV3_3.0.4.bin
4528187f9d675bca8114583d44eccf4d2149d847f7e5fc402631d8811ee39282 superseded/hbox-tarjetaV4_0.5.1.bin
fa2b7554099b332c70ab18cde24b30a4f0a46ac01987466e491c69b308783a5a superseded/hbox-tarjetaV4_0.5.2.bin
@ -14,6 +14,7 @@ c96041aea04b1e6500ec45b558bdfcf5db94d102666a71f1b3c9d2364e40572a superseded/hbo
2e04b65f8ef1636d76f070e49e050c5d7ff6f60620eebaa452ec26baf9e9e7ab superseded/hbox-tarjetaV4_0.5.8.bin
582969957a1d67ce80e9e7a603dd66af4fcffeb82930f9e508fd360d6a289f9c superseded/hbox-tarjetaV4_0.5.9.bin
ef43a901ae9a875e6346ae8f84cc5f150a2419ff7cd577fe8f69780236840757 superseded/hbox-tarjetaV4_0.6.1.bin
ec7425ace7a43d36238ecf9536c82d06b6f9b5304aad49748031ebe35b5167af superseded/hbox-tarjetaV4_0.6.2.bin
a8de74b3d7768e9d5656ae0bff05475445c0cd2599ecfdc4ab081e517ed3d6ef superseded/hbox-v5-bringup_0.4.0.bin
e1f351084e803306c376989b284ca0f9f9f1a3445e59494f8a5ff7a9652ad44c superseded/hbox-v5-bringup_0.5.1.bin
a9b0d6c1c640ebc9a132236ca465cad04e8eed99962b7dc6024b6ee8b765d2d6 superseded/hbox-v5-bringup_0.5.2.bin
@ -25,3 +26,4 @@ aed644c28fc3a098eedda55c7b4c2108b8ca9afcf0763b9bf85a7a2e1b4dd715 superseded/hbo
5b0cbf271711c72d10a795b4c1f96f97bc520cc50c8a24c2188e95fb33005760 superseded/hbox-v5-bringup_0.5.8.bin
98b12de64339ed34c45b59e48139d57304281e1041d11564c741407b960150e0 superseded/hbox-v5-bringup_0.5.9.bin
6fbbc583ac2415a742ed062c1208d4a807e61085eb2615d76e4c6da400961ad2 superseded/hbox-v5-bringup_0.6.1.bin
3a183fccfbff32bc7f686ff5c68d959b783c910c2ae6b668e9ea069f90f76ebf superseded/hbox-v5-bringup_0.6.2.bin

View File

@ -55,12 +55,13 @@ TCP a `192.168.7.1:5010` (portátil con `nc -lk 5010`), por donde salen en espej
Cable directo al portátil (Auto-MDIX) o cualquier switch. Overrides: `-DETH_IP=a,b,c,d -DETH_SERVER_IP=a,b,c,d
-DETH_SERVER_PORT=n -DETH_DHCP=0`. Tecla `E` = on/off. Ver CHANGELOG 0.6.0-eth.
### Simulador en PC (0.6.1, ampliado en 0.6.2) — `../tools/hostsim_v5`
### Simulador en PC (0.6.1, ampliado en 0.6.2 y 0.6.3) — `../tools/hostsim_v5`
Antes de flashear un cambio del gobernador de carga, del riel o del `$PHLG`, correr el simulador: compila este sketch sin
cambios contra stubs y un modelo eléctrico de la entrada de 5 V (calibrado con H0027) y revisa 24 escenarios (ráfagas del
cambios contra stubs y un modelo eléctrico de la entrada de 5 V (calibrado con H0027) y revisa 54 escenarios (ráfagas del
módem, cable débil, desconexión del 24 V, hiccup, batería mala, pausa NTC, autoprueba `r`, vuelta del `millis()`, VDDA,
formato del `$PHLG`/`$PHCG` y largo de las líneas que van al módem, tecla `X`) más un invariante de seguridad del
cargador en cada vuelta del lazo.
formato del `$PHLG`/`$PHCG` y largo de las líneas que van al módem, tecla `X`; desde 0.6.3 también respaldo corto con el
paquete bajo, motivo del reset en el RTC y espera de carga creciente, `CHG_NOCHG`, SLEEP con la media y la vigilancia del
módem con histéresis) más un invariante de seguridad del cargador en cada vuelta del lazo.
```bash
bash ../tools/hostsim_v5/run.sh # todo PASS = exit 0
bash ../tools/hostsim_v5/run.sh /ruta/a/otra/copia old # mismos escenarios contra otra versión (p. ej. 0.6.0)
@ -78,6 +79,21 @@ python3 ../tools/phtst_report.py H0027.txt
```
Da el límite por línea, si el módem corta por línea o por ráfaga, y si recorta las líneas en vez de descartarlas.
### Diagnóstico de campo (0.6.3)
- **Reset al volver el 5 V:** tras ≥ 10 s de respaldo (0.5.9) y también tras ≥ 1 s si la media de 200 ms del paquete bajó de
3.70 V (`BACKUP_WEAK_VBAT`): con el paquete bajo el módem se apaga en el boost. Antes del reset sale en banda
`$PHEV PWR_RETURN_RESET,<razón>`.
- **Motivo del reset anterior:** queda en los registros de respaldo del RTC (BKP16R–BKP18R; BKP19R lo usa la autoprueba
`RTC_BKP`) y sale en consola (`EVT RESET anterior: …`) y en `$PHEV BOOT … prev=<razón>[+carga] n=N`. Con `+carga` (el 5 V se
cayó < 10 s después de arrancar la carga) la espera de carga del arranque siguiente es 120 s × 2^n, hasta 30 min.
- **`CHG_NOCHG` / `STAT ltc=C8_BAJO`:** carga permitida, pulso de rearranque ya probado y el LTC4040 en «C/8» con el paquete
bajo 3.80 V: revisar JP2/JP3/JP4 (flotación) y el paquete.
- **`STAT phlg_aire= phcg_aire= aire_max=`** y tecla **`t`** (`aire> …`, las dos líneas exactas que van al módem, con su
largo): para separar «la unidad no manda» de «el servidor no muestra».
- **Vigilancia del módem** (`STAT sag5= sagb= flat= modem=`, `$PHEV MODEM_DARK/MODEM_BACK`, solo diagnóstico): 4 ventanas
seguidas < 30 mV = oscuro, ≥ 50 mV = vivo (`sag5` en 24 V, `sagb` en batería); las ventanas con un cambio de
alimentación o de la corriente de carga no cuentan.
## Puente 0.5.6 — MODEM_RST desde el MCU (V4 y V5)
El módem 4G (socket J7/J8) solo tiene su reset (`MODEM_RST`, J7.5) en el botón `SW4G1`. Desde 0.5.6 el firmware

View File

@ -1,10 +1,10 @@
---
title: "Descargas"
tags: [project-drogheda, hbox, descargas, firmware, v3, v4, v5, modem, zed-f9p]
date: 2026-09-30
date: 2026-10-01
project: Project Drogheda
author: Helgen Technologies
version: "2.2"
version: "2.3"
---
# Descargas
@ -42,19 +42,24 @@ Un binario por tarjeta. El nombre lleva la tarjeta y eso manda; el número de ve
0.6.0 CAMPO (V4 y V5): cargador con gobernador (hasta 0.5.9 estaba apagado, paquete de un solo uso); en batería la etapa y el módem siguen encendidos y reportando igual que en 24 V (la V5.5 no arranca el módem en frío sobre el boost, ver [módem en batería](../procedimientos/prueba-bateria-modem.md#3-hallazgos-2527-sep)); ningún ciclo de etapa en batería; corte a 3.40 V; reset del MCU al volver el 5 V tras ≥ 10 s de respaldo; vigilancia del módem solo diagnóstica (`modem=` en `STAT`); teclas `C`/`M`/`R`. 0.5.1 fue la última embarcada antes de 0.6.0. Qué cambió en cada versión y por qué: **[notas de versión](notas-de-version.md)**.
!!! danger "0.6.1 retirada (29-sep): no la flashees"
Su `$PHLG` de 36 campos (125–131 caracteres) no pasa por el módem 4G NTRIP Master, que descarta las líneas largas: el monitor se queda sin Salud ni Energía (batería, carga, temperaturas). El gobernador de 0.6.1 sí funcionaba. 0.6.2 lleva el mismo gobernador y manda la telemetría en dos líneas cortas; está publicada solo para prueba de banco (abajo). Detalle: [notas de versión](notas-de-version.md#por-que-se-retiro-061).
Su `$PHLG` de 36 campos (125–131 caracteres) no pasa por el módem 4G NTRIP Master, que descarta las líneas largas: el monitor se queda sin Salud ni Energía (batería, carga, temperaturas). El gobernador de 0.6.1 sí funcionaba. 0.6.2 y 0.6.3 llevan el mismo gobernador y mandan la telemetría en dos líneas cortas; 0.6.3 está publicada solo para prueba de banco (abajo). Detalle: [notas de versión](notas-de-version.md#por-que-se-retiro-061).
!!! warning "0.6.2 EN PRUEBA DE BANCO (30-sep): solo para ingeniería y el banco, no flashear en campo"
El gobernador de 0.6.1 con la telemetría arreglada: en banda el `$PHLG` va con los campos 1–24 y una línea nueva, `$PHCG`, lleva el resto (fuente, uptime y estado del gobernador); las dos de 100 caracteres o menos. Tecla `X`: prueba del largo de línea que deja pasar el módem. En campo sigue 0.6.0 hasta que 0.6.2 pase el banco (H0027 primero).
!!! warning "0.6.3 EN PRUEBA DE BANCO (1-oct): solo para ingeniería y el banco, no flashear en campo"
Sustituye a 0.6.2 (prueba del 30-sep), con la misma telemetría y los mismos cortes del gobernador de carga. Lo que trae, por el banco del 30-sep:
Antes de flashearla, el servidor tiene que tener el `retranslator.py` con `$PHCG` (htracker, 30-sep). Con el viejo, el monitor no ve la fuente, el uptime ni el gobernador de esa unidad.
- **El módem que se apaga en un respaldo corto vuelve solo.** En la V5 del banco el 24 V se fue 9 s con el paquete en ~3.5 V. En el boost el módem se apagó y, como 0.6.2 solo resetea tras ≥ 10 s de respaldo, quedó oscuro («el 4G no enciende») hasta que alguien apretó reset. 0.6.3 también resetea al volver el 24 V tras ≥ 1 s de respaldo si el paquete bajó de 3.70 V.
- **El motivo de cada reset llega al servidor** (`$PHEV BOOT … prev=…`). Si fue la carga la que tumbó la fuente, la siguiente carga espera 4, 8, 16 y hasta 30 min en vez de repetir el reset cada ~2.5 min.
- **Aviso cuando el cargador no carga un paquete bajo** (`CHG_NOCHG`, `STAT ltc=C8_BAJO`): revisar JP2/JP3/JP4 y el paquete.
- Corte de 3.40 V en batería con la media de 200 ms; vigilancia del módem sin falsas alarmas; `STAT phcg_aire=`; tecla `t` con las líneas exactas que van al módem; autopruebas `RTC_BKP` y `TMP102` contra el SHT40.
El servidor es el mismo de 0.6.2: el `retranslator.py` con `$PHCG` (htracker, 30-sep). Si una unidad 0.6.2 o 0.6.3 sale en el monitor sin fuente (vehículo / batería), sin uptime y sin fase del gobernador, el servidor no está corriendo esa versión; no es el firmware ([cómo comprobarlo](notas-de-version.md#063-en-prueba)).
| Tarjeta | Binario de prueba | Tamaño | SHA-256 |
|---|---|---|---|
| V4 | [`prueba/hbox-tarjetaV4_0.6.2.bin`](prueba/hbox-tarjetaV4_0.6.2.bin) | 95 692 B | `ec7425ace7a43d36…` |
| V5 / V5.5 | [`prueba/hbox-v5-bringup_0.6.2.bin`](prueba/hbox-v5-bringup_0.6.2.bin) | 96 180 B | `3a183fccfbff32bc…` |
| V4 | [`prueba/hbox-tarjetaV4_0.6.3.bin`](prueba/hbox-tarjetaV4_0.6.3.bin) | 99 152 B | `a6c3b4677fa696bb…` |
| V5 / V5.5 | [`prueba/hbox-v5-bringup_0.6.3.bin`](prueba/hbox-v5-bringup_0.6.3.bin) | 99 640 B | `3641159a4c68ef09…` |
Qué probar y qué debe verse: [notas de versión → 0.6.2](notas-de-version.md#062-en-prueba). Para leer la prueba de la tecla `X`: [`prueba/phtst_report.py`](prueba/phtst_report.py) (Python 3).
Qué probar y qué debe verse: [notas de versión → 0.6.3](notas-de-version.md#063-en-prueba). La prueba de largo de línea (tecla `X`, de 0.6.2) sigue igual: [`prueba/phtst_report.py`](prueba/phtst_report.py) (Python 3). Los binarios de 0.6.2 pasaron a `superseded/`.
!!! warning "No se cruzan"
- `hbox-v5-bringup_…` (F411RE soldado) en una V3 o V4: otro MCU y otro mapa de pines. La V4 usa `hbox-tarjetaV4_…`.
@ -63,7 +68,7 @@ Un binario por tarjeta. El nombre lleva la tarjeta y eso manda; el número de ve
- Nada de `prueba/` en campo: son builds para el banco hasta que pasen y entren a la tabla de vigentes.
- Nada que no esté publicado aquí con su SHA-256. Los `.bin` de V3 y V4 no viven en el repositorio; se compilan, se prueban en banco y se publican ([reflasheo §5](../procedimientos/reflasheo-unidades.md#5-para-ingenieria-generar-y-publicar-un-binario)).
Las tres tarjetas mandan la misma trama: `$PHLG` de 29 campos cada 30 s y un `$PHEV` por cambio de estado, en banda por el módem (Modo B). El monitor la parsea igual (`retranslator.py`: 20 campos base + 4 de v3 + 5 de 0.5.1, y `$PHEV`) y las tres se ven igual en Salud. Ninguna línea en banda puede pasar de lo que deja pasar el módem: hasta 105 caracteres está probado; las de 125 o más (el `$PHLG` de 0.6.1) se pierden. El `$PHLG` de 29 campos crece con el tiempo encendida (`up_s` y `rx_count` ganan dígitos): ~102 caracteres al arrancar, ~108 tras unas horas, ~113 a los 12 días. 0.6.2 (en prueba) manda en banda el `$PHLG` con los campos 1–24 y aparte una `$PHCG`, las dos de 100 caracteres o menos; su tecla `X` mide el límite exacto.
Las tres tarjetas mandan la misma trama: `$PHLG` de 29 campos cada 30 s y un `$PHEV` por cambio de estado, en banda por el módem (Modo B). El monitor la parsea igual (`retranslator.py`: 20 campos base + 4 de v3 + 5 de 0.5.1, y `$PHEV`) y las tres se ven igual en Salud. Ninguna línea en banda puede pasar de lo que deja pasar el módem: hasta 105 caracteres está probado; las de 125 o más (el `$PHLG` de 0.6.1) se pierden. El `$PHLG` de 29 campos crece con el tiempo encendida (`up_s` y `rx_count` ganan dígitos): ~102 caracteres al arrancar, ~108 tras unas horas, ~113 a los 12 días. 0.6.2 y 0.6.3 (en prueba) mandan en banda el `$PHLG` con los campos 1–24 y aparte una `$PHCG`, las dos de 100 caracteres o menos; su tecla `X` mide el límite exacto.
!!! warning "V3 4.0.0: todavía no en unidades de campo"
Compila y pasa el simulador, pero no ha corrido en una EinarBoard 1.0 real. Solo en la mesa de ingeniería hasta que se pruebe en banco (RTK-003 o RTK-006) y se quite este aviso. 4.0.0 activa Modo B por omisión (el MCU queda en línea con el enlace de correcciones), así que la primera prueba es en par: el binario publicado y uno sin Modo B sobre la misma unidad. Si el fix RTK cae al energizar K1, o `v5min` se hunde en ese instante, sospecha de la bobina de K1 llevando el riel al PFI del LTC4040.
@ -77,7 +82,7 @@ Las tres tarjetas mandan la misma trama: `$PHLG` de 29 campos cada 30 s y un `$P
No se podía encender el cargador sin más: en V5.5/V4 `RS1` 8 mΩ → límite de entrada del LTC4040 ≈ 3.1 A (más que los 3 A del SD-15B) y `R50` 825 Ω → 2.4 A de carga; paquete vacío + etapa + ráfaga LTE hunden el riel hasta el PFI del LTC4040 y la unidad entra en bucle (incidente de flota 10-ago). H0008 amaneció a 3.50 V tras una noche en batería y seguía "sin cargar" en 24 V.
El gobernador de 0.6.0 (vigente) carga solo con etapa ON en 24 V; nunca en los primeros 120 s tras boot ni tras cada STACK ON; arranca tras 30 s de riel ≥ 5.05 V; corta al instante si una muestra baja de 4.90 V, con enfriamiento de 60 s a 30 min; inhibe con celda ≥ 45 °C; rearma el safety timer del LTC4040. Con la ruta de 5 V justa (riel cerca de 5.0 V al cargar) cualquier ráfaga del módem corta la carga: la batería carga poco y el monitor casi nunca muestra 🔌 CARGANDO. Eventos `CHG_ON/CHG_SHED/CHG_OFF/CHG_HOT/CHG_COOL/CHG_PULSE`; `STAT` → `carga=FASE … ltc=CARGANDO|no cortes=`; tecla `C` = veto. El monitor muestra 🔌 CARGANDO solo con `chg=1` en `$PHLG`. 0.6.2 (en prueba de banco, arriba) corrige los cortes y manda el estado del gobernador al monitor ([notas de versión](notas-de-version.md#062-en-prueba)); su prueba de banco: [módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-062). Si corta sin parar: ruta de 5 V débil hasta P2 ([regla](notas-de-version.md#el-limite-de-la-ruta-de-5-v)) o fuente sin margen de corriente (el SD-15B da 3 A; carga + etapa piden ~2.8 A). La V5.6 (`RS1` 10 mΩ, `R50` 1.5 kΩ) pide mucho menos.
El gobernador de 0.6.0 (vigente) carga solo con etapa ON en 24 V; nunca en los primeros 120 s tras boot ni tras cada STACK ON; arranca tras 30 s de riel ≥ 5.05 V; corta al instante si una muestra baja de 4.90 V, con enfriamiento de 60 s a 30 min; inhibe con celda ≥ 45 °C; rearma el safety timer del LTC4040. Con la ruta de 5 V justa (riel cerca de 5.0 V al cargar) cualquier ráfaga del módem corta la carga: la batería carga poco y el monitor casi nunca muestra 🔌 CARGANDO. Eventos `CHG_ON/CHG_SHED/CHG_OFF/CHG_HOT/CHG_COOL/CHG_PULSE`; `STAT` → `carga=FASE … ltc=CARGANDO|no cortes=`; tecla `C` = veto. El monitor muestra 🔌 CARGANDO solo con `chg=1` en `$PHLG`. 0.6.3 (en prueba de banco, arriba; el mismo gobernador de 0.6.1 y 0.6.2) corrige los cortes y manda el estado del gobernador al monitor ([notas de versión](notas-de-version.md#063-en-prueba)); su prueba de banco: [módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-063). Si corta sin parar: ruta de 5 V débil hasta P2 ([regla](notas-de-version.md#el-limite-de-la-ruta-de-5-v)) o fuente sin margen de corriente (el SD-15B da 3 A; carga + etapa piden ~2.8 A). La V5.6 (`RS1` 10 mΩ, `R50` 1.5 kΩ) pide mucho menos.
### Monitor con builds de ciclo
@ -108,6 +113,7 @@ No se flashean. Sirven para identificar lo que trae una tarjeta vieja o para vol
| Archivo | Por qué se retiró |
|---|---|
| [`superseded/hbox-tarjetaV3_3.0.4.bin`](superseded/hbox-tarjetaV3_3.0.4.bin) | Lógica de campo (3.0.3) sin telemetría en banda: el monitor no ve Salud. Sustituida por 4.0.0. |
| [`superseded/hbox-v5-bringup_0.6.2.bin`](superseded/hbox-v5-bringup_0.6.2.bin) · [`superseded/hbox-tarjetaV4_0.6.2.bin`](superseded/hbox-tarjetaV4_0.6.2.bin) | Prueba de banco del 30-sep, sustituida el 1-oct por 0.6.3 (misma telemetría y mismo gobernador). Tras un respaldo corto con el paquete bajo el módem podía quedar oscuro hasta un reset. |
| [`superseded/hbox-v5-bringup_0.6.1.bin`](superseded/hbox-v5-bringup_0.6.1.bin) · [`superseded/hbox-tarjetaV4_0.6.1.bin`](superseded/hbox-tarjetaV4_0.6.1.bin) | No usar. Su `$PHLG` de 36 campos no pasa por el módem: el monitor pierde Salud y Energía. El gobernador corregido vuelve en 0.6.2 ([notas de versión](notas-de-version.md#por-que-se-retiro-061)). |
| [`superseded/hbox-v5-bringup_0.5.9.bin`](superseded/hbox-v5-bringup_0.5.9.bin) · [`superseded/hbox-tarjetaV4_0.5.9.bin`](superseded/hbox-tarjetaV4_0.5.9.bin) | Sin cargador (paquete de un solo uso). 0.6.0 añade el gobernador y nada más. |
| [`superseded/hbox-v5-bringup_0.5.8.bin`](superseded/hbox-v5-bringup_0.5.8.bin) · [`superseded/hbox-tarjetaV4_0.5.8.bin`](superseded/hbox-tarjetaV4_0.5.8.bin) | No usar. Recovery activo en batería: el silencio del ahorro provocaba "RTK perdido" y, probablemente, un ciclo de etapa que dejaba el módem oscuro hasta un reset (noche 26/27-sep). |
@ -120,11 +126,12 @@ No se flashean. Sirven para identificar lo que trae una tarjeta vieja o para vol
| [`superseded/hbox-v5-bringup_0.5.1.bin`](superseded/hbox-v5-bringup_0.5.1.bin) · [`superseded/hbox-tarjetaV4_0.5.1.bin`](superseded/hbox-tarjetaV4_0.5.1.bin) | Última de campo antes del ciclo de 10 min (en batería dejaba la etapa encendida hasta vaciar el paquete). |
| [`superseded/hbox-v5-bringup_0.4.0.bin`](superseded/hbox-v5-bringup_0.4.0.bin) | Sin `$PHLG` en banda. Sustituida por 0.5.1. |
??? note "Historial por versión, 0.4.0 → 0.6.2"
??? note "Historial por versión, 0.4.0 → 0.6.3"
- Desde 0.4.0: AUTO de fábrica (la etapa RTK enciende sola 3 s después de ver 5 V en P2); watchdog 16 s; ventilador (política v3.0.3); recuperación de enlace (ciclo de etapa si el F9P calla 60 s; LIMP tras 3 ciclos); LEDs de carga y color de estado; corte térmico 60 °C; corte de batería 3.40 V. Anota la versión en el acta.
- 0.6.2 (en prueba de banco desde el 30-sep, carpeta `prueba/`): el gobernador de 0.6.1; en banda `$PHLG` de 24 campos + `$PHCG` (fuente, uptime, gobernador), cada línea sola en el cable; tecla `X` (prueba de largo de línea). [Notas de versión](notas-de-version.md#062-en-prueba).
- 0.6.3 (en prueba de banco desde el 1-oct, carpeta `prueba/`): 0.6.2 + reset al volver el 5 V también tras ≥ 1 s de respaldo si el paquete bajó de 3.70 V (con el paquete bajo el módem se apaga en el boost); motivo del reset en `$PHEV BOOT … prev=`; espera de carga creciente si la carga tumbó la fuente; `CHG_NOCHG`; corte SLEEP con la media de 200 ms; vigilancia del módem con histéresis; `phcg_aire` y tecla `t` con `aire>`; autopruebas `RTC_BKP` y `TMP102` contra el SHT40. [Notas de versión](notas-de-version.md#063-en-prueba).
- 0.6.2 (prueba de banco del 30-sep; sustituida por 0.6.3, en `superseded/`): el gobernador de 0.6.1; en banda `$PHLG` de 24 campos + `$PHCG` (fuente, uptime, gobernador), cada línea sola en el cable; tecla `X` (prueba de largo de línea). [Notas de versión](notas-de-version.md#062-en-prueba).
- 0.6.1 (retirada el 29-sep): gobernador corregido, pero con un `$PHLG` de 36 campos que el módem descarta; el monitor se quedaba sin Salud. Ese gobernador vuelve en 0.6.2. [Notas de versión](notas-de-version.md#por-que-se-retiro-061).
- 0.6.0 CAMPO (vigente): 0.5.9 + gobernador de carga; con la ruta de 5 V justa corta la carga en cada ráfaga del módem (lo corrige 0.6.2).
- 0.6.0 CAMPO (vigente): 0.5.9 + gobernador de carga; con la ruta de 5 V justa corta la carga en cada ráfaga del módem (lo corrigen 0.6.2 y 0.6.3).
- 0.5.9 CAMPO: sin ciclo ni ahorro en batería (`ENABLE_DUTY 0`, `ENABLE_BATT_SAVER 0`); ningún ciclo de etapa en batería (`RECOVERY_ABORT`); reset del MCU al volver el 5 V tras ≥ 10 s; un reset en batería deja la etapa apagada hasta que vuelva el 5 V; vigilancia del módem: `STAT` con `rtcm_age= sta= rtcm_last= sag5= sagb= flat= modem=vivo|SOSPECHOSO|?`, eventos `MODEM_DARK`/`MODEM_BACK`/`MODEM_WATCH`. Con esos números se calibra 0.5.10.
- 0.5.8 CAMPO (retirada): nunca apaga el módem en batería (un módem ya encendido aguanta el paso de 24 V a batería); ráfaga de posición de ~8 s cada 10 min y `$PHLG` cada 3 min (`SAVER_ON`, `DUTY_SLEEP`/`DUTY_WAKE`, `ahorro=`); autonomía estimada ~30–35 h; recovery aún activo en batería.
- 0.5.7: cada despertar de batería (≥ 10 min tras la última ventana) y cada regreso del 5 V es un reset del MCU (`NVIC_SystemReset`, igual que P10): arranque en ~4 s; se pierden uptime y contadores. Tecla `R`. Un reset por SW1/P10 en batería abre ventana en 60 s y `P` se acepta en batería con vbat ≥ 3.60 V.
@ -185,5 +192,6 @@ Lista y comandos: [reflasheo §5](../procedimientos/reflasheo-unidades.md#5-para
| 2.0 | 2026-09-29 | Firmware 0.6.1 vigente en V4 y V5; 0.6.0 a `superseded/`; `$PHLG` de 36 campos; gobernador 0.6.1; [notas de versión](notas-de-version.md). |
| 2.1 | 2026-09-29 | 0.6.1 retirada (su `$PHLG` no pasa por el módem): 0.6.0 vigente otra vez; 0.6.2 en preparación. |
| 2.2 | 2026-09-30 | 0.6.2 publicada solo para prueba de banco, en `prueba/` (V4 `ec7425ac…`, V5 `3a183fcc…`), con `phtst_report.py`; 0.6.0 sigue vigente. |
| 2.3 | 2026-10-01 | 0.6.3 en prueba de banco, en `prueba/` (V4 `a6c3b467…`, V5 `3641159a…`); 0.6.2 a `superseded/`; 0.6.0 sigue vigente. |
Versiones anteriores en git.

View File

@ -1,10 +1,10 @@
---
title: "Notas de versión — firmware V4 / V5"
tags: [project-drogheda, hbox, firmware, notas-de-version, v4, v5, cargador, ltc4040, descargas]
date: 2026-09-30
date: 2026-10-01
project: Project Drogheda
author: Helgen Technologies
version: "1.2"
version: "1.3"
---
# Notas de versión — firmware V4 / V5
@ -15,13 +15,15 @@ Un solo código fuente (`hbox_v5_bringup`) para las dos tarjetas: la V5 usa `hbo
- **0.5.9**: en batería no se apaga ni cicla la etapa, pero **no carga**. La batería es de un solo uso.
- **0.6.0**: **carga**, con un gobernador que protege al módem. Pero con la ruta de 5 V justa cortaba la carga en cada ráfaga del módem, y el monitor casi nunca mostraba 🔌 CARGANDO.
- **0.6.1** (retirada al día siguiente): el gobernador distingue una ráfaga del módem de una fuente que no aguanta. Pero su `$PHLG` era demasiado largo para el módem y el monitor se quedó sin Salud ni Energía.
- **0.6.2** (en prueba de banco desde el 30-sep): el gobernador de 0.6.1, con la telemetría en dos líneas cortas que el módem sí deja pasar.
- **0.6.2** (prueba de banco del 30-sep, sustituida por 0.6.3): el gobernador de 0.6.1, con la telemetría en dos líneas cortas que el módem sí deja pasar.
- **0.6.3** (en prueba de banco desde el 1-oct): 0.6.2, y además el módem que se apagaba en un respaldo corto con el paquete bajo vuelve solo, el motivo de cada reset llega al servidor y la unidad avisa si el cargador no carga un paquete bajo.
## Estado al 30-sep-2026
## Estado al 1-oct-2026
| Versión | Fecha | Estado | Binarios |
|---|---|---|---|
| 0.6.2 | 29-sep | **En prueba de banco** desde el 30-sep (H0027 primero). No flashear en campo hasta que pase ([abajo](#062-en-prueba)) | [V5](prueba/hbox-v5-bringup_0.6.2.bin) · [V4](prueba/hbox-tarjetaV4_0.6.2.bin) |
| 0.6.3 | 1-oct | **En prueba de banco** desde el 1-oct. No flashear en campo hasta que pase ([abajo](#063-en-prueba)) | [V5](prueba/hbox-v5-bringup_0.6.3.bin) · [V4](prueba/hbox-tarjetaV4_0.6.3.bin) |
| 0.6.2 | 29-sep | Prueba de banco del 30-sep; sustituida por 0.6.3 el 1-oct ([abajo](#062-en-prueba)) | [V5](superseded/hbox-v5-bringup_0.6.2.bin) · [V4](superseded/hbox-tarjetaV4_0.6.2.bin) |
| 0.6.1 | 28-sep | **Retirada el 29-sep: no flashear.** Su telemetría no llega al monitor ([por qué](#por-que-se-retiro-061)) | [V5](superseded/hbox-v5-bringup_0.6.1.bin) · [V4](superseded/hbox-tarjetaV4_0.6.1.bin) |
| **0.6.0** | 27-sep | **Vigente otra vez.** Carga, pero con la ruta de 5 V justa se corta con las ráfagas del módem | [V5](hbox-v5-bringup_0.6.0.bin) · [V4](hbox-tarjetaV4_0.6.0.bin) |
| 0.5.9 | 27-sep | Retirada. No carga | [V5](superseded/hbox-v5-bringup_0.5.9.bin) · [V4](superseded/hbox-tarjetaV4_0.5.9.bin) |
@ -34,13 +36,13 @@ Lo confirmó el banco del 29-sep con H0027 en 0.6.1. La consola mostraba el `$PH
Consecuencia: una unidad con 0.6.1 manda posición y eventos, pero el monitor no ve batería, carga ni temperaturas. El gobernador en sí funcionaba bien (carga continua, sin cortes, aviso de ruta de 5 V débil).
Ojo con 0.6.0: su `$PHLG` crece con el tiempo encendida (`up_s` y `rx_count` ganan dígitos), de ~102 caracteres al arrancar a ~108 tras unas horas y ~113 a los 12 días. Hasta 105 está comprobado. Si el límite del módem queda por debajo, una unidad 0.6.0 que lleva mucho encendida deja de mandar Salud (la posición sigue). La tecla `X` de 0.6.2 dice dónde está el límite.
Ojo con 0.6.0: su `$PHLG` crece con el tiempo encendida (`up_s` y `rx_count` ganan dígitos), de ~102 caracteres al arrancar a ~108 tras unas horas y ~113 a los 12 días. Hasta 105 está comprobado. Si el límite del módem queda por debajo, una unidad 0.6.0 que lleva mucho encendida deja de mandar Salud (la posición sigue). La tecla `X` (0.6.2 y 0.6.3) dice dónde está el límite.
0.6.2 manda en banda el `$PHLG` con los campos 1–24 y, en el hueco siguiente, una línea `$PHCG` con el resto: las dos de 100 caracteres o menos aunque la unidad lleve meses encendida. El servidor las une en la salud de la unidad. Además trae una prueba desde la consola (tecla `X`) para medir el largo máximo que deja pasar el módem. Detalle: [0.6.2 en prueba](#062-en-prueba).
Desde 0.6.2 el firmware manda en banda el `$PHLG` con los campos 1–24 y, en el hueco siguiente, una línea `$PHCG` con el resto: las dos de 100 caracteres o menos aunque la unidad lleve meses encendida. El servidor las une en la salud de la unidad. Además trae una prueba desde la consola (tecla `X`) para medir el largo máximo que deja pasar el módem. Detalle: [0.6.2](#062-en-prueba).
## Comparación rápida
| | 0.5.9 | 0.6.0 | 0.6.1 → 0.6.2 |
| | 0.5.9 | 0.6.0 | 0.6.1 → 0.6.3 |
|---|---|---|---|
| Cargador (LTC4040) | Apagado por firmware (`CHRG_EN` alto) | Encendido por un gobernador | Gobernador corregido |
| Cuándo arranca la carga | Nunca | 24 V + etapa ON, ≥ 120 s tras el arranque y tras cada STACK ON, riel ≥ 5.05 V durante 30 s | Igual, midiendo la media del riel en 200 ms |
@ -49,15 +51,72 @@ Ojo con 0.6.0: su `$PHLG` crece con el tiempo encendida (`up_s` y `rx_count` gan
| Espera tras un corte | — | 60 s, se duplica en cada corte, tope 30 min | Igual, pero solo por cortes contados |
| Pulso de rearranque del LTC4040 | — | vbat < 3.90 V, 1 cada 30 min | Solo entre 3.00 y 3.80 V, nunca con FALLA del cargador |
| PFI que supone el firmware | — | 4.60 V (el de la V3) | 4.40 V (el real de V4 / V5.5) |
| `$PHLG` | 29 campos, `0.5.9-fm` | 29 campos, `0.6.0` | 0.6.1: 36 campos (el módem los descarta). 0.6.2: en consola 29 campos + `$PHCG`; en banda campos 1–24 + `$PHCG`, 100 caracteres o menos cada una |
| Monitor, columna Energía | «cargador OFF (fw)» | 🔌 CARGANDO solo si la muestra de cada 30 s cae cargando; si no, «sin cargar» (o ✅ CARGADA con ≥ 3.97 V y 5 V del vehículo) | 0.6.1: nada (no llega el `$PHLG`). 0.6.2: fase del gobernador («espera de arranque 2:30», «corte por riel»…), «cargó N %», «casi lleno», ✅ CARGADA |
| En batería | Etapa y módem encendidos, sin ciclos de etapa; corte a 3.40 V | Igual | Igual |
| Al volver el 24 V tras ≥ 10 s en batería | Reset del MCU | Igual | Igual |
| Build de banco con Ethernet | `0.6.0-eth` (sin cargador) | `0.6.0-eth` (con gobernador) | `0.6.1-eth` / `0.6.2-eth` (ya no repite el DHCP cada 5 s) |
| `$PHLG` | 29 campos, `0.5.9-fm` | 29 campos, `0.6.0` | 0.6.1: 36 campos (el módem los descarta). 0.6.2 y 0.6.3: en consola 29 campos + `$PHCG`; en banda campos 1–24 + `$PHCG`, 100 caracteres o menos cada una |
| Monitor, columna Energía | «cargador OFF (fw)» | 🔌 CARGANDO solo si la muestra de cada 30 s cae cargando; si no, «sin cargar» (o ✅ CARGADA con ≥ 3.97 V y 5 V del vehículo) | 0.6.1: nada (no llega el `$PHLG`). 0.6.2 y 0.6.3: fase del gobernador («espera de arranque 2:30», «corte por riel»…), «cargó N %», «casi lleno», ✅ CARGADA |
| En batería | Etapa y módem encendidos, sin ciclos de etapa; corte a 3.40 V | Igual | Igual. 0.6.3: el corte de 3.40 V va con la media de 200 ms (una ráfaga LTE ya no lo dispara) |
| Al volver el 24 V tras un respaldo | Reset del MCU tras ≥ 10 s | Igual | Igual. 0.6.3: también tras ≥ 1 s si el paquete bajó de 3.70 V; el motivo sale en `$PHEV BOOT` |
| Build de banco con Ethernet | `0.6.0-eth` (sin cargador) | `0.6.0-eth` (con gobernador) | `0.6.1-eth` … `0.6.3-eth` (ya no repite el DHCP cada 5 s) |
## 0.6.2 en prueba de banco (30-sep) {#062-en-prueba}
## 0.6.3 en prueba de banco (1-oct) {#063-en-prueba}
Publicada el 30-sep **solo para ingeniería y el banco** ([Descargas](index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta), carpeta `prueba/`). En campo sigue 0.6.0 hasta que 0.6.2 pase el banco con H0027. El gobernador es el de 0.6.1 sin cambios (sección siguiente); lo que cambia es cómo viaja la telemetría:
Publicada el 1-oct **solo para ingeniería y el banco** ([Descargas](index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta), carpeta `prueba/`). Sustituye a 0.6.2 con la misma telemetría (sirve el mismo servidor), los mismos cortes del gobernador de carga y el mismo encendido del módem. En campo sigue 0.6.0.
### Qué pasó en el banco del 30-sep con 0.6.2
- **V5, «el 4G no enciende».** A los 144 s del primer arranque, todavía sin cargar, el 24 V se fue 9 s y la etapa siguió con el boost sacando 3.52 V del paquete. Ahí se apagó el módem: sus ráfagas dejaron de verse en el riel (`sag5` de ~90 mV a 24 mV). Al volver el 24 V no hubo reset, porque la regla de 0.5.9 pide 10 s de respaldo o más (suponía el paquete cargado), y el módem quedó oscuro hasta que alguien apretó reset. Después del reset el módem volvió, pero el paquete no cargó: `CARGA ON`, pulso de rearranque y 27 min con el LTC4040 en «casi lleno» (C/8) con el paquete en 3.60 V. En un segundo corte de 24 V, con el paquete en 3.52 V, el módem se volvió a caer en batería. No es una regresión de 0.6.2: el encendido del módem no cambió.
- **V4, telemetría a medias.** La V4 mandaba bien sus dos líneas (`phlg_aire` subía cada 30 s, `aire_max` 89–91). Lo que faltaba en el monitor (fuente, uptime, fase del gobernador) es justo lo que trae la `$PHCG`: el servidor no estaba corriendo el `retranslator.py` con `$PHCG`. Eso se arregla en el servidor, no en el firmware.
### Qué cambia
- **Reset al volver el 24 V también tras un respaldo corto con el paquete bajo.** Si el respaldo duró 1 s o más y la media de 200 ms del paquete bajó de **3.70 V**, al volver el 24 V el MCU se resetea, igual que tras 10 s. El umbral queda entre los dos puntos del banco: la V5 a 3.52 V perdió el módem y la V4 a 3.91 V no. Es la media y no una muestra porque cada ráfaga LTE en batería hunde la lectura 0.1–0.2 V unos milisegundos. Antes del reset, `$PHEV PWR_RETURN_RESET` con la razón sale hacia el módem; llega al servidor solo si el módem seguía vivo (si no, el motivo llega igual en el `BOOT` siguiente).
- **El motivo del reset llega al servidor.** Queda guardado en el MCU (registros de respaldo del reloj: sobreviven al reset, no a un corte de energía) y sale en el `$PHEV BOOT` siguiente como `prev=paquete_bajo`, `respaldo_largo`, `etapa_apagada`, `operador` (tecla `R`)…, con `n=`.
- **Si la carga tumba la fuente, la carga espera más.** Si el 24 V se fue menos de 10 s después de arrancar la carga, el motivo lleva `+carga` y el arranque siguiente espera 4, 8, 16 y hasta 30 min para cargar en vez de 2. Sin esto, el reset borraba la espera del gobernador y la unidad se resetearía cada ~2.5 min. Vuelve a 2 min tras 5 min cargando de verdad.
- **Aviso cuando el cargador no carga un paquete bajo: `CHG_NOCHG`.** La carga está permitida, el pulso de rearranque ya se probó y el LTC4040 sigue diciendo «casi lleno» con el paquete bajo 3.80 V. No es el gobernador: la flotación del LTC4040 está fijada más baja que el paquete (JP2/JP3/JP4; JP2 en 2-3 = LiFePO4, 3.45–3.60 V; este firmware espera Li-ion de 4.00 V: F2 = 1, F1 = 0, F0 = 1) o el paquete está mal. En consola sale `CARGA permitida pero el LTC4040 NO carga …` y al servidor `CHG_NOCHG`, una vez (otra solo después de una carga real); `STAT ltc=C8_BAJO` mientras dure.
- **Corte de 3.40 V en batería con la media de 200 ms.** Con 0.6.2 una sola muestra dentro de una ráfaga podía apagar la etapa de un paquete a ~3.5 V.
- **Vigilancia del módem sin falsas alarmas (solo diagnóstico).** «Oscuro» tras 4 ventanas de 30 s seguidas con el riel plano (menos de 30 mV, en 24 V y en batería) y sin correcciones RTCM de menos de 2 min; «vivo» con 50 mV o más, o con RTCM reciente; entre medio no cambia. No cuentan las ventanas con un corte o una vuelta del 24 V, ni las que tienen un arranque o un corte de la corriente de carga. Con 0.6.2, H0008 alternaba `MODEM_DARK` / `MODEM_BACK` toda la noche, el corte y la vuelta del 24 V daban un «vivo» falso y el módem caído de la V5 en batería (15–18 mV) seguía «vivo».
- **Para separar «la unidad no manda» de «el servidor no muestra»:** `STAT phcg_aire=` cuenta las `$PHCG` enviadas (junto a `phlg_aire`), y la tecla `t` muestra además `aire> …`, las dos líneas exactas que salen hacia el módem, con su largo. Si las dos cuentas suben cada 30 s y el monitor no muestra fuente, uptime ni gobernador, avisa a ingeniería: es el servidor.
- **Autopruebas nuevas:** `RTC_BKP` (el MCU puede guardar el motivo del reset) y `TMP102` contra el SHT40 (FALLA si difieren más de 15 °C).
### Qué se ve en la consola
| Línea | Qué significa |
|---|---|
| `EVT … 5 V de vuelta (paquete_bajo vbat_min=3.47 dur=5s): reset del MCU …` | Volvió el 24 V tras un respaldo con el paquete bajo: reset para que el módem arranque. Otras razones: `respaldo dur=…` (10 s o más), `etapa_apagada`, `etapa_encendida_en_bateria`; con `+carga` si la carga tumbó la fuente |
| `EVT … RESET anterior: paquete_bajo (n=0)` | Al arrancar: por qué fue el reset anterior |
| `EVT … CARGA: el reset anterior fue porque la carga tumbo el 5 V (n=2 seguidos): espera de carga 480 s, no 120 s` | Espera de carga alargada |
| `EVT … CARGA permitida pero el LTC4040 NO carga: CHRG y FAULT en alto (= C/8, casi lleno) con el paquete a 3.60 V …` | `CHG_NOCHG`: revisar JP2/JP3/JP4 y el paquete |
| `STAT … ltc=C8_BAJO …` | Lo mismo, mientras dure |
| `STAT … phlg_aire=21 phcg_aire=21 aire_max=91` | Líneas enviadas por el módem; las dos cuentas suben juntas, 1 cada 30 s |
| `aire> $PHLG,0.6.3,RUN,… (92)` | Tecla `t`: la línea exacta que va al módem y su largo |
Al servidor (`$PHEV`): `PWR_RETURN_RESET,<razón>` (si el módem seguía vivo), `BOOT,reset=SOFT fw=0.6.3 prev=<razón>[+carga] n=N` y `CHG_NOCHG,vbat=… flot=4.00 c8`.
### Cómo probarla
1. **Servidor:** una unidad con 0.6.2 o 0.6.3 debe verse en el monitor con fuente, uptime y fase del gobernador. Si no, avisa a ingeniería antes de seguir.
2. Flashea [`prueba/hbox-tarjetaV4_0.6.3.bin`](prueba/hbox-tarjetaV4_0.6.3.bin) (V4) o [`prueba/hbox-v5-bringup_0.6.3.bin`](prueba/hbox-v5-bringup_0.6.3.bin) (V5) y [verifica el SHA-256](index.md#verifica-el-sha-256). Consola: `hbox-v5-bringup 0.6.3 built …`; en las autopruebas, `RTC_BKP` PASS y, en la V5, `TMP102` PASS.
3. **Corte corto con el paquete bajo** (bajo 3.7 V en reposo): etapa ON en 24 V; quita el 24 V ~5 s y vuelve a ponerlo. Debe salir `5 V de vuelta (paquete_bajo …): reset del MCU`, la etapa a los ~4–7 s del arranque (hasta 4 s esperando la consola USB) y `MODEM_RST` 5 s después, y el módem registra. La unidad vuelve a reportar en el monitor. Si el corte cae menos de 10 s después de `CARGA ON` o del pulso de rearranque, sale `paquete_bajo+carga … n=1` y la carga espera 4 min: es lo esperado.
4. **Corte corto con el paquete cargado** (3.9 V o más): el mismo corte de 5 s no resetea: no sale `5 V de vuelta (…)` ni `RESET por software`, y el `up=` de `STAT` sigue contando. El módem sigue vivo. (`BACKUP fin … SOSTUVO la etapa` sale en los dos casos.)
5. **Cargador:** tras `CARGA ON` debe verse `ltc=CARGANDO`. Si en vez de eso, ~2 min después, sale `CARGA permitida pero el LTC4040 NO carga` y `ltc=C8_BAJO`, apaga la tarjeta y revisa JP2/JP3/JP4 y el paquete. Después, la prueba del gobernador: [módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-063).
6. Tecla `t`: dos líneas `aire>`, de 100 caracteres o menos cada una.
Anota todo en el [acta de la prueba](../formularios/prueba-bateria.html) y manda el log de la consola a ingeniería.
### Hallazgos de hardware (V5 del banco, 30-sep)
- El paquete en 3.60 V que el LTC4040 da por lleno: revisar JP2/JP3/JP4 con la tarjeta sin energía, y el paquete.
- El TMP102 (U4, temperatura del paquete) leía 29–30 °C. Justo al volver el 24 V pasó a 0 °C, siguió en 0–2.4 °C unos 17 min (también después del reset) y volvió a ~32 °C. El código que lo lee no cambió. Revisar U4 y el bus I²C de esa tarjeta; la autoprueba nueva lo marca si pasa al arrancar.
| Archivo | Tarjeta | Tamaño | SHA-256 |
|---|---|---|---|
| [`prueba/hbox-v5-bringup_0.6.3.bin`](prueba/hbox-v5-bringup_0.6.3.bin) | V5 / V5.5 (no V5.6) | 99 640 B | `3641159a4c68ef093a0e5ab3402356254a8165b2ce1b77d8ad2362415b0d7edd` |
| [`prueba/hbox-tarjetaV4_0.6.3.bin`](prueba/hbox-tarjetaV4_0.6.3.bin) | V4 | 99 152 B | `a6c3b4677fa696bb08b99abae70d464c8593aad8be0d3f3883815d3769e0d281` |
Compilados con arduino-cli 1.3.1 y STM32duino 3.0.0. Detalle técnico: `CHANGELOG.md` del firmware, sección 0.6.3. Simulador en PC: 54 escenarios y 273 comprobaciones, todas bien; contra 0.6.2 reproduce el caso del banco (sin reset tras 5 s de respaldo con el paquete bajo). La V5.6 no corre 0.6.x: necesita 0.7.0 (el módem no enciende sin `MODEM_EN`).
## 0.6.2: telemetría en dos líneas cortas (prueba de banco 30-sep) {#062-en-prueba}
Publicada el 30-sep solo para prueba de banco y sustituida el 1-oct por [0.6.3](#063-en-prueba), que lleva todo lo de esta sección sin cambios; sus binarios están en `superseded/`. El gobernador es el de 0.6.1 sin cambios (sección siguiente); lo que cambia es cómo viaja la telemetría:
- **Consola USB (y Ethernet del build `-eth`):** el `$PHLG` vuelve a los 29 campos de 0.6.0, idéntico, y detrás sale una línea nueva, `$PHCG`.
- **En banda (por el módem):** el `$PHLG` va con los campos 1–24 y, en el hueco siguiente, `$PHCG,<up_s>,<pwr>,<v5min>,<vbat_min>,<bkp_n>,<cgov>,<cwait>,<csheds>,<cduty>,<cchg_s>,<cdrop>,<vdda>`: los campos 25–36 de 0.6.1, mismos valores. Las dos líneas quedan en 100 caracteres o menos aunque la unidad lleve meses encendida (el `$PHLG` de 29 campos crece con el tiempo encendida). En esa copia `nmea_age_ms` se topa en 99999.
@ -67,24 +126,24 @@ Publicada el 30-sep **solo para ingeniería y el banco** ([Descargas](index.md#f
- `STAT aire_max=`: la línea más larga que el MCU metió en banda desde el arranque (sin contar las de prueba); debe quedar en 100 o menos.
- Banner: la línea del cargador ya no sale cortada. Ayuda: `MODEM_RST` 5 s después de STACK ON (así desde 0.5.8).
### Cómo probarla
### Cómo probar la telemetría (con 0.6.3)
1. Servidor desplegado con `$PHCG`.
2. Flashea H0027 (V4) con [`prueba/hbox-tarjetaV4_0.6.2.bin`](prueba/hbox-tarjetaV4_0.6.2.bin) y [verifica el SHA-256](index.md#verifica-el-sha-256). Consola: `hbox-v5-bringup 0.6.2 built …`; cada 10 s `$PHLG,0.6.2,…` y `$PHCG,…`.
2. Flashea 0.6.3 ([arriba](#063-en-prueba)). Consola: cada 10 s `$PHLG,0.6.3,…` y `$PHCG,…`.
3. Monitor: la unidad con ⚡ VEHÍCULO, su uptime y las fases del gobernador (espera de arranque → comprobando riel → 🔌 CARGANDO). En el historial crudo, cada 30 s un `$PHLG` de 24 campos y su `$PHCG`.
4. Tecla `X` y `phtst_report.py` (arriba). Manda el resultado a ingeniería.
5. La prueba del cargador: [módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-062).
5. La prueba del cargador: [módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-063).
| Archivo | Tarjeta | Tamaño | SHA-256 |
|---|---|---|---|
| [`prueba/hbox-v5-bringup_0.6.2.bin`](prueba/hbox-v5-bringup_0.6.2.bin) | V5.5 (V5.6 solo con paquete Li-ion) | 96 180 B | `3a183fccfbff32bc7f686ff5c68d959b783c910c2ae6b668e9ea069f90f76ebf` |
| [`prueba/hbox-tarjetaV4_0.6.2.bin`](prueba/hbox-tarjetaV4_0.6.2.bin) | V4 | 95 692 B | `ec7425ace7a43d36238ecf9536c82d06b6f9b5304aad49748031ebe35b5167af` |
| [`superseded/hbox-v5-bringup_0.6.2.bin`](superseded/hbox-v5-bringup_0.6.2.bin) | V5.5 (no V5.6) | 96 180 B | `3a183fccfbff32bc7f686ff5c68d959b783c910c2ae6b668e9ea069f90f76ebf` |
| [`superseded/hbox-tarjetaV4_0.6.2.bin`](superseded/hbox-tarjetaV4_0.6.2.bin) | V4 | 95 692 B | `ec7425ace7a43d36238ecf9536c82d06b6f9b5304aad49748031ebe35b5167af` |
Compilados del commit `d090cbf` del repositorio de firmware (arduino-cli 1.3.1, STM32duino 3.0.0). Detalle técnico: `CHANGELOG.md` del firmware, sección 0.6.2. Simulador en PC: 24 escenarios y 130 comprobaciones, todas bien; incluye 30 días encendida, la tecla `X` y apagar la etapa con eventos en cola.
## 0.6.1 → 0.6.2: el gobernador ya no corta la carga por las ráfagas del módem
0.6.1 salió el 28-sep y se retiró el 29-sep por la telemetría ([arriba](#por-que-se-retiro-061)). 0.6.2 lleva exactamente este gobernador; lo único que cambia es cómo viajan sus datos al monitor.
0.6.1 salió el 28-sep y se retiró el 29-sep por la telemetría ([arriba](#por-que-se-retiro-061)). 0.6.2 y 0.6.3 llevan exactamente este gobernador; lo único que cambia es cómo viajan sus datos al monitor.
### Qué pasaba con 0.6.0
@ -168,13 +227,13 @@ Con más resistencia, los cortes SOSTENIDOS empiezan antes de ese punto, cuando
### Cómo se probó y qué falta
- Simulador en PC (`tools/hostsim_v5` del repositorio de firmware): compila el sketch sin cambios contra un modelo eléctrico de la entrada de 5 V calibrado con H0027 y revisa 21 escenarios, con un invariante de seguridad del cargador en cada vuelta del lazo. 0.6.0 reproduce el síntoma: 6 cortes y 0 % del tiempo cargando en 40 min. 0.6.1: 0 cortes, 100 %. También cubre desconexión, hiccup, caída sostenida, batería mala, pausa NTC, veto, autoprueba `r`, ciclo de etapa, vuelta del reloj y VDDA de 3.25 V.
- **La prueba de banco se hace con 0.6.2** ([módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-062), vale también para la V4). Primero, que el monitor muestre la fase del gobernador; después: H0027 30 min cargando sin cortes con el paquete bajo 3.5 V, quitar el 24 V ~5 s y volver a ponerlo, bajar la fuente a ~4.85 V en P2, y una noche con H0027 a 5.40 V y H0008 en 24 V. Las dos deben amanecer en «casi lleno» o ✅ CARGADA, sin cortes nuevos durante la noche.
- **La prueba de banco se hace con 0.6.3** ([módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-063), vale también para la V4). Primero, que el monitor muestre la fase del gobernador; después: H0027 30 min cargando sin cortes con el paquete bajo 3.5 V, quitar el 24 V ~5 s y volver a ponerlo, bajar la fuente a ~4.85 V en P2, y una noche con H0027 a 5.40 V y H0008 en 24 V. Las dos deben amanecer en «casi lleno» o ✅ CARGADA, sin cortes nuevos durante la noche.
### Archivos de 0.6.1 (retirados, no usar)
| Archivo | Tarjeta | Tamaño | SHA-256 |
|---|---|---|---|
| [`superseded/hbox-v5-bringup_0.6.1.bin`](superseded/hbox-v5-bringup_0.6.1.bin) | V5.5 (V5.6 solo con paquete Li-ion) | 93 584 B | `6fbbc583ac2415a742ed062c1208d4a807e61085eb2615d76e4c6da400961ad2` |
| [`superseded/hbox-v5-bringup_0.6.1.bin`](superseded/hbox-v5-bringup_0.6.1.bin) | V5.5 (no V5.6) | 93 584 B | `6fbbc583ac2415a742ed062c1208d4a807e61085eb2615d76e4c6da400961ad2` |
| [`superseded/hbox-tarjetaV4_0.6.1.bin`](superseded/hbox-tarjetaV4_0.6.1.bin) | V4 | 93 096 B | `ef43a901ae9a875e6346ae8f84cc5f150a2419ff7cd577fe8f69780236840757` |
Compilados del commit `708ee0a` del repositorio de firmware (arduino-cli 1.3.1, STM32duino 3.0.0). Detalle técnico: `CHANGELOG.md` del firmware, sección 0.6.1. Los umbrales de batería son de Li-ion (flotación 4.00 V, corte 3.40 V, LEDs, monitor). Una V5.6 con el paquete LFP-HT necesita un build propio con flotación 3.50 V y esos umbrales recalculados; la [ECO V5.6](../hardware/v56-eco.md) lo prevé como 0.7.0.
@ -231,15 +290,16 @@ Detalle de cada versión anterior: [Descargas → versiones superadas](index.md#
## Cómo saber qué versión tiene una unidad
- Consola USB: al arrancar, bajo una línea de `=====`, sale `hbox-v5-bringup 0.6.1 built …` y en la línea siguiente `board=EinarBoard v5 (HBOX v5)` o `v4`.
- `$PHLG`, campo 1: `0.5.9-fm`, `0.6.0`, `0.6.1`, `0.6.2` (`-eth` en los builds de banco con Ethernet). Desde 0.6.2 detrás de cada `$PHLG` sale una `$PHCG`. Ojo: `0.6.0-eth` salió de dos códigos, 0.5.9 (sin cargador; el monitor dice «sin cargar») y 0.6.0 (con gobernador).
- `$PHLG`, campo 1: `0.5.9-fm`, `0.6.0`, `0.6.1`, `0.6.2`, `0.6.3` (`-eth` en los builds de banco con Ethernet). Desde 0.6.2 detrás de cada `$PHLG` sale una `$PHCG`. Ojo: `0.6.0-eth` salió de dos códigos, 0.5.9 (sin cargador; el monitor dice «sin cargar») y 0.6.0 (con gobernador).
- Monitor: detalle de la unidad, chip **fw**.
## Pendiente
- V5.5 / V4: si el módem se apaga en batería no vuelve a arrancar sobre el boost. Es hardware y lo corrige la V5.6; el firmware evita apagarlo.
- V5.5 / V4: si el módem se apaga en batería no vuelve a arrancar sobre el boost. Es hardware y lo corrige la V5.6; el firmware evita apagarlo y lo recupera con un reset al volver el 24 V (desde 0.6.3 también tras un respaldo corto con el paquete bajo).
- La vigilancia del módem todavía no actúa: sus umbrales se fijan con la [prueba en batería §2](../procedimientos/prueba-bateria-modem.md#2-aceptacion-059-y-06x).
- Lazo y eco de RS-485 / RS-232: queda para un build posterior. 0.6.1 y 0.6.2 salieron como arreglo del cargador y de la telemetría, y solo comprueban que el SC16IS752 responde.
- El largo máximo de línea que deja pasar el módem: lo mide la tecla `X` de 0.6.2 en el banco.
- Lazo y eco de RS-485 / RS-232: queda para un build posterior. 0.6.1–0.6.3 salieron como arreglos del cargador, la telemetría y la recuperación del módem, y solo comprueban que el SC16IS752 responde.
- El largo máximo de línea que deja pasar el módem: lo mide la tecla `X` (0.6.2 y 0.6.3) en el banco.
- El umbral de 3.70 V del paquete (reset tras un respaldo corto) sale de dos puntos del banco; se confirma con cortes de 5 s a varios voltajes del paquete.
- V5.6: `RS1` 10 mΩ y `R50` 1.5 kΩ (~1.3 A de carga). Con eso el gobernador casi nunca tendrá que cortar.
## Historial de revisiones
@ -249,3 +309,4 @@ Detalle de cada versión anterior: [Descargas → versiones superadas](index.md#
| 1.0 | 2026-09-29 | Primera versión: 0.5.9, 0.6.0 y 0.6.1. |
| 1.1 | 2026-09-29 | 0.6.1 retirada: su `$PHLG` no pasa por el módem. 0.6.0 vigente otra vez; 0.6.2 en preparación. |
| 1.2 | 2026-09-30 | 0.6.2 en prueba de banco: telemetría en `$PHLG` corto + `$PHCG`, tecla `X` y cómo probarla; binarios en `prueba/`. |
| 1.3 | 2026-10-01 | 0.6.3 en prueba de banco: reset tras un respaldo corto con el paquete bajo, motivo del reset al servidor, `CHG_NOCHG`, cómo probarla, hallazgos de la V5 del banco; 0.6.2 a `superseded/`; 0.6.x no sirve en la V5.6. |

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,8 @@
---
title: "EinarBoard V5.6 (HBOX V5) — Hoja de datos de ingeniería"
project: Project Drogheda
date: 2026-09-29
version: "1.2"
date: 2026-10-01
version: "1.3"
status: BORRADOR para revisión de ingeniería — V5.6 con ECO aplicada en esquemático; PCB pendiente de *Update PCB*
tags: [project-drogheda, hardware, einarboard, v5.6, datasheet, hbox]
author: Helgen Technologies
@ -33,7 +33,7 @@ V5.6 = V5.5 (15 pzas, JLC 22-ago-2026) + ECO 27/28-sep: riel del módem en `SYS5
| Proyecto KiCad | `03-Architecture-Hardware/kicad/hbox-watchdog-v5.*` (V5.5 y V5.6 comparten proyecto; V5.6 = ECO aplicada al esquemático el 28-sep; PCB pendiente de *Update PCB from Schematic*; etiqueta git `v5.5-as-fabbed` guarda el estado del lote anterior) | Informe de cambios §9 |
| MCU | U16 **STM32F411RET6** LQFP-64 soldado (ya no hay Blackpill en zócalo) · HSE Y3 25 MHz · LSE Y4 32.768 kHz · SYSCLK 96 MHz, USB 48 MHz | `board_v5.h`, `.ino` |
| Módulos en zócalo | **MOD1** simpleRTK2B (u-blox ZED-F9P, formato UNO) · **J7/J8** 4G NTRIP Master (formato XBee, paso 2.00 mm) | netlist |
| Firmware | `hbox_v5_bringup` **0.6.0** vigente (`hbox-v5-bringup_0.6.0.bin`; 0.6.1 retirada, 0.6.2 en preparación), consola USB CDC en J11. Umbrales de batería de Li-ion (flotación 4.00 V, corte 3.40 V, LEDs, monitor): con el paquete LFP-HT hace falta un build propio con flotación 3.50 V y esos umbrales recalculados (0.7.0 en la ECO, §H) | `README.md` |
| Firmware | `hbox_v5_bringup` **0.6.0** vigente (`hbox-v5-bringup_0.6.0.bin`; 0.6.1 retirada, 0.6.3 en prueba de banco), consola USB CDC en J11. **0.6.x no enciende el módem de la V5.6** (no maneja `MODEM_EN` en PC3, que R106 deja apagado): la V5.6 sale con 0.7.0. Umbrales de batería de Li-ion (flotación 4.00 V, corte 3.40 V, LEDs, monitor): con el paquete LFP-HT hace falta un build propio con flotación 3.50 V y esos umbrales recalculados (0.7.0 en la ECO, §H) | `README.md` |
| Lote V5.5 | 15 pzas, JLCPCB 22-ago-2026 | FACTS / procedimiento v5 |
| Lote V5.6 | Por pedir (semana del 29-sep-2026); BOM 94 LCSC comprobados para 30 tarjetas | Informe §10 |
| Componentes / nets | 252 componentes · 237 nets en la netlist V5.6 | netlist |
@ -296,7 +296,7 @@ Pinout completo pin a pin (generado de la netlist): [Pinout de arneses y conecto
`STAT up= vbat= v5=(ok|BAJO|no) ign= chrg= flt= tntc= tbat= tair= rh= tmcu= i2cerr= stack= modo= fan= rec= [LIMP] [backup=] [duty=…] carga=FASE [+CALIENTE][+OP] pin= ltc= cortes=n(duro/sost) media= duty= cargado= [caida=] vdda= modoB= relay= phlg_aire= v5min= vbatmin= bkp= mrst= [eth=… ip= lineas= bytes= drop= conn=] [t_on= nmea= bad= gga= sats= hdop= age= rtcm_age= sta= rtcm_last= sag5= sagb= flat= modem=]`
Fases del gobernador de carga (`carga=`, 0.6.1 y 0.6.2; 0.6.0 corta con una sola muestra bajo 4.90 V): `HOLDOFF` (< 120 s tras boot/STACK ON) · `NOTRUN` · `PWRCYC` · `BATT` · `WAIT` (riel bajo 5.05 V, o espera tras una caída sin corriente de carga) · `PROVING n/30s` · `ON` · `SHED` (3 s mientras se clasifica un corte) · `COOLDOWN faltan s` (tras un corte contado). Umbrales: arranque con la media de 200 ms ≥ 5.05 V durante 30 s; corte DURO con una muestra rápida < 4.70 V, SOSTENIDO con la media de 200 ms < 4.90 V durante 1 s o < 4.85 V; enfriamiento 60 s → 30 min (se duplica por corte contado); celda ≥ 45 °C inhibe. PFI real 4.40 V. Detalle: [notas de versión](../descargas/notas-de-version.md).
Fases del gobernador de carga (`carga=`, 0.6.1 a 0.6.3; 0.6.0 corta con una sola muestra bajo 4.90 V): `HOLDOFF` (< 120 s tras boot/STACK ON) · `NOTRUN` · `PWRCYC` · `BATT` · `WAIT` (riel bajo 5.05 V, o espera tras una caída sin corriente de carga) · `PROVING n/30s` · `ON` · `SHED` (3 s mientras se clasifica un corte) · `COOLDOWN faltan s` (tras un corte contado). Umbrales: arranque con la media de 200 ms ≥ 5.05 V durante 30 s; corte DURO con una muestra rápida < 4.70 V, SOSTENIDO con la media de 200 ms < 4.90 V durante 1 s o < 4.85 V; enfriamiento 60 s → 30 min (se duplica por corte contado); celda ≥ 45 °C inhibe. PFI real 4.40 V. Detalle: [notas de versión](../descargas/notas-de-version.md).
### 9.4 Trama `$PHLG` (cada 10 s en consola, cada 30 s en banda; checksum XOR)
@ -344,5 +344,6 @@ Fuente: Informe de cambios §1 (tabla antes → después), §2–§3 (partes y p
| 1.0 | 2026-09-29 | Primera versión (V5.6 con ECO en esquemático; PCB pendiente) |
| 1.1 | 2026-09-29 | Firmware 0.6.1: consola, `STAT`, fases y umbrales del gobernador de carga; el lazo serie no está en 0.6.1; con paquete LFP-HT hace falta otro build (flotación 3.50 V y umbrales de batería de LFP). |
| 1.2 | 2026-09-29 | 0.6.0 vigente otra vez (0.6.1 retirada: su telemetría no pasaba por el módem); §9 describe 0.6.x. |
| 1.3 | 2026-10-01 | 0.6.3 en prueba de banco; 0.6.x no enciende el módem de la V5.6 (sale con 0.7.0). |
Ver también: [manual V5](../manuales/manual-tarjeta-V5.md) · [pinout V5.6](v56-pinout.md) · [informe de cambios](v56-cambios-esquematico.md) · [ECO](v56-eco.md) · [instrucciones de layout](v56-layout-instrucciones.md).

View File

@ -131,6 +131,6 @@ La lupa busca por unidad (H00xx), conector (P15, J10), evento (MODEM_DARK) o pro
| <span class="badge-v55">V5.5</span> | 15 unidades en campo · fw 0.6.0 |
| <span class="badge-v56">V5.6</span> | Esquemático cerrado · PCB en layout · pedido pendiente |
| <span class="badge-v6">v6</span> | En diseño (GNSS + 4G a bordo) — no pedir |
| <span class="badge-fw">firmware 0.6.2</span> | En prueba de banco desde el 30-sep, no para campo ([descargas](descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta)); en campo sigue 0.6.0; 0.6.1 retirada el 29-sep (su telemetría no pasaba por el módem) · [notas de versión](descargas/notas-de-version.md#062-en-prueba) |
| <span class="badge-fw">firmware 0.6.3</span> | En prueba de banco desde el 1-oct (sustituye a 0.6.2), no para campo ([descargas](descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta)); en campo sigue 0.6.0; 0.6.1 retirada el 29-sep (su telemetría no pasaba por el módem) · [notas de versión](descargas/notas-de-version.md#063-en-prueba) |
Reglas de trabajo: [Guía del ingeniero](guia-ingeniero.md). Fuente: repositorio Drogheda. Contacto: leo@helgen.tech

View File

@ -1,8 +1,8 @@
---
title: "Manuales por tarjeta"
project: Project Drogheda
date: 2026-09-29
version: "1.3"
date: 2026-10-01
version: "1.4"
tags: [project-drogheda, hardware, einarboard, manual, indice]
author: Helgen Technologies
---
@ -16,7 +16,7 @@ Cada manual cubre cómo reconocer la tarjeta, conectores, puentes, botones, LEDs
| V3 | EinarBoard 1.0 (Blackpill en zócalo) | 10 pzas jul-2026; 3 unidades en campo (RTK-003/006/014); registro congelado | `hbox-tarjetaV3_4.0.0.bin` | `hbox-watchdog-v3-PROD` | [Manual V3](manual-tarjeta-V3.md) |
| V4 | EinarBoard 2.0 (Blackpill + Ethernet + serie) | Fabricada ago-2026; en prueba con 0.6.0 | `hbox-tarjetaV4_0.6.0.bin` | `hbox-watchdog-v4` | [Manual V4](manual-tarjeta-V4.md) |
| V5.5 | EinarBoard 4.0 (serigrafía) / HBOX v5, MCU soldado | 15 pzas 22-ago-2026; en ensamble y campo | `hbox-v5-bringup_0.6.0.bin` | `hbox-watchdog-v5` (tag `v5.5-as-fabbed`) | [Manual V5](manual-tarjeta-V5.md) |
| V5.6 | HBOX v5 + ECO 27/28-sep (módem controlado por MCU, LFP, sensores) | Esquemático cerrado; PCB en layout; pedido pendiente | `hbox-v5-bringup_0.6.0.bin` solo con paquete Li-ion; firmware propio de V5.6 previsto en 0.7.0 | `hbox-watchdog-v5` | [Manual V5](manual-tarjeta-V5.md) §9 |
| V5.6 | HBOX v5 + ECO 27/28-sep (módem controlado por MCU, LFP, sensores) | Esquemático cerrado; PCB en layout; pedido pendiente | 0.7.0 (0.6.x no enciende su módem: no maneja `MODEM_EN`) | `hbox-watchdog-v5` | [Manual V5](manual-tarjeta-V5.md) §9 |
| v6 | GNSS + 4G a bordo | En diseño; no pedir | — | `hbox-watchdog-v6` | [Manual v6](manual-tarjeta-v6.md) |
Documentos de ingeniería: [Tarjetas y hardware](../hardware/index.md).
@ -29,3 +29,4 @@ Documentos de ingeniería: [Tarjetas y hardware](../hardware/index.md).
| 1.1 | 2026-09-29 | Edición breve; estado V5.6 alineado con la portada. |
| 1.2 | 2026-09-29 | Firmware vigente 0.6.1 en V4 y V5.5 (V5.6 solo con paquete Li-ion); enlace a las notas de versión. |
| 1.3 | 2026-09-29 | Vuelve a 0.6.0: 0.6.1 retirada (su telemetría no pasaba por el módem); 0.6.2 en preparación. |
| 1.4 | 2026-10-01 | V5.6: 0.6.x no enciende el módem; sale con 0.7.0. 0.6.3 en prueba de banco. |

View File

@ -1,8 +1,8 @@
---
title: "Manual de tarjeta — EinarBoard V4 (EinarBoard 2.0)"
project: Project Drogheda
date: 2026-09-29
version: "1.3"
date: 2026-10-01
version: "1.4"
tags: [project-drogheda, hardware, einarboard, v4, manual, tecnicos, blackpill]
author: Helgen Technologies
audience: técnicos de banco y de campo
@ -101,7 +101,7 @@ Iguales a la V5 (mismo firmware): teclas `h l r s t i g v P Y n A B M R C`, lín
## 8. Limitaciones conocidas (iguales a V5.5)
- Módem oscuro en batería: no arranca sobre el boost; solo SW4G1 (o el puente 0.5.6 + `M`) o los 24 V lo reviven. Firmware ≥ 0.5.9: sin ciclos de etapa en batería; reset del MCU al volver el 5 V.
- Cargador: apagado en firmware < 0.6.0; desde 0.6.0 un gobernador lo habilita con 24 V y riel estable; con la ruta de 5 V justa, 0.6.0 corta la carga en cada ráfaga del módem y 0.6.2 (en preparación) lo corrige. Con cable o fuente débiles hasta P2 la carga avanza despacio o se estanca ([límite de la ruta de 5 V](../descargas/notas-de-version.md#el-limite-de-la-ruta-de-5-v)).
- Cargador: apagado en firmware < 0.6.0; desde 0.6.0 un gobernador lo habilita con 24 V y riel estable; con la ruta de 5 V justa, 0.6.0 corta la carga en cada ráfaga del módem y 0.6.3 (en prueba de banco; sustituye a 0.6.2) lo corrige. Con cable o fuente débiles hasta P2 la carga avanza despacio o se estanca ([límite de la ruta de 5 V](../descargas/notas-de-version.md#el-limite-de-la-ruta-de-5-v)).
- Ethernet y serie sin prueba en hardware real.
## 9. Procedimientos relacionados
@ -116,5 +116,6 @@ Iguales a la V5 (mismo firmware): teclas `h l r s t i g v P Y n A B M R C`, lín
| 1.1 | 2026-09-29 | Edición breve; puente y flasheo remiten al procedimiento V4 (el manual listaba 1N5819, que el procedimiento prohíbe). |
| 1.2 | 2026-09-29 | Firmware 0.6.1. |
| 1.3 | 2026-09-29 | Vuelve a 0.6.0 (0.6.1 retirada). |
| 1.4 | 2026-10-01 | 0.6.3 en prueba de banco (sustituye a 0.6.2). |
Versiones anteriores en git.

View File

@ -1,8 +1,8 @@
---
title: "Manual de tarjeta — EinarBoard V5 (V5.5 y V5.6)"
project: Project Drogheda
date: 2026-09-29
version: "1.3"
date: 2026-10-01
version: "1.4"
tags: [project-drogheda, hardware, einarboard, v5, v5.5, v5.6, manual, tecnicos]
author: Helgen Technologies
audience: técnicos de banco y de campo
@ -16,7 +16,7 @@ Valores de ingeniería: [hoja de datos V5.6](../hardware/v56-datasheet.md). Pin
|---|---|---|
| Estado | 15 tarjetas fabricadas (JLCPCB, 22-ago-2026), en ensamble y en campo | Esquemático listo (ECO 27/28-sep); PCB y pedido pendientes |
| Proyecto KiCad | `kicad/hbox-watchdog-v5.*` (etiqueta git `v5.5-as-fabbed`) | `kicad/hbox-watchdog-v5.*` (ECO aplicada) |
| Firmware | `hbox-v5-bringup_0.6.0.bin` | `hbox-v5-bringup_0.6.0.bin` solo con paquete Li-ion; el firmware propio de V5.6 (control del módem, paquete LFP) está previsto en 0.7.0 |
| Firmware | `hbox-v5-bringup_0.6.0.bin` | Ninguno de 0.6.x: no maneja `MODEM_EN` (PC3) y el módem no enciende. La V5.6 sale con 0.7.0 (control del módem, paquete LFP) |
| Paquete de batería | Li-ion 18650 1S4P · JP2 en 1-2 · R55 10 k | LFP-HT 26650 · JP2 en 2-3 · R55 5.6 k · NTC B3380 |
## 1. Identificación
@ -157,7 +157,7 @@ En V5.6 el escaneo I²C (`i`) muestra además 0x49 (U18, sensor del módem).
## 11. Limitaciones de la V5.5
- Módem oscuro en batería: si el módem se apaga en batería (ciclo de etapa, brown-out) no arranca sobre el boost del LTC4040; solo lo reviven SW4G1 o los 24 V. Por eso el firmware ≥ 0.5.9 nunca cicla la etapa en batería y resetea el MCU al volver el 5 V ([hallazgos](../procedimientos/prueba-bateria-modem.md#3-hallazgos-2527-sep)).
- Hasta 0.5.9 el cargador estaba apagado por firmware. Desde 0.6.0 carga con 24 V, etapa ON > 120 s y riel ≥ 5.05 V. 0.6.0 (vigente), con la ruta de 5 V justa, corta la carga en cada ráfaga del módem; 0.6.2 (en preparación; 0.6.1 se retiró) la corta solo si el riel no la sostiene (media de 200 ms bajo 4.90 V durante 1 s o bajo 4.85 V, o una muestra bajo 4.70 V). Reflashea unidades con firmware anterior ([notas de versión](../descargas/notas-de-version.md)).
- Hasta 0.5.9 el cargador estaba apagado por firmware. Desde 0.6.0 carga con 24 V, etapa ON > 120 s y riel ≥ 5.05 V. 0.6.0 (vigente), con la ruta de 5 V justa, corta la carga en cada ráfaga del módem; 0.6.3 (en prueba de banco; sustituye a 0.6.2; 0.6.1 se retiró) la corta solo si el riel no la sostiene (media de 200 ms bajo 4.90 V durante 1 s o bajo 4.85 V, o una muestra bajo 4.70 V). Reflashea unidades con firmware anterior ([notas de versión](../descargas/notas-de-version.md)).
- La consola no sabe si el módem está vivo: `modem=vivo|SOSPECHOSO|?` es una inferencia por RTCM y caídas del riel.
- Ethernet y serie no se han probado en hardware real (sep-2026).
- Y2: la pieza dice 3.6864; el esquemático V5.6 dice `1.8432MHz` <!-- VERIFICAR el campo Value en KiCad; la pieza LCSC C2238 es de 3.6864 MHz -->.
@ -172,5 +172,6 @@ Procedimientos V5: [Producción](../produccion/index.md) · [Taller](../taller/i
| 1.1 | 2026-09-29 | Edición breve; flasheo, química/JP2 y JP5 remiten a su procedimiento. |
| 1.2 | 2026-09-29 | Firmware 0.6.1: cargador, Ethernet de banco `0.6.1-eth`; el lazo serie no está en 0.6.1; en V5.6, 0.6.1 solo con paquete Li-ion. |
| 1.3 | 2026-09-29 | Vuelve a 0.6.0 (0.6.1 retirada: su telemetría no pasaba por el módem); 0.6.2 en preparación. |
| 1.4 | 2026-10-01 | 0.6.3 en prueba de banco (sustituye a 0.6.2). V5.6: 0.6.x no enciende el módem; sale con 0.7.0. |
Versiones anteriores en git.

View File

@ -1,10 +1,10 @@
---
title: "Prueba de banco — módem 4G en modo batería"
tags: [project-drogheda, hbox, procedimiento, bateria, modem, ltc4040, v5, v4, firmware]
date: 2026-09-30
date: 2026-10-01
project: Project Drogheda
author: Helgen Technologies
version: 1.6
version: 1.7
---
# Prueba de banco — módem 4G en modo batería
@ -18,15 +18,17 @@ version: 1.6
!!! danger "No se hace"
No cambies el firmware, no muevas JP2/JP3/JP4 ni el trimmer del SD-15B: la prueba vale porque la unidad está como en campo. Nunca conectes la fuente de banco a P4 con la batería puesta.
## 1. Cargador (0.6.2)
## 1. Cargador (0.6.3)
Misma unidad, paquete bajo (menos de 3.5 V), antes de la corrida en batería. Vale también para la V4, con la consola en el cable sin 5 V del [procedimiento V4](v4-prueba-fw-0.5.6.md). Es la prueba del gobernador corregido de 0.6.2 (el de 0.6.1, que se retiró por la telemetría): con 0.6.0, vigente, la carga se corta con las ráfagas del módem si el riel queda cerca de 5.0 V. Qué cambió en el gobernador y por qué: [notas de versión](../descargas/notas-de-version.md).
Misma unidad, paquete bajo (menos de 3.5 V), antes de la corrida en batería. Vale también para la V4, con la consola en el cable sin 5 V del [procedimiento V4](v4-prueba-fw-0.5.6.md). Es la prueba del gobernador corregido de 0.6.1, que llevan sin cambios 0.6.2 y 0.6.3 (0.6.1 se retiró por la telemetría): con 0.6.0, vigente, la carga se corta con las ráfagas del módem si el riel queda cerca de 5.0 V. Qué cambió en el gobernador y por qué: [notas de versión](../descargas/notas-de-version.md).
Antes del paso 1: flashea 0.6.2 de prueba ([Descargas](../descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta), carpeta `prueba/`), con el servidor ya desplegado con `$PHCG`, y confirma que el monitor muestra la fuente (⚡ VEHÍCULO), el uptime y la fase del gobernador. Si no los muestra, la telemetría no está llegando: para la prueba ahí y avisa a ingeniería ([0.6.2 en prueba](../descargas/notas-de-version.md#062-en-prueba)).
Antes del paso 1: flashea 0.6.3 de prueba ([Descargas](../descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta), carpeta `prueba/`), con el servidor ya desplegado con `$PHCG`, y confirma que el monitor muestra la fuente (⚡ VEHÍCULO), el uptime y la fase del gobernador. Si no los muestra, la telemetría no está llegando: para la prueba ahí y avisa a ingeniería ([0.6.3 en prueba](../descargas/notas-de-version.md#063-en-prueba)).
1. 24 V + etapa ON, consola abierta. Los primeros 120 s `STAT` dice `carga=HOLDOFF`; luego `carga=PROVING n/30s` y a los ~150 s `EVT up=… CARGA ON: riel 5.xx V estable 30 s`. 5 s después, `EVT up=… CARGA: riel 5.2x -> 5.0x V con el cargador (caida 0.xx V)`: anota la caída (esperado < 0.10 V; con más de 0.15 V añade `RUTA DE 5 V DEBIL`). Siguiente `STAT`: `ltc=CARGANDO`; el monitor muestra 🔌 CARGANDO o «cargó N %».
2. 30 min sin tocar, multímetro en P2 (anota el mínimo). En `STAT`: `cortes=0`, `duty=` cerca de 100 % y `cargado=` subiendo; `vbat` inicial y final (debe subir). Las ráfagas del módem ya no cortan la carga.
3. Quita 24 V con la carga puesta, espera ~5 s (con menos de 3 s cuenta como corte; con 10 s o más hay reset) y reconecta: `CARGA OFF: se fue el 5 V … no cuenta como corte`, `cortes=` sin cambio, `carga=WAIT` con cuenta atrás y vuelve a cargar. Con 10 s o más en batería, al volver: reset del MCU y de nuevo 120 s de `HOLDOFF`. En batería nunca carga (`carga=BATT`).
3. Quita 24 V con la carga puesta, espera ~5 s (con menos de 3 s cuenta como corte) y reconecta. En batería nunca carga (`carga=BATT`). Al irse el 24 V: `CARGA OFF: se fue el 5 V … no cuenta como corte`. Al volver:
- Con el paquete bajo 3.7 V (lo normal en este paso), 0.6.3 resetea el MCU: `5 V de vuelta (paquete_bajo …): reset del MCU`, de nuevo 120 s de `HOLDOFF` y vuelve a cargar. Igual con 10 s o más en batería, con cualquier paquete (`respaldo dur=…`).
- Con el paquete en 3.7 V o más y menos de 10 s: sin reset; `cortes=` sin cambio, `carga=WAIT` con cuenta atrás y vuelve a cargar.
4. Solo con fuente de banco en P2 (nunca más de 5.5 V): con la carga puesta baja la fuente hasta ~4.85 V medidos en P2 → `CARGA cortada (SOSTENIDO)`, `carga=SHED` 3 s y luego `carga=COOLDOWN faltan Ns` (60 s); sube la fuente y la carga vuelve sola. Cada corte contado duplica la espera (tope 30 min; vuelve a 60 s tras 10 min cargando bien).
5. Noche completa en 24 V (o fuente de banco a 5.40 V en P2): en la mañana `cortes=` sin subir durante la noche y el monitor en «casi lleno» o ✅ CARGADA.
@ -39,10 +41,11 @@ Misma unidad, consola abierta.
1. 24 V + ignición, módem registrado, RTK fix, 5 min. De 3–4 `STAT` anota `sag5=` (nivel "vivo en 24 V"), `rtcm_age=` (pocos s) y `sta=`.
2. Quita 24 V, 20 min. Anota `sagb=` de 3–4 `STAT` ("vivo en batería"). Esperado: `modem=vivo`, LEDs del módem encendidos, ninguna línea `RECOVERY`, el monitor ve la unidad con `pwr=BATT`.
3. Mata el módem a propósito en batería: `P` (etapa OFF) y `P` + `Y` (ON desde batería) → F9P vivo, módem oscuro. En 3 min: `rtcm=none`, `sagb` al piso, `flat` sube y a las 4 ventanas `EVT MODEM SOSPECHOSO` + `$PHEV MODEM_DARK`. Anota `sagb` de esas ventanas.
4. Vuelve 24 V: `5 V de vuelta … reset del MCU`, etapa ON a los ~3 s, el módem enciende; a los 2 min `modem=vivo`.
4. Vuelve 24 V: `5 V de vuelta … reset del MCU`, etapa ON a los ~4–7 s, el módem enciende; a los 2 min `modem=vivo`. Con 0.6.3, en el historial crudo de la unidad: `BOOT,reset=SOFT fw=0.6.3 prev=… n=0` (antes, `PWR_RETURN_RESET,…` solo si el módem seguía vivo).
5. Noche completa en batería desde 24 V, sin tocar. En la mañana: módem vivo antes de volver 24 V y hora del corte de 3.40 V (`SLEEP`) si llegó: autonomía real.
6. (0.6.3) Corte corto con el paquete bajo 3.7 V: etapa ON en 24 V con el módem registrado, quita el 24 V ~5 s y vuelve a ponerlo. Esperado: `5 V de vuelta (paquete_bajo vbat_min=… dur=…): reset del MCU`, etapa ON a los ~4–7 s, `MODEM_RST` 5 s después y el módem registra; en el monitor la unidad vuelve a reportar. Repite con el paquete en 3.9 V o más (tras la noche del §1): sin reset (no sale `5 V de vuelta (…)` ni `RESET por software`, `up=` sigue contando) y el módem sigue vivo. Anota `vbat` en reposo y el `vbat_min` de cada corte: con eso se confirma el umbral de 3.70 V.
Con `sag5`/`sagb` de 1–3 se fijan `MODEM_SAG5_V` / `MODEM_SAGB_V` para la versión que actúe (auto-reset en 24 V; reset condicional al volver el 5 V).
Con `sag5`/`sagb` de 1–3 se ajustan los umbrales de la vigilancia del módem (0.6.3: plano bajo 30 mV y vivo desde 50 mV, en 24 V y en batería) para la versión que actúe (auto-reset en 24 V).
## 3. Hallazgos 25–27 sep
@ -143,5 +146,6 @@ Todo va en el [acta de la prueba](../formularios/prueba-bateria.html): configura
| 1.4 | 2026-09-29 | §1 para el gobernador 0.6.1: 30 min sin cortes, desconexión, corte SOSTENIDO, noche y regla de la ruta de 5 V; pulso `MODEM_RST` a 5 s. |
| 1.5 | 2026-09-29 | §1 pasa a 0.6.2 (0.6.1 retirada: su `$PHLG` no pasaba por el módem). |
| 1.6 | 2026-09-30 | §1: 0.6.2 publicada para prueba de banco; antes del paso 1, confirmar la telemetría en el monitor. |
| 1.7 | 2026-10-01 | 0.6.3: §1 paso 3 resetea con el paquete bajo; §2 paso 6, corte corto con el paquete bajo y con el paquete cargado; umbrales de la vigilancia con histéresis. |
Versiones anteriores en git.

View File

@ -1,10 +1,10 @@
---
title: "V4 — preparación y prueba con firmware 0.6.0"
tags: [project-drogheda, hbox, procedimiento, v4, firmware, bateria, modem, dfu]
date: 2026-09-26
date: 2026-10-01
project: Project Drogheda
author: Helgen Technologies
version: 1.5
version: 1.6
---
# V4 — preparación y prueba con firmware 0.6.0
@ -17,7 +17,7 @@ version: 1.5
Orden: tres preparativos (puente de reset del módem; interruptores del simpleRTK2B, cable sin 5 V y batería), flasheo, y tres pruebas (24 V, batería, regreso de 24 V). Conectores y botones: [manual V4](../manuales/manual-tarjeta-V4.md). En V5.5 la prueba equivalente es [módem 4G en batería](prueba-bateria-modem.md).
El procedimiento se escribió para 0.5.6. Puente, `M`, `R` y DFU solo con USB no cambian con 0.6.0. 0.6.1 se retiró (su telemetría no pasaba por el módem); 0.6.2 está en preparación. Qué cambió en cada versión: [notas de versión](../descargas/notas-de-version.md).
El procedimiento se escribió para 0.5.6. Puente, `M`, `R` y DFU solo con USB no cambian con 0.6.0. 0.6.1 se retiró (su telemetría no pasaba por el módem); 0.6.3 está en prueba de banco (sustituye a 0.6.2): con el paquete bajo, el corte de 24 V de la prueba en batería resetea al volver aunque dure menos de 10 s. Qué cambió en cada versión: [notas de versión](../descargas/notas-de-version.md).
!!! warning "Reglas"
- Todo cambio de hardware (soldar, mover interruptores, poner o quitar módulos) sin energía: sin 24 V, batería desconectada, sin USB.
@ -132,5 +132,6 @@ Todo va en el [acta de prueba V4](../formularios/v4.html), con el log completo d
| 1.3 | 2026-09-29 | Edición breve; tabla de versiones → Descargas; aviso de que la Prueba B describe el ciclo de 0.5.6–0.5.7. |
| 1.4 | 2026-09-29 | Firmware 0.6.1: archivo, SHA-256, consola y monitor; pulso `MODEM_RST` a 5 s; enlace a las notas de versión. |
| 1.5 | 2026-09-29 | Vuelve a 0.6.0: 0.6.1 retirada (su `$PHLG` no pasaba por el módem). |
| 1.6 | 2026-10-01 | Nota: 0.6.3 en prueba de banco (resetea al volver el 24 V tras un respaldo corto si el paquete está bajo). |
Versiones anteriores en git.

View File

@ -29,10 +29,11 @@ declare -a MAP=(
# el .bin anterior que quedó en docs/descargas/ se mueve a mano (mv) a superseded/.
# En prueba de banco (no para campo): docs/descargas/prueba/. Cuando pasa el banco, su .bin se mueve (mv) a
# docs/descargas/, la vigente anterior a superseded/, y se corrigen estas líneas.
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.2.bin|docs/descargas/prueba/hbox-v5-bringup_0.6.2.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.2.bin|docs/descargas/prueba/hbox-tarjetaV4_0.6.2.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.3.bin|docs/descargas/prueba/hbox-v5-bringup_0.6.3.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.3.bin|docs/descargas/prueba/hbox-tarjetaV4_0.6.3.bin"
"04-Source-Code/firmware/tools/phtst_report.py|docs/descargas/prueba/phtst_report.py"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.0.bin|docs/descargas/hbox-v5-bringup_0.6.0.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.2.bin|docs/descargas/superseded/hbox-v5-bringup_0.6.2.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.1.bin|docs/descargas/superseded/hbox-v5-bringup_0.6.1.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.9.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.9.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.8.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.8.bin"
@ -47,6 +48,7 @@ declare -a MAP=(
"04-Source-Code/firmware/release/hbox-tarjetaV3_3.0.4.bin|docs/descargas/superseded/hbox-tarjetaV3_3.0.4.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV3_4.0.0.bin|docs/descargas/hbox-tarjetaV3_4.0.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.0.bin|docs/descargas/hbox-tarjetaV4_0.6.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.2.bin|docs/descargas/superseded/hbox-tarjetaV4_0.6.2.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.1.bin|docs/descargas/superseded/hbox-tarjetaV4_0.6.1.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.9.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.9.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.8.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.8.bin"