From 999010818b86dd6b1dd109add732f28fbe5791c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leopoldo=20Rodr=C3=ADguez?= Date: Tue, 29 Sep 2026 11:26:12 -0600 Subject: [PATCH] =?UTF-8?q?descargas:=20fw=200.6.1=20(V5=206fbbc583,=20V4?= =?UTF-8?q?=20ef43a901),=200.6.0=20a=20superseded,=20notas=20de=20versi?= =?UTF-8?q?=C3=B3n=200.5.9=E2=86=920.6.1;=20procedimientos,=20actas=20y=20?= =?UTF-8?q?manuales=20a=200.6.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/descargas/SHA256SUMS.txt | 6 +- docs/descargas/hbox-tarjetaV4_0.6.1.bin | Bin 0 -> 93096 bytes docs/descargas/hbox-v5-bringup-README.md | 12 + docs/descargas/hbox-v5-bringup_0.6.1.bin | Bin 0 -> 93584 bytes docs/descargas/index.md | 31 +- docs/descargas/notas-de-version.md | 207 +++ .../{ => superseded}/hbox-tarjetaV4_0.6.0.bin | Bin .../hbox-v5-bringup_0.6.0.bin | Bin docs/formularios/ethernet-serie.html | 28 +- docs/formularios/v4.html | 16 +- docs/hardware/index.md | 2 +- docs/hardware/v56-datasheet.md | 19 +- docs/hardware/v6-auditoria-completa.md | 6 + docs/hardware/v6-auditoria-prefab.md | 4 + docs/hardware/v6-cambios-esquematico.md | 5 + docs/hardware/v6-cambios-resumen.md | 332 ++++ docs/hardware/v6-full-audit.md | 1650 +++++++++++++++++ docs/hardware/v6-pinmap.md | 8 +- docs/hardware/v6-plan-correccion.md | 1536 +++++++++++++++ docs/hardware/v6-prefab-audit.md | 4 + docs/hardware/v6-proximos-pasos.md | 184 ++ docs/hardware/v6-puertos-sin-nueva-version.md | 288 +++ docs/hardware/v6-revision-final.md | 223 +++ docs/index.md | 2 +- docs/manuales/index.md | 11 +- docs/manuales/manual-tarjeta-V4.md | 11 +- docs/manuales/manual-tarjeta-V5.md | 13 +- docs/procedimientos/prueba-bateria-modem.md | 27 +- docs/procedimientos/reflasheo-unidades.md | 10 +- docs/procedimientos/v4-prueba-fw-0.5.6.md | 23 +- .../procedimientos/v5-configuracion-unidad.md | 5 +- .../v5-prueba-ethernet-serie.md | 39 +- docs/tablero.html | 2 +- docs/taller/index.md | 2 +- mkdocs.yml | 9 +- scripts/sync-docs.sh | 14 +- 36 files changed, 4611 insertions(+), 118 deletions(-) create mode 100644 docs/descargas/hbox-tarjetaV4_0.6.1.bin create mode 100644 docs/descargas/hbox-v5-bringup_0.6.1.bin create mode 100644 docs/descargas/notas-de-version.md rename docs/descargas/{ => superseded}/hbox-tarjetaV4_0.6.0.bin (100%) rename docs/descargas/{ => superseded}/hbox-v5-bringup_0.6.0.bin (100%) create mode 100644 docs/hardware/v6-cambios-resumen.md create mode 100644 docs/hardware/v6-full-audit.md create mode 100644 docs/hardware/v6-plan-correccion.md create mode 100644 docs/hardware/v6-proximos-pasos.md create mode 100644 docs/hardware/v6-puertos-sin-nueva-version.md create mode 100644 docs/hardware/v6-revision-final.md diff --git a/docs/descargas/SHA256SUMS.txt b/docs/descargas/SHA256SUMS.txt index 08f7b86..f985979 100644 --- a/docs/descargas/SHA256SUMS.txt +++ b/docs/descargas/SHA256SUMS.txt @@ -1,6 +1,6 @@ a68a87ff1f6b34a8284e9e5e32c95da7bb8d8adc071c5fd64412a3e744e46b28 hbox-tarjetaV3_4.0.0.bin -1458470bbdd95b490969976402bf2144a773a991b7650c55e3281687ba77b2e3 hbox-tarjetaV4_0.6.0.bin -8a0ee4839763eae8c96e990eb471dae30f0a491bfb9bd81fdfb39ee69436790a hbox-v5-bringup_0.6.0.bin +ef43a901ae9a875e6346ae8f84cc5f150a2419ff7cd577fe8f69780236840757 hbox-tarjetaV4_0.6.1.bin +6fbbc583ac2415a742ed062c1208d4a807e61085eb2615d76e4c6da400961ad2 hbox-v5-bringup_0.6.1.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 @@ -11,6 +11,7 @@ c96041aea04b1e6500ec45b558bdfcf5db94d102666a71f1b3c9d2364e40572a superseded/hbo 5c8726da662cd047d83740a5afee92974e5e941c5dd294769cd3508d81723217 superseded/hbox-tarjetaV4_0.5.7.bin 2e04b65f8ef1636d76f070e49e050c5d7ff6f60620eebaa452ec26baf9e9e7ab superseded/hbox-tarjetaV4_0.5.8.bin 582969957a1d67ce80e9e7a603dd66af4fcffeb82930f9e508fd360d6a289f9c superseded/hbox-tarjetaV4_0.5.9.bin +1458470bbdd95b490969976402bf2144a773a991b7650c55e3281687ba77b2e3 superseded/hbox-tarjetaV4_0.6.0.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 @@ -21,3 +22,4 @@ aed644c28fc3a098eedda55c7b4c2108b8ca9afcf0763b9bf85a7a2e1b4dd715 superseded/hbo 1acd5f46ddb76f1423d5a0550a2a827b4e04d4a0223b0999cb574302e4e61696 superseded/hbox-v5-bringup_0.5.7.bin 5b0cbf271711c72d10a795b4c1f96f97bc520cc50c8a24c2188e95fb33005760 superseded/hbox-v5-bringup_0.5.8.bin 98b12de64339ed34c45b59e48139d57304281e1041d11564c741407b960150e0 superseded/hbox-v5-bringup_0.5.9.bin +8a0ee4839763eae8c96e990eb471dae30f0a491bfb9bd81fdfb39ee69436790a superseded/hbox-v5-bringup_0.6.0.bin diff --git a/docs/descargas/hbox-tarjetaV4_0.6.1.bin b/docs/descargas/hbox-tarjetaV4_0.6.1.bin new file mode 100644 index 0000000000000000000000000000000000000000..bc2207cde188e372b64172f3ecb6c47d65c042db GIT binary patch literal 93096 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 literal 0 HcmV?d00001 diff --git a/docs/descargas/hbox-v5-bringup-README.md b/docs/descargas/hbox-v5-bringup-README.md index a277bc2..790cd18 100644 --- a/docs/descargas/hbox-v5-bringup-README.md +++ b/docs/descargas/hbox-v5-bringup-README.md @@ -55,6 +55,18 @@ 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) — `../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 21 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`) 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) +``` +Necesita g++ con `-m32` (Linux: `g++-multilib`); en un Mac con Apple silicon, dentro de Docker `linux/amd64` — ver +`tools/hostsim_v5/README.md`. No reemplaza la prueba de banco. + ## 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 diff --git a/docs/descargas/hbox-v5-bringup_0.6.1.bin b/docs/descargas/hbox-v5-bringup_0.6.1.bin new file mode 100644 index 0000000000000000000000000000000000000000..2ffe491c6c8ad235ccdf623bee6b41980e93203f GIT binary patch literal 93584 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%0D|AMLnZy3L045ds(BxCw~w9f1=lH0f76wm`a# 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 literal 0 HcmV?d00001 diff --git a/docs/descargas/index.md b/docs/descargas/index.md index 3ae9d53..dbcc22f 100644 --- a/docs/descargas/index.md +++ b/docs/descargas/index.md @@ -1,10 +1,10 @@ --- title: "Descargas" tags: [project-drogheda, hbox, descargas, firmware, v3, v4, v5, modem, zed-f9p] -date: 2026-09-27 +date: 2026-09-29 project: Project Drogheda author: Helgen Technologies -version: "1.9" +version: "2.0" --- # Descargas @@ -36,10 +36,10 @@ Un binario por tarjeta. El nombre lleva la tarjeta y eso manda; el número de ve | Tarjeta | MCU | Código fuente | Binario vigente | Estado | |---|---|---|---|---| | V3 — EinarBoard 1.0, 3 unidades en campo ([manual](../manuales/manual-tarjeta-V3.md)) | Blackpill en zócalo (F411CE) | `blackpillrtkcode_v4` (4.0.0) | [`hbox-tarjetaV3_4.0.0.bin`](hbox-tarjetaV3_4.0.0.bin) · 64 352 B · `a68a87ff…` | Compilado 19-sep, sin prueba de banco | -| V4 — `hbox-watchdog-v4` ([manual](../manuales/manual-tarjeta-V4.md)) | Blackpill + PCF8574 · W5500 · SC16IS752 | `hbox_v5_bringup` + `board_v4.h` (`-DHBOX_BOARD_V4`) | [`hbox-tarjetaV4_0.6.0.bin`](hbox-tarjetaV4_0.6.0.bin) · 88 556 B · `1458470bbdd95b49…` | Compilado 27-sep, sin prueba de banco. DFU solo con USB; puente U13-P7 → SW4G1 opcional ([procedimiento V4](../procedimientos/v4-prueba-fw-0.5.6.md)) | -| V5 — `hbox-watchdog-v5`, lote de 15 ([manual](../manuales/manual-tarjeta-V5.md)) | STM32F411RET6 soldado | `hbox_v5_bringup` (0.6.0) | [`hbox-v5-bringup_0.6.0.bin`](hbox-v5-bringup_0.6.0.bin) · `8a0ee4839763eae8…` | Vigente desde 27-sep, sin prueba de banco. Uso: [prueba y flasheo §5](../procedimientos/v5-prueba-y-flasheo.md) y [ensamble §5](../procedimientos/v5-ensamble.md) | +| V4 — `hbox-watchdog-v4` ([manual](../manuales/manual-tarjeta-V4.md)) | Blackpill + PCF8574 · W5500 · SC16IS752 | `hbox_v5_bringup` + `board_v4.h` (`-DHBOX_BOARD_V4`) | [`hbox-tarjetaV4_0.6.1.bin`](hbox-tarjetaV4_0.6.1.bin) · 93 096 B · `ef43a901ae9a875e…` | Compilado 28-sep, sin prueba de banco (primero H0027). DFU solo con USB; puente U13-P7 → SW4G1 opcional ([procedimiento V4](../procedimientos/v4-prueba-fw-0.5.6.md)) | +| V5 — `hbox-watchdog-v5`, lote de 15 ([manual](../manuales/manual-tarjeta-V5.md)) | STM32F411RET6 soldado | `hbox_v5_bringup` (0.6.1) | [`hbox-v5-bringup_0.6.1.bin`](hbox-v5-bringup_0.6.1.bin) · 93 584 B · `6fbbc583ac2415a7…` | Vigente desde 29-sep, sin prueba de banco (primero H0008). Uso: [prueba y flasheo §5](../procedimientos/v5-prueba-y-flasheo.md) y [ensamble §5](../procedimientos/v5-ensamble.md) | -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. +0.6.1 CAMPO (V4 y V5): cargador con gobernador (hasta 0.5.9 estaba apagado, paquete de un solo uso) que desde 0.6.1 ya no corta la carga por las ráfagas del módem; `$PHLG` de 36 campos. 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)**. !!! 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_…`. @@ -47,7 +47,7 @@ Un binario por tarjeta. El nombre lleva la tarjeta y eso manda; el número de ve - Nada de `superseded/`: se guarda solo por trazabilidad. - 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. +Las tres tarjetas mandan la misma trama: `$PHLG` cada 30 s y un `$PHEV` por cambio de estado, en banda por el módem (Modo B). V3 4.0.0 y V4/V5 hasta 0.6.0: 29 campos; V4/V5 0.6.1: 36 (los mismos 29 + 7 del gobernador de carga, al final). El monitor los parsea igual (`retranslator.py`: 20 campos base + 4 de v3 + 5 de 0.5.1 + 7 de 0.6.1, y `$PHEV`) y las tres se ven igual en Salud; un servidor sin el parser de 0.6.1 ignora los 7 campos nuevos. !!! 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. @@ -57,11 +57,11 @@ Las tres tarjetas mandan la misma trama: `$PHLG` de 29 campos cada 30 s y un `$P --output-dir build/v4-sinB blackpillrtkcode_v4 ``` -### Gobernador de carga (0.6.0) +### Gobernador de carga (0.6.x) -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 al PFI 4.60 V 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. +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 carga solo con etapa ON en 24 V; nunca en los primeros 120 s tras boot o STACK ON; arranca tras 30 s de riel ≥ 5.05 V; corta al instante bajo 4.90 V con enfriamiento de 60 s a 30 min; inhibe con celda ≥ 45 °C; rearma el safety timer del LTC4040. En fuente débil carga por ciclos: más lento, pero el módem nunca paga. 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 (columna Energía) solo con `chg=1` en `$PHLG`. `PHLG_FW` = `0.6.0` (sin "-fm"). Prueba de banco: [módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-060). Si corta sin parar: V5.6 (`RS1` 10 mΩ, `R50` 1.5 kΩ) o fuente de 4 A. +El gobernador (0.6.1) 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 con la media del riel ≥ 5.05 V; corta si una muestra baja de 4.70 V (DURO) o si la media de 200 ms queda bajo 4.90 V durante 1 s o baja de 4.85 V (SOSTENIDO), con enfriamiento de 60 s a 30 min; quitar el 24 V no cuenta como corte; inhibe con celda ≥ 45 °C; rearma el safety timer del LTC4040 solo entre 3.00 y 3.80 V y nunca con FALLA. En fuente débil carga por ciclos: más lento, pero el módem nunca paga. Eventos `CHG_ON/CHG_SHED/CHG_OFF/CHG_RAIL/CHG_FAULT/CHG_HOT/CHG_COOL/CHG_PULSE`; `STAT` → `carga=FASE … ltc=CARGANDO|no cortes= media= duty= cargado= caida= vdda=`; tecla `C` = veto. En el monitor, columna Energía: la fase del gobernador (espera de arranque, comprobando riel, espera tras corte…), 🔌 CARGANDO, «cargó N %» y «casi lleno». `PHLG_FW` = `0.6.1`. Prueba de banco: [módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-061). 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. Qué hacía 0.6.0 y por qué se cambió: [notas de versión](notas-de-version.md). ### Monitor con builds de ciclo @@ -76,10 +76,10 @@ Cotejada pad por pad (`hbox-watchdog-v4.kicad_pcb` contra `board_v5.h`): mismas DFU por J11 (mantén SW2, pulsa y suelta SW1, suelta SW2): ```bash -dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.6.0.bin +dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.6.1.bin ``` -o STM32CubeProgrammer → USB → Connect → Download en `0x08000000`. Tarjetas con cualquier versión anterior se reflashean igual. La primera línea tras reset dice la versión (`hbox-v5-bringup 0.6.0 built …`); si `STAT` no termina en `stack=…`, la tarjeta sigue con 0.1.1. +o STM32CubeProgrammer → USB → Connect → Download en `0x08000000`. Tarjetas con cualquier versión anterior se reflashean igual. Al arrancar, la consola imprime la versión (`hbox-v5-bringup 0.6.1 built …`); si `STAT` no trae `stack=`, la tarjeta sigue con 0.1.1. Consola: `EVT` en cada cambio (etapa, ignición, 5 V, cargador, NMEA, fix), `STAT` cada 5 s y `$PHLG` cada 10 s. `l` = leyenda, `v` = puntos de medición de la etapa RTK, `P` y luego `Y` = encender la etapa (requiere 5 V en P2). @@ -92,8 +92,9 @@ 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.0.bin`](superseded/hbox-v5-bringup_0.6.0.bin) · [`superseded/hbox-tarjetaV4_0.6.0.bin`](superseded/hbox-tarjetaV4_0.6.0.bin) | Con la ruta de 5 V justa (riel cerca de 5.0 V al cargar) el gobernador cortaba la carga en cada ráfaga del módem, porque bastaba una muestra bajo 4.90 V: la batería casi no cargaba y el monitor casi nunca mostraba 🔌 CARGANDO. Sustituida por 0.6.1 ([notas de versión](notas-de-version.md)). | | [`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 un ciclo de etapa que dejaba el módem oscuro hasta un reset (noche 26/27-sep). | +| [`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). | | [`superseded/hbox-v5-bringup_0.5.7.bin`](superseded/hbox-v5-bringup_0.5.7.bin) · [`superseded/hbox-tarjetaV4_0.5.7.bin`](superseded/hbox-tarjetaV4_0.5.7.bin) | Despertar de batería por reset del MCU: en banco no enciende el módem en batería (brown-out del boost); solo servía al volver el 5 V. | | [`superseded/hbox-v5-bringup_0.5.6.bin`](superseded/hbox-v5-bringup_0.5.6.bin) · [`superseded/hbox-tarjetaV4_0.5.6.bin`](superseded/hbox-tarjetaV4_0.5.6.bin) | Pulso `MODEM_RST` por U13-P7 (solo con puente); sin puente el módem no encendía en las ventanas y un reset en batería dejaba la etapa apagada. | | [`superseded/hbox-v5-bringup_0.5.5.bin`](superseded/hbox-v5-bringup_0.5.5.bin) · [`superseded/hbox-tarjetaV4_0.5.5.bin`](superseded/hbox-tarjetaV4_0.5.5.bin) | No usar. UART del GNSS en alta impedancia no bastó: `3V3_MODEM` queda en ~1 V y el módem no rearranca. | @@ -103,9 +104,10 @@ 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.0" +??? note "Historial por versión, 0.4.0 → 0.6.1" - 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.0 CAMPO: 0.5.9 + gobernador de carga (arriba). + - 0.6.1 CAMPO: 0.6.0 con el gobernador corregido: sin cortes por las ráfagas del módem, quitar el 24 V no cuenta como corte, prueba de la ruta de 5 V (`CHG_RAIL`), ADC calibrado con VREFINT; `$PHLG` de 36 campos. Detalle: [notas de versión](notas-de-version.md). + - 0.6.0 CAMPO (retirada): 0.5.9 + gobernador de carga; con la ruta de 5 V justa cortaba la carga en cada ráfaga del módem. - 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. @@ -163,5 +165,6 @@ Lista y comandos: [reflasheo §5](../procedimientos/reflasheo-unidades.md#5-para | 1.x | 2026-09-19 → 2026-09-27 | Cada binario nuevo (0.4.0 → 0.6.0) añadió su nota. | | 1.8 | 2026-09-29 | Historial por versión en cajas plegables; enlaces a manuales. | | 1.9 | 2026-09-29 | Edición breve. Una sola tabla de binarios vigentes; verificación SHA-256 con encabezado propio; tabla de parámetros del módem completa (antes en la configuración de la unidad); lista de publicación → reflasheo §5. | +| 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). | Versiones anteriores en git. diff --git a/docs/descargas/notas-de-version.md b/docs/descargas/notas-de-version.md new file mode 100644 index 0000000..5b18b28 --- /dev/null +++ b/docs/descargas/notas-de-version.md @@ -0,0 +1,207 @@ +--- +title: "Notas de versión — firmware V4 / V5" +tags: [project-drogheda, hbox, firmware, notas-de-version, v4, v5, cargador, ltc4040, descargas] +date: 2026-09-29 +project: Project Drogheda +author: Helgen Technologies +version: "1.0" +--- + +# Notas de versión — firmware V4 / V5 + +Un solo código fuente (`hbox_v5_bringup`) para las dos tarjetas: la V5 usa `hbox-v5-bringup_X.Y.Z.bin` y la V4 `hbox-tarjetaV4_X.Y.Z.bin`. La V3 tiene firmware propio (4.0.0) y no entra aquí. Binarios, SHA-256 y reglas de flasheo: [Descargas](index.md). + +!!! abstract "Las tres versiones en una línea" + - **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**: el gobernador distingue una ráfaga del módem de una fuente que no aguanta. El monitor ve en qué fase está el gobernador y las cargas cortas. + +## Estado al 29-sep-2026 + +| Versión | Fecha | Estado | Binarios | +|---|---|---|---| +| **0.6.1** | 28-sep | Vigente. **Sin prueba de banco todavía**: primero H0027 (V4) y H0008 (V5.5), después campo | [V5](hbox-v5-bringup_0.6.1.bin) · [V4](hbox-tarjetaV4_0.6.1.bin) | +| 0.6.0 | 27-sep | Retirada. Carga, pero con cortes; una unidad con 0.6.0 se reflashea a 0.6.1 | [V5](superseded/hbox-v5-bringup_0.6.0.bin) · [V4](superseded/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) | + +El servidor ya está listo para 0.6.1: htracker `4f11886`, desplegado el 29-sep, lee los 36 campos del `$PHLG`. Un servidor anterior ignora los 7 campos nuevos y muestra la unidad como si tuviera 0.6.0. + +## Comparación rápida + +| | 0.5.9 | 0.6.0 | 0.6.1 | +|---|---|---|---| +| 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 | +| Cuándo corta la carga | — | En cuanto **una** muestra rápida (ms) baja de 4.90 V: con el riel cerca de 5.0 V al cargar, una ráfaga LTE basta | **DURO**: una muestra < 4.70 V. **SOSTENIDO**: la media de 200 ms < 4.90 V durante 1 s seguido, o < 4.85 V | +| Quitar el 24 V mientras carga | — | Cuenta como corte y duplica la espera | No cuenta (`CHG_OFF BATT`) | +| 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` | 36 campos, `0.6.1` | +| 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) | 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` (ya no repite el DHCP cada 5 s) | + +## 0.6.1: el gobernador ya no corta la carga por las ráfagas del módem (28-sep) + +### Qué pasaba con 0.6.0 + +En el banco, H0027 (V4) con fuente de 5.30 V y ~0.15 Ω de cable hasta P2: el cargador arrancaba a los 157 s y cada carga duraba 57 s, 0 s o 9 s antes de que el gobernador la cortara. Al cargar, el riel en P2 baja de ~5.20 a ~5.00 V. Una ráfaga de transmisión LTE dura milisegundos y se come los ~100 mV que quedan, y a 0.6.0 le bastaba **una** muestra rápida bajo 4.90 V para cortar. Cada corte duplicaba la espera (60 s, 2 min, 4 min… hasta 30 min), así que la batería casi no cargaba. + +El monitor lee `CHRG_STAT` (campo 22 del `$PHLG`) una vez cada 30 s y casi nunca caía dentro de una de esas cargas cortas: por eso «no se veía cargando». El LTC4040 y el cargador estaban bien; H0008 (V5.5) estaba llena. + +### Qué cambia + +- **Corte en dos niveles.** DURO: una muestra rápida bajo **4.70 V**, que es la fuente colapsando (sobrecarga, hiccup); se corta en esa misma muestra, todavía 0.3 V sobre el PFI. SOSTENIDO: la **media de 200 ms** bajo **4.90 V durante 1 s seguido**, o una sola media bajo **4.85 V**; eso es la fuente o el cable sin fuerza para la carga. Las ráfagas del módem ya no cortan, ni solas ni cuando una ventana de 200 ms junta varias. La prueba de 30 s antes de arrancar (≥ 5.05 V) usa la misma media. +- **PFI real: 4.40 V.** En V4 y V5.5 el LTC4040 pasa el consumo de la tarjeta al paquete (boost) cuando el riel baja de 4.40 V (R51 270 k / R52 100 k), no en los 4.60 V de la V3 que suponía 0.6.0 (`BOARD_PFI_FALL_V` en `board_v4.h` / `board_v5.h`). +- **Quitar el 24 V no cuenta como corte.** Un corte solo cuenta si 3 s después sigue habiendo 5 V. Si no, sale `CHG_OFF BATT` y la espera no se duplica. Una fuente que se cae y vuelve en menos de 3 s sí cuenta: no sostuvo la carga. +- **Prueba de la ruta de 5 V (`CHG_RAIL`).** 5 s después de cada arranque de la carga el firmware mide cuánto bajó el riel. Lo esperado es menos de 0.10 V; más de 0.15 V es una ruta de 5 V débil hasta P2 (cable, conector o fuente). Sale como evento, en `STAT caida=` y en el `$PHLG` (`cdrop`). +- **Siete campos nuevos al final del `$PHLG` (30–36)**, para que el monitor vea el gobernador y las cargas cortas entre dos reportes: + + | Campo | Nombre | Qué es | + |---|---|---| + | 30 | `cgov` | Fase del gobernador: `HOLDOFF` `PROVING` `WAIT` `ON` `SHED` `COOLDOWN` `BATT` `NOTRUN` `PWRCYC` `INIT`, o `HOT` (celda caliente), `OP` (vetado con `C`), `OFF` (compilado sin cargador) | + | 31 | `cwait` | Segundos hasta que pueda arrancar la carga, contando los 30 s de prueba del riel (0 = carga permitida, −1 = nada programado) | + | 32 | `csheds` | Cortes contados desde el arranque (quitar el 24 V no cuenta) | + | 33 | `cduty` | % de los últimos 30 s cargando de verdad (−1 = sin dato) | + | 34 | `cchg_s` | Segundos cargando desde el arranque | + | 35 | `cdrop` | mV que bajó el riel en el último arranque de la carga (−1 = sin medir) | + | 36 | `vdda` | Referencia del ADC medida, en mV (0 = se usó la nominal de 3.30 V) | + +- **ADC calibrado con VREFINT.** El MCU mide su propia referencia con el dato de fábrica, así que 4.70 / 4.90 / 5.05 V valen lo mismo con cualquier regulador de 3.3 V. Fuera de 3.15–3.45 V usa 3.30 V nominal. +- **Pulso de rearranque del LTC4040, más prudente.** Solo entre 3.00 y 3.80 V: bajo ~3.90 V (V_RECHRG) el LTC4040 vuelve a cargar solo y arriba de eso un pulso no hace nada; 3.80 V deja margen para la tolerancia de V_RECHRG. Nunca con FALLA del cargador: con una batería mala el pulso reiniciaría su temporizador de 30 min y seguiría cargando una celda muerta. Se cuenta desde que `CHRG_EN` volvió a ON, así que una pausa ya no gasta el pulso de cada 30 min. +- **Fases más claras.** `WAIT` = riel bajo, o espera tras una caída cuando no había corriente de carga (no cuenta como corte). `SHED` = los 3 s en que se clasifica un corte. `COOLDOWN` = solo después de un corte contado. `PWRCYC` = ciclo de etapa (antes salía `NOTRUN`). La pausa por NTC (CHRG y FAULT bajos a la vez) ya no se cuenta como carga. Evento nuevo `CHG_FAULT ntc|bateria|fin`. +- **Robustez.** La espera de 120 s tras el arranque queda cerrada una vez cumplida: 0.6.0 la volvía a abrir a los 49.7 días, cuando el reloj del MCU da la vuelta. El cargador se pone en pausa antes de lo que bloquea el lazo varios segundos (`r`, `g`, `i`, `A`, el DHCP del build `-eth`) y el gobernador lo retoma al terminar. +- **Build de banco `0.6.1-eth`.** Con cable directo a la laptop y sin servidor DHCP, `0.6.0-eth` repetía el DHCP entero en cada intento: 4–5 s bloqueado cada 5 s, con el cargador puesto. `0.6.1-eth` hace un solo intento de DHCP al conectar el cable y después renueva el lease una vez por minuto, solo si lo hubo. Si el W5500 no responde, reintenta cada 10 min tras 3 fallos. + +### Qué se ve en la consola + +Cada evento sale como `EVT up= `; en la tabla, solo el texto. + +| Línea | Qué significa | +|---|---| +| `CARGA ON: riel 5.xx V estable 30 s, vbat=…` | Arrancó la carga | +| `CARGA: riel 5.2x -> 5.0x V con el cargador (caida 0.xx V)` | 5 s después del arranque. Si sale además `RUTA DE 5 V DEBIL`, revisar cable, conector o fuente hasta P2 | +| `CARGA cortada (DURO): muestra rapida …` | La fuente colapsó | +| `CARGA cortada (SOSTENIDO): media 200 ms …` | La fuente o el cable no sostienen la carga | +| `CARGA OFF: se fue el 5 V … no cuenta como corte del gobernador` | Se quitó el 24 V | +| `CARGA en pausa: pruebas r …` | Pausa durante `r`, `g`, `i`, `A` o DHCP; se retoma sola | +| `STAT … carga=ON 812s pin=ON ltc=CARGANDO cortes=0(duro 0/sost 0) media=5.03 duty=100% cargado=812s caida=0.21V vdda=3.297` | Fase y segundos en ella, pin `CHRG_EN`, estado real del LTC4040, cortes (duros / sostenidos), media del riel, % cargando en los últimos 30 s, segundos cargando desde el arranque, caída del último arranque, referencia del ADC | + +Eventos en banda (`$PHEV`, los ve el servidor): `CHG_ON`, `CHG_SHED duro|sost`, `CHG_OFF`, `CHG_RAIL`, `CHG_FAULT`, `CHG_PULSE`, `CHG_HOT`, `CHG_COOL`, y `CHRG_ON` / `CHRG_IDLE` (flanco real del LTC4040). + +### Qué se ve en el monitor + +Columna **Energía** (lista y detalle). El tile de batería del detalle dice lo mismo con otras palabras («sin cargar: espera de arranque…», «cargador permitido pero sin corriente»). Las cuentas atrás incluyen los 30 s de prueba del riel. + +| Dice | Qué significa | Qué hacer | +|---|---|---| +| 🔌 CARGANDO | El LTC4040 estaba cargando en la muestra de 30 s | — | +| cargó N % | Cargó ese % de los últimos 30 s aunque la muestra no lo vio | — | +| espera de arranque 2:30 | Primeros 120 s tras el arranque o tras encender la etapa (el módem se registra antes de cargar), más la prueba del riel | Esperar | +| comprobando riel 0:12 | Los 30 s de prueba del riel antes de arrancar | Esperar | +| riel bajo para cargar | La media del riel no llega a 5.05 V, o espera tras una caída sin corriente de carga (con cuenta atrás; no cuenta como corte) | Fuente a 5.2–5.4 V medidos en P2; revisar cable | +| corte por riel | Los 3 s en que se clasifica un corte | Si se repite, ver la fila siguiente | +| espera tras corte 1:30 · 1 corte | Espera tras un corte contado: 60 s, que se duplican con cada corte (tope 30 min), más la prueba del riel | Varios cortes: [ruta de 5 V débil](#el-limite-de-la-ruta-de-5-v) | +| ciclo de etapa | Recuperación de enlace; la carga espera 120 s más la prueba de riel | — | +| etapa apagada | La etapa RTK está apagada | — | +| celda caliente | Celda ≥ 45 °C; vuelve a cargar bajo 40 °C | Revisar ventilación y sol directo | +| vetado (C) | Alguien bloqueó el cargador con `C` en la consola | `C` otra vez | +| casi lleno | Gobernador en ON y el LTC4040 terminó (pasó C/8) con 3.85–3.97 V | Normal. Bajo 3.90 V el LTC4040 vuelve a cargar solo | +| ✅ CARGADA | 5 V del vehículo presentes y batería ≥ 3.97 V | — | +| cargador sin corriente | Gobernador en ON pero el LTC4040 no carga, bajo 3.85 V | Entre 3.00 y 3.80 V el firmware manda el pulso de rearranque. Si sigue: paquete, NTC P4-3 y R50 | +| ⏸ PAUSA NTC · ⚠ FALLA CARGADOR | Lo dice el LTC4040: NTC del paquete fuera de rango o batería mala | Revisar NTC P4-3 y paquete | +| riel −0.2x V al cargar (detalle) | `cdrop` > 150 mV | Cable, conector o fuente hasta P2 | + +En HISTORIAL la franja verde marca también los intervalos con `cduty` > 0, y el tooltip dice la fase del gobernador. Las exportaciones CSV / XLSX / PDF traen las 7 columnas nuevas al final. + +### El límite de la ruta de 5 V + +No es falla del firmware. La corriente de entrada del cargador es máxima cuando el paquete pasa de corriente constante a voltaje constante (~3.8 V): ~2.2 A al cargador más ~0.6 A de la etapa, unos **2.8 A** por el cable hasta P2. Con esa corriente la media del riel en P2 tiene que quedar en 4.90 V o más: + +**R hasta P2 ≤ (V de la fuente − 4.90 V) / 2.8 A** → con 5.30 V, 0.14 Ω como máximo; con 5.40 V, 0.18 Ω. + +Con más resistencia, los cortes SOSTENIDOS empiezan antes de ese punto, cuando el paquete llega a cierto voltaje, y la carga se estanca ahí. El módem queda protegido, pero el paquete no se llena. H0027 en el banco (0.15 Ω a 5.30 V) está en ese caso: cortes desde ~3.6 V. Con la fuente a 5.40 V pasa la regla. Remedio: subir la fuente dentro del rango del manual de la tarjeta (5.2–5.4 V en P2), acortar o engrosar el cable, o ambas cosas. La medición del firmware sirve de guía: `caida=` en `STAT` (evento `CHG_RAIL`) debería quedar bajo 0.10 V. En la V5.6 el cargador pide ~1.3 A (`R50` 1.5 kΩ) y el margen es mucho mayor. + +### 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. +- **Falta la prueba de banco** ([módem en batería §1](../procedimientos/prueba-bateria-modem.md#1-cargador-061), vale también para la V4): 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 + +| Archivo | Tarjeta | Tamaño | SHA-256 | +|---|---|---|---| +| [`hbox-v5-bringup_0.6.1.bin`](hbox-v5-bringup_0.6.1.bin) | V5.5 (V5.6 solo con paquete Li-ion) | 93 584 B | `6fbbc583ac2415a742ed062c1208d4a807e61085eb2615d76e4c6da400961ad2` | +| [`hbox-tarjetaV4_0.6.1.bin`](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. + +## 0.6.0: el cargador vuelve, con gobernador (27-sep) + +### Por qué + +Hasta 0.5.9 el firmware dejaba el cargador apagado: tras la primera noche en batería la unidad se quedaba sin respaldo. H0008 amaneció a 3.50 V y en 24 V seguía «sin cargar». En V5.5 / V4 no se puede encender el cargador sin más. `RS1` de 8 mΩ fija el límite de entrada del LTC4040 en ≈ 3.1 A, por encima de los 3 A del SD-15B, y `R50` de 825 Ω pide 2.4 A de carga con el paquete vacío. Paquete vacío + etapa + ráfaga LTE sobrepasan la fuente, el riel cae al PFI, el LTC4040 pasa el consumo al paquete (que está vacío) y la unidad entra en brown-out, reset y bucle: el incidente de flota del 10-ago. + +### Qué hace + +- **Gobernador de carga** (`chargeService`, adaptado del firmware de flota v3.0.1). Es lo único que mueve `CHRG_EN` después del arranque: + - Carga solo con la etapa ON en 24 V, sin respaldo de batería ni ciclo de etapa en curso. + - Nunca en los primeros 120 s tras el arranque ni tras cada STACK ON: primero se registra el módem. + - Arranca tras 30 s de riel ≥ 5.05 V. + - Corta al instante si una muestra rápida del riel baja de 4.90 V. Espera 60 s antes de reintentar, y la espera se duplica con cada corte hasta 30 min; vuelve a 60 s tras 10 min cargando bien. + - Con la celda (TMP102) a 45 °C o más no carga; vuelve bajo 40 °C. El NTC del paquete (R55) sigue como respaldo en el propio LTC4040. + - Si tras 60 s permitido el LTC4040 no carga y el paquete está bajo 3.90 V, un pulso de 500 ms en `CHRG_EN` rearma su temporizador de seguridad (máximo uno cada 30 min). +- **Consola**: `STAT … carga=FASE … pin= ltc= cortes=`; eventos `CHG_ON`, `CHG_SHED`, `CHG_OFF`, `CHG_HOT`, `CHG_COOL`, `CHG_PULSE` y `CHRG_ON` / `CHRG_IDLE`; tecla `C` = veto del operador. +- **`$PHLG` sin cambios** (29 campos). `PHLG_FW` pasa a `0.6.0` (sin «-fm»: ya no es el «field-minimum» sin cargador). El campo 22 (`chg`) sigue siendo el `CHRG_STAT` real del LTC4040. +- `-DENABLE_CHARGE=0` compila el comportamiento de 0.5.x (cargador siempre apagado). + +### Qué salió mal + +El corte por una sola muestra rápida bajo 4.90 V confundía las ráfagas del módem (milisegundos) con una fuente que no aguanta, y la espera crecía con cada corte. En unidades con la ruta de 5 V justa la batería casi no cargaba. Además el monitor solo veía `CHRG_STAT` en el instante de cada muestra de 30 s. Lo resuelve 0.6.1. + +## 0.5.9: la base, sin ciclos de etapa en batería y sin cargador (27-sep) + +### Por qué + +Noche 26/27-sep con 0.5.8 (V5.5 en batería toda la noche): amaneció a 3.50 V con el F9P vivo y el módem oscuro, y al volver los 24 V el módem siguió oscuro hasta un reset (SW1 / P10) o `SW4G1`. En V5.5 / V4 el módem no arranca en frío sobre el boost del LTC4040. 0.5.8 tenía dos fallas: la recuperación de enlace seguía activa en batería y probablemente cicló la etapa esa noche, y al volver el 5 V no reseteaba si la etapa «venía de 24 V». + +### Qué hace + +- **Ningún ciclo de etapa en batería.** La recuperación de enlace (sin NMEA, RTK perdido) solo actúa con 5 V presente. Un ciclo en curso al perder el 5 V termina con la etapa apagada (`RECOVERY_ABORT`) y la etapa vuelve con el 5 V. +- **Reset del MCU al volver el 5 V tras ≥ 10 s de respaldo, siempre.** Es lo mismo que pulsar P10. Un parpadeo de menos de 10 s no resetea. +- **Sin ahorro en batería.** La etapa y el módem siguen encendidos y reportando igual que en 24 V (~10–13 h) hasta el corte de 3.40 V. +- **Vigilancia del módem, solo diagnóstico.** V4 / V5 no tienen señal de estado del módem; el firmware lo infiere por las correcciones RTCM que llegan al F9P y por las caídas del riel que hacen sus ráfagas. `STAT` añade `rtcm_age= sta= rtcm_last= sag5= sagb= flat= modem=vivo|SOSPECHOSO|?`; eventos `MODEM_DARK`, `MODEM_BACK`, `MODEM_WATCH`. No actúa sobre el módem. +- **Cargador apagado**, como en todas las 0.4.x–0.5.x. El paquete no se recarga en la unidad. Monitor: «cargador OFF (fw)». +- `$PHLG` de 29 campos; `PHLG_FW` = `0.5.9-fm`. + +### Si la unidad viene de 0.5.1–0.5.8 + +0.5.1 fue la última embarcada antes de 0.6.0. Al pasar a 0.6.1 también cambia esto: + +- 0.5.1 podía ciclar la etapa en batería (recuperación de enlace activa) y dejar el módem oscuro hasta los 24 V más un reset. Desde 0.5.9 no pasa. +- 0.5.2–0.5.7 apagaban la etapa entre ventanas de reporte cada 10 min en batería; 0.5.8 mandaba ráfagas cada 10 min. Retiradas: desde 0.5.9 el reporte en batería es continuo. +- Desde 0.5.6, 5 s después de cada STACK ON (3 s hasta 0.5.7) el MCU pulsa el reset del módem por U13-P7. Hace falta el puente a `SW4G1`; sin él no hace nada. +- Desde 0.5.7: tecla `R` (reset del MCU por software, igual que P10). + +Detalle de cada versión anterior: [Descargas → versiones superadas](index.md#versiones-superadas). + +## 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` (`-eth` en los builds de banco con Ethernet). 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. +- 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 salió como arreglo del cargador y solo comprueba que el SC16IS752 responde. +- 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 + +| Versión | Fecha | Cambios | +|---|---|---| +| 1.0 | 2026-09-29 | Primera versión: 0.5.9, 0.6.0 y 0.6.1. | diff --git a/docs/descargas/hbox-tarjetaV4_0.6.0.bin b/docs/descargas/superseded/hbox-tarjetaV4_0.6.0.bin similarity index 100% rename from docs/descargas/hbox-tarjetaV4_0.6.0.bin rename to docs/descargas/superseded/hbox-tarjetaV4_0.6.0.bin diff --git a/docs/descargas/hbox-v5-bringup_0.6.0.bin b/docs/descargas/superseded/hbox-v5-bringup_0.6.0.bin similarity index 100% rename from docs/descargas/hbox-v5-bringup_0.6.0.bin rename to docs/descargas/superseded/hbox-v5-bringup_0.6.0.bin diff --git a/docs/formularios/ethernet-serie.html b/docs/formularios/ethernet-serie.html index ea6eab0..d1042a2 100644 --- a/docs/formularios/ethernet-serie.html +++ b/docs/formularios/ethernet-serie.html @@ -14,7 +14,7 @@