diff --git a/backend/lotes/2026-10-29_fw-070-pre2-auditoria.json b/backend/lotes/2026-10-29_fw-070-pre2-auditoria.json new file mode 100644 index 0000000..5085437 --- /dev/null +++ b/backend/lotes/2026-10-29_fw-070-pre2-auditoria.json @@ -0,0 +1,124 @@ +{ + "lote": "2026-10-29_fw-070-pre2-auditoria", + "autor": "claude", + "motivo": "29-oct (Leo, 08:11 «audit it exhaustively … compatible with boards 5.6 and 5.7 and hopefully V6.0»; 08:19 «continue working on the firmware»): firmware 0.7.0-pre2 con F-2, F-3, F-5 y E-3, tres revisiones independientes (V5.6/V5.7, lo nuevo y la v6; 33 hallazgos corregidos), procedimiento 1.2 y actas al día; la v6 necesita decisiones antes de G1.", + "fuente": "/hardware/firmware-auditoria-29oct/", + "cambios": [ + { + "id": "t-fw-070", + "poner": { + "descripcion": "Un solo binario para V5.6 y V5.7 (board_v56.h, -DHBOX_BOARD_V56; las dos tarjetas son iguales pin a pin).\n\nHecho al 29-oct: 0.7.0-pre2 (solo banco) = F-1, F-6, F-7 y F-8 de 0.7.0-pre + F-2 (ciclo de 10 min en batería con STOP + RTC, LSE o LSI; movimiento abre ventana), F-3 (driver del SC16IS752 y prueba serie con S/U), F-5 (LIS2DH12: 1 g y movimiento por INT1) y E-3 (PHY del W5500 en power-down), más la auditoría del 29-oct: tres revisiones independientes (A: 0.7.0-pre en V5.6/V5.7, 17 de 23 corregidos; C: lo nuevo de pre2, 16 de 19; B: la v6). Abiertos: A-02 y la A/B del W5500 (tecla W), que se deciden en el banco. Autoprueba 21 PASS por USB / 22 con 5 V. Simulador 118/118. Builds reproducibles (SOURCE_DATE_EPOCH): base 128 204 B y -eth 129 304 B (sin F-2 ni la prueba serie: no caben con Ethernet en el RCT6). hbox-firmware 82905a6.\n\nFalta para 0.7.0 de campo: F-4 Ethernet de campo configurable (la flash del RCT6 va al 97–98 %: antes, el plan de la auditoría §3.3); A-02 (vida del módem con el caster caído, después de caracterizar el LED en el banco); el banco del piloto (criterios 1–8). FOTA no entra en 0.7.0 (D-22-6).", + "enlaces": [ + { + "titulo": "Auditoría del firmware 29-oct (V5.6/V5.7 y v6)", + "url": "/hardware/firmware-auditoria-29oct/" + }, + { + "titulo": "0.7.0-pre2 en Descargas (prueba)", + "url": "/descargas/#firmware-del-hbox-que-binario-va-en-que-tarjeta" + }, + { + "titulo": "Notas de versión 0.7.0-pre2", + "url": "/descargas/notas-de-version/#070-pre2-en-prueba" + }, + { + "titulo": "Prueba y flasheo V5.6/V5.7 (1.2)", + "url": "/procedimientos/v56-v57-prueba-y-flasheo/" + } + ] + }, + "nota": "29-oct: 0.7.0-pre2 publicado para el banco (F-2, F-3, F-5, E-3 + auditoría: 33 hallazgos corregidos; A-02 y la A/B del W5500 se deciden en el banco). Queda F-4 Ethernet de campo; la fecha nueva la pone Leo." + }, + { + "id": "t-v56-banco-piloto", + "poner": { + "titulo": "Banco del piloto V5.6: ciclo de 10 min ×20, carga (TP7 ≈ 1.0), Ethernet, RS-232/485 y acelerómetro", + "descripcion": "2 días, con el firmware 0.7.0-pre2 (procedimiento de prueba y flasheo V5.6/V5.7 1.2, §10). Ya se pueden correr los 8 criterios: el 3 (20 ciclos de 10 min, piso dormido con PPK2, /SYS5V con osciloscopio) y el 5 (lazo serie con S/U y Ethernet 24 h con el build -eth). Además: caracterizar el LED del módem en cada estado (§7.6, decide A-02) y medir el piso con el W5500 en power-down y en reset (tecla W, §10.1.5). Si pasa, se liberan las V5.6 del volumen. Alta: Claude.", + "bloqueada_por": [ + "t-v56-piloto" + ] + }, + "nota": "29-oct: 0.7.0-pre2 publicado: ya no lo bloquea t-fw-070 (F-4 no hace falta en el banco). Título: «ciclo de 10 min», no «10 s». Criterios 3 y 5 escritos en el §10.1 del procedimiento 1.2." + }, + { + "id": "t-v57-banco-prototipos", + "poner": { + "bloqueada_por": [ + "t-v56-piloto" + ] + }, + "nota": "29-oct: 0.7.0-pre2 publicado (procedimiento 1.2): el banco de la V5.7 ya solo espera las tarjetas del piloto. §10.2 suma caídas de arranque del motor (24→8 V 200 ms, 12→6 V 500 ms; auditoría A-05)." + }, + { + "id": "t-banco-revision-hw", + "nota": "29-oct: el procedimiento ya va en 1.2 (0.7.0-pre2): criterios 3 y 5 escritos (§10.1), caracterización del LED del módem (§7.6), osciloscopio en J8.1 con Q (§7.8) y modo=AUTO al cerrar (§11). Vale revisarlos también." + }, + { + "id": "t-v6-cierre-pedido", + "nota": "29-oct (auditoría del firmware, agente B): el 0.7.0 no corre en la v6 (PC3 = RTK_STAT, módem en PC10, F9P de fábrica a 38 400, EFCR 0x10); se reutiliza ≈ 85 % del código y faltan 45–60 KB (A7670, NTRIP, enlace, F9P, aprovisionamiento, FOTA). Decisiones en d-29-2." + }, + { + "id": "t-v6-g1-paquete", + "nota": "29-oct: antes del paquete, que Leo decida d-29-1 (cambios de hardware de la v6 que encontró la auditoría del firmware: retención de la SIM, 1 kΩ en /GNSS_RTK_STAT, ID en PC4, CLPROG → PB1, DTR por U5, quitar K1)." + }, + { + "crear": { + "id": "d-29-1-v6-hw-firmware", + "titulo": "D-29-1: cambios de hardware de la v6 antes de G1 que pide el firmware — decide Leo", + "pista": "ingenieria", + "estado": "por-hacer", + "responsable": "leo", + "campeon": "leo", + "sitios": [ + "qro" + ], + "version_tarjeta": "v6", + "fecha_limite": "2026-11-01", + "etiquetas": [ + "decisión", + "v6" + ], + "descripcion": "La auditoría del firmware (agente B, 29-oct) encontró cosas que el firmware no puede arreglar en la v6. Propuesta de Claude, en orden:\n1. Retención de la SIM: J11 es push-push y es la única SIM (T48). Cinta, tapa o espuma que la presione (o un portatarjetas con seguro) y una prueba de vibración en el banco.\n2. Protección contra el binario equivocado: 1 kΩ en serie en /GNSS_RTK_STAT junto a U3.11 (PC3, que la V5.x maneja como MODEM_EN) y un divisor de ID en PC4 (2 resistencias 0402).\n3. Casi sin costo: CLPROG → PB1 con 1 MΩ + 100 nF (corriente de entrada visible); DTR del A7670 por el canal 2 de U5 a PB5 con 100 kΩ a GND; 100 kΩ de /DOUT_4G a /3V3 (opcional).\n4. Quitar K1, Q4, D3, R48 y R49 (D-v6-3).\nSí → Michelle los mete antes del paquete de G1. No → se documenta y el firmware vive con el riesgo.", + "enlaces": [ + { + "titulo": "Auditoría del firmware §5.7", + "url": "/hardware/firmware-auditoria-29oct/#57-cambios-de-hardware-de-la-v6-que-valen-antes-de-g1-2-nov" + } + ] + }, + "si_no_hay": [ + "D-29-1" + ] + }, + { + "crear": { + "id": "d-29-2-v6-firmware-plan", + "titulo": "D-29-2: firmware de la v6 — ruta del RTCM, contrato con htracker, ID, secretos, banco de evaluación y G2 — decide Leo", + "pista": "ingenieria", + "estado": "por-hacer", + "responsable": "leo", + "campeon": "leo", + "sitios": [ + "qro" + ], + "version_tarjeta": "v6", + "fecha_limite": "2026-10-31", + "etiquetas": [ + "decisión", + "v6", + "firmware" + ], + "descripcion": "La v6 necesita un enlace nuevo en el MCU (A7670, NTRIP, UDP, F9P desnudo, aprovisionamiento, FOTA): ≈ 39–53 días-ingeniero (centro ≈ 46). Decisiones (propuesta de Claude):\n1. RTCM: el MCU lo reenvía al F9P por USART2 con el CRC revisado y se apagan las entradas del UART2 del F9P (el diseño dice hardware y el §13.4 un socket no transparente: se excluyen).\n2. Enlace con htracker (Gibran): UDP, los mismos formatos y una línea de identidad como el $GPTXT H00xx de hoy.\n3. ID de tarjeta: hoy la prueba de PC12; en hardware, divisor en PC4 (D-29-1).\n4. Secretos (APN, usuario NTRIP, estación): registro de configuración por unidad escrito en la fábrica; nunca en el repo ni en una imagen de FOTA.\n5. Banco de evaluación esta semana (≈ US$100–150): NUCLEO-F411RE, A7670SA del mismo sufijo (-LASC), adaptadores 74LVC2T45, nano-SIM de Vectro.\n6. G2: el piloto de la v6 con el MVP en banco a principios de diciembre e imagen de fábrica con FOTA a mediados o finales de diciembre (el 22-nov con firmware de campo no se alcanza).", + "enlaces": [ + { + "titulo": "Auditoría del firmware §5 (v6)", + "url": "/hardware/firmware-auditoria-29oct/#5-la-v6-que-del-070-sirve-y-que-falta" + } + ] + }, + "si_no_hay": [ + "D-29-2" + ] + } + ] +} diff --git a/docs/actas/index.md b/docs/actas/index.md index e24d1cf..bce35f4 100644 --- a/docs/actas/index.md +++ b/docs/actas/index.md @@ -27,7 +27,7 @@ El acta de ensamble no deja elegir un módulo sin aprobar, sin integración o ya | Acta | Qué registra | Procedimiento | |---|---|---| | [Tarjeta V5](../formularios/v5.html) | Lote de 15 (V5-01 … V5-15; 30 seleccionables) | [Prueba y flasheo](../procedimientos/v5-prueba-y-flasheo.md) | -| [Tarjeta V5.6](../formularios/v56.html) · [Tarjeta V5.7](../formularios/v57.html) | Piloto (V56-NN / V57-NN): inspección con U14, rieles, flasheo de 0.7.0-pre, autoprueba, módem con el juego de banco, batería, ignición | [Prueba y flasheo V5.6/V5.7](../procedimientos/v56-v57-prueba-y-flasheo.md) | +| [Tarjeta V5.6](../formularios/v56.html) · [Tarjeta V5.7](../formularios/v57.html) | Piloto (V56-NN / V57-NN): inspección con U14, rieles, flasheo de 0.7.0-pre2, autoprueba, módem con el juego de banco, batería, ignición | [Prueba y flasheo V5.6/V5.7](../procedimientos/v56-v57-prueba-y-flasheo.md) | | [Banco del piloto](../formularios/piloto.html) | Una por versión (PILOTO-V5-6, PILOTO-V5-7): los 8 criterios que liberan las 135 V5.6 y las 365 V5.7 | [Prueba y flasheo §10](../procedimientos/v56-v57-prueba-y-flasheo.md#10-banco-del-piloto-los-8-criterios-para-liberar-las-135-y-las-365) | | [Ensamble V5.6](../formularios/ensamble-v56.html) · [Ensamble V5.7](../formularios/ensamble-v57.html) | Tarjeta V5.6/V5.7 + pareja aprobada → unidad `HBOX56-…` / `HBOX57-…` con su prueba | [Ensamble V5.6/V5.7](../procedimientos/v56-v57-ensamble.md) | | [ArduSimple](../formularios/ardusimple.html) | Un receptor ARD-001 … ARD-100: visual, fix, configuración | [Módulos §1](../procedimientos/v5-modulos-integracion.md#1-simplertk2b-pro-acta-ardusimple) | diff --git a/docs/bitacora.md b/docs/bitacora.md index 5bf4c2c..cccb5c5 100644 --- a/docs/bitacora.md +++ b/docs/bitacora.md @@ -22,6 +22,10 @@ Arriba, lo que pasó en el tablero de pendientes y en las actas en los últimos ### Octubre de 2026 +**29 oct** +: **[Auditoría del firmware 0.7.0](hardware/firmware-auditoria-29oct.md) y 0.7.0-pre2 para la V5.6 y la V5.7, en prueba de banco** (Leo, 08:11: «audit it exhaustively … compatible with boards 5.6 and 5.7 and hopefully V6.0»; 08:19: «continue working on the firmware»). Tres revisiones independientes: A (0.7.0-pre en la V5.6/V5.7), B (la v6) y C (lo nuevo de 0.7.0-pre2). Sin bloqueantes para el banco; el único para campo (A-01: a los 24.86 días un módem sano quedaba «oscuro» y se reiniciaba cada 0.6 s) y 32 hallazgos más quedaron corregidos. Con 0.7.0-pre2 se corren **los 8 criterios del piloto**: ciclo de 10 min en batería con el MCU en STOP (criterio 3; sin USB), prueba de los puertos serie con `S`/`U` (criterio 5), acelerómetro y el PHY del W5500 apagado (con la tecla `W` se compara contra el reset en el PPK2). Autoprueba 21 PASS por USB (22 con 5 V); simulador 118/118. `hbox-tarjetaV56_0.7.0-pre2.bin` (`43aeabcf…`) y `-eth` (`051af1b2…`), reproducibles; 0.7.0-pre a `superseded/` ([Descargas](descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta) · [notas de versión](descargas/notas-de-version.md#070-pre2-en-prueba)). [Prueba y flasheo](procedimientos/v56-v57-prueba-y-flasheo.md) 1.2 y actas al día. Abiertos: A-02 (LED del módem con el caster caído) y la A/B del W5500, que se deciden en el banco. `hbox-firmware` `82905a6`. +: **La v6 no puede correr este binario** (PC3 es `RTK_STAT`, el módem enciende con PC10, el F9P de fábrica habla a 38 400 y su EFCR es 0x10): se reutiliza ≈ 85 % del código y falta el enlace propio (A7670, NTRIP, UDP, F9P, aprovisionamiento, FOTA; ≈ 39–53 días-ingeniero). Decisiones para Leo: **D-29-1** (seis cambios de hardware de la v6 antes de G1: retención de la SIM, 1 kΩ en `/GNSS_RTK_STAT`, ID en PC4, CLPROG → PB1, DTR por U5, quitar K1) y **D-29-2** (ruta del RTCM, contrato con htracker, ID, secretos, banco de evaluación y G2) ([§5](hardware/firmware-auditoria-29oct.md#5-la-v6-que-del-070-sirve-y-que-falta)). Lote `2026-10-29_fw-070-pre2-auditoria`. + **28 oct** : **T42b: la clase HV24 completa en la V5.6 y la V5.7** (`HBox_PCB 8b0a23a`, 14:20; Leo, 12:57: «yes», antes de pedir el piloto). A los patrones de HV24 les faltaba la «/» y solo `/24V_IN` era HV24; ahora entran todas las redes de 24 V y rigen las reglas F-01 de la v6 (0.2 mm entre redes HV24, 0.3 mm en las caras y 0.5 mm adentro). Salieron 14 errores en la V5.6 (y una isla de GND que quedaba sin conectar) y 16 en la V5.7; se arreglaron por script (`tools/t42b_v5.py`). El que más importaba: la línea EN de U15 en la V5.7 (8.4 V máx.) ya va a 0.38 mm o más de `/24V`. DRC igual que antes (los 3 de MOD1), 0 sin conectar y paridad limpia; **BOM, CPL y designadores idénticos**, cambian el cobre y los barrenos. Revisión independiente en dos rondas: la primera encontró una vía de costura que el paquete sacaba con otra red (§4); ya está corregido y la segunda dio GO. Los pasos del pedido no cambian ([T42b](hardware/t42b-hv24-28oct.md) · [instrucciones para Leo](hardware/instrucciones-leo-27oct.md#21-archivos)). Documentos de diseño [V5.6](hardware/diseno-v56.md) y [V5.7](hardware/diseno-v57.md) a la v1.5. Lote `2026-10-28_t42b-hv24`. diff --git a/docs/descargas/SHA256SUMS.txt b/docs/descargas/SHA256SUMS.txt index e58fe32..6735e82 100644 --- a/docs/descargas/SHA256SUMS.txt +++ b/docs/descargas/SHA256SUMS.txt @@ -2,8 +2,8 @@ a68a87ff1f6b34a8284e9e5e32c95da7bb8d8adc071c5fd64412a3e744e46b28 hbox-tarjetaV3 1458470bbdd95b490969976402bf2144a773a991b7650c55e3281687ba77b2e3 hbox-tarjetaV4_0.6.0.bin 8a0ee4839763eae8c96e990eb471dae30f0a491bfb9bd81fdfb39ee69436790a hbox-v5-bringup_0.6.0.bin a6c3b4677fa696bb08b99abae70d464c8593aad8be0d3f3883815d3769e0d281 prueba/hbox-tarjetaV4_0.6.3.bin -2d0969b08e8670c879a3e0b80f7a0a432d48b117afe3402017940f6550658227 prueba/hbox-tarjetaV56_0.7.0-pre-eth.bin -8dd260473e933d17c9e5d75d5cf7c1b3248944fc703f99842026d9354f6ffd57 prueba/hbox-tarjetaV56_0.7.0-pre.bin +051af1b2c7596c169069b030123c748ab7c2378a8b2f877453ad85f9ae3bdfca prueba/hbox-tarjetaV56_0.7.0-pre2-eth.bin +43aeabcfdb7055c106b7702682f099fdd5b83499f28cfcfab43a2fa41b1ea6a2 prueba/hbox-tarjetaV56_0.7.0-pre2.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 @@ -17,6 +17,8 @@ c96041aea04b1e6500ec45b558bdfcf5db94d102666a71f1b3c9d2364e40572a superseded/hbo 582969957a1d67ce80e9e7a603dd66af4fcffeb82930f9e508fd360d6a289f9c superseded/hbox-tarjetaV4_0.5.9.bin ef43a901ae9a875e6346ae8f84cc5f150a2419ff7cd577fe8f69780236840757 superseded/hbox-tarjetaV4_0.6.1.bin ec7425ace7a43d36238ecf9536c82d06b6f9b5304aad49748031ebe35b5167af superseded/hbox-tarjetaV4_0.6.2.bin +2d0969b08e8670c879a3e0b80f7a0a432d48b117afe3402017940f6550658227 superseded/hbox-tarjetaV56_0.7.0-pre-eth.bin +8dd260473e933d17c9e5d75d5cf7c1b3248944fc703f99842026d9354f6ffd57 superseded/hbox-tarjetaV56_0.7.0-pre.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 diff --git a/docs/descargas/hbox-v5-bringup-README.md b/docs/descargas/hbox-v5-bringup-README.md index 3976385..462bd37 100644 --- a/docs/descargas/hbox-v5-bringup-README.md +++ b/docs/descargas/hbox-v5-bringup-README.md @@ -41,29 +41,42 @@ mv out-v4/hbox_v5_bringup.ino.bin release/hbox-tarjetaV4_0.5.1.bin PB2 is BOOT1 on the F411: enter DFU with **USB only** (W5500 unpowered) so INTn cannot hold BOOT1 high. The first console line must read `board=EinarBoard v4 (HBOX v4)`. -### EinarBoard V5.6 / V5.7 (0.7.0-pre, 27-oct) — same sketch, `board_v56.h` +### EinarBoard V5.6 / V5.7 (0.7.0-pre2, 29-oct) — same sketch, `board_v56.h` + `flash_guard.c` One binary for both boards (the 64 MCU pins are identical). The pilot carries the **STM32F411RCT6** (256 KB, T47), so the build targets `GENERIC_F411RCTX`, keeps the EEPROM emulation in **sector 5** (`0x08020000`) and caps the image at 128 KB -below it. Without the two `FLASH_*` flags the sketch stops with `#error`. The same `.bin` runs on a RET6. +below it. Without the two `FLASH_*` flags the sketch stops with `#error`; if they reach only the C++ files (not the core's C, +where the EEPROM driver lives) `flash_guard.c` makes the link fail with `undefined reference to hbox_flash_flags_in_c` +instead of producing an image that crashes on its first EEPROM read (audit A-07). The same `.bin` runs on a RET6. ```bash +export SOURCE_DATE_EPOCH= # release builds only: __DATE__/__TIME__ fixed = byte-identical rebuild (A-18) arduino-cli compile \ --fqbn "STMicroelectronics:stm32:GenF4:pnum=GENERIC_F411RCTX,usb=CDCgen,xserial=generic,rtlib=nanofp" \ --build-property "build.extra_flags=-DHSE_VALUE=25000000UL -DHBOX_BOARD_V56 -DFLASH_DATA_SECTOR=5 -DFLASH_BASE_ADDRESS=0x08020000UL" \ --build-property "upload.maximum_size=131072" \ --output-dir out-v56 hbox_v5_bringup -cp out-v56/hbox_v5_bringup.ino.bin release/hbox-tarjetaV56_0.7.0-pre.bin +cp out-v56/hbox_v5_bringup.ino.bin release/hbox-tarjetaV56_0.7.0-pre2.bin ``` -The first console lines must read `hbox-v5-bringup 0.7.0-pre` and `board=EinarBoard V5.6/V5.7 (HBOX v5)`; the in-band -`$PHLG` version is `0.7.0p`. **Bench only** until the pilot passes. Designators are the T43 ones on the silkscreen: -**SW1 = BOOT0, SW2 = RESET** (the opposite of V5.5), USB-C DFU/console = **J7**, modem socket = **J8/J9**, LTC4040 = **U14**. -DFU: hold SW1 → tap SW2 → release SW1. Technician procedure (ES): -`06-Testing-Validation/2026-10-27_Drogheda_EinarBoard-V5.6-V5.7_Prueba-y-Flasheo_ES_v1.0.md`. +The first console lines must read `hbox-v5-bringup 0.7.0-pre2` and `board=EinarBoard V5.6/V5.7 (HBOX v5)`; the in-band +`$PHLG` version is `0.7.0p2`. **Bench only** until the pilot passes its 8 criteria. Designators are the T43 ones on the +silkscreen: **SW1 = BOOT0, SW2 = RESET** (the opposite of V5.5), USB-C DFU/console = **J7**, modem socket = **J8/J9**, +LTC4040 = **U14**. DFU: hold SW1 → tap SW2 → release SW1. Technician procedure (ES), version 1.2: +`06-Testing-Validation/2026-10-27_Drogheda_EinarBoard-V5.6-V5.7_Prueba-y-Flasheo_ES_v1.0.md` (site: *Prueba y flasheo V5.6/V5.7*). + +What 0.7.0-pre2 adds over 0.7.0-pre (details in `CHANGELOG.md`): the **10-min battery cycle with STOP + RTC** (F-2; +`-DENABLE_DUTY=0` = continuous backup as in 0.7.0-pre), the **SC16IS752 driver and serial test** (F-3), the **LIS2DH12** +motion interrupt (F-5), the **W5500 PHY in power-down** outside `-eth` (E-3), robustness (dead Y2 → HSI, stuck I²C bus, +no TMP102 → MCU sensor and no thermal re-arm) and every fix from the 29-oct audit (reviews A and C). Self-test: **21 PASS on +USB only, 22 with `/SYS5V`** (`W5500_PHY`). New keys: `S` serial test (J12 jumper + a second board in echo on J11), `U` RS-485 +echo, `Z` STOP allowed/blocked, `W` W5500 in reset vs power-down (floor A/B with the PPK2); `A` now asks for `Y` within 10 s. +Operator locks (`B D C E Z U W` and the `P` pause) expire after 2 h without USB. **STOP only happens with the USB cable +unplugged** (the device state decides, not DTR, which the core never clears on unplug). + **Bench Ethernet build** (pilot criterion 5, the Ethernet part): add `-DENABLE_ETH=1` to the flags above (needs -`arduino-cli lib install Ethernet`; 2.0.2 on the build Mac) and copy it as `release/hbox-tarjetaV56_0.7.0-pre-eth.bin`. On the -RCT6 it uses **129 044 of 131 072 B (98 %)**: F-3 will not fit in the same image, so on the RCT6 pilot boards Ethernet and the -serial loop are tested with separate builds (the RET6 has room). On V5.6/V5.7 the W5500 is **U2** (U11 is the PCF8574) and the -RJ45 is **J6**. The host simulator runs 27 V5.6/V5.7 scenarios on the build without Ethernet (see -`../tools/hostsim_v5/README.md`); the `-eth` path is not simulated. +`arduino-cli lib install Ethernet`; 2.0.2 on the build Mac) and copy it as `release/hbox-tarjetaV56_0.7.0-pre2-eth.bin`. On +the RCT6 it fills **129 304 of 131 072 B**, so it leaves out the battery cycle (it stays in continuous backup), the serial +test keys, the STAT legend, the full help and the Y3 timing of `SER_B_LAZO`; the base build is **128 204 B**. On V5.6/V5.7 +the W5500 is **U2** (U11 is the PCF8574) and the RJ45 is **J6**. The host simulator runs 64 V5.6/V5.7 scenarios on the +build without Ethernet (see `../tools/hostsim_v5/README.md`); the `-eth` path is not simulated. ### Ethernet de banco (0.6.0-eth) — `-DENABLE_ETH=1` Build separado; el binario de campo 0.5.8 no lo incluye. Necesita la librería `Ethernet` (`arduino-cli lib install Ethernet`). @@ -81,13 +94,14 @@ Cable directo al portátil (Auto-MDIX) o cualquier switch. Overrides: `-DETH_IP= ### 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 81 escenarios: 54 de V5.5/V4 (ráfagas del +cambios contra stubs y un modelo eléctrico de la entrada de 5 V (calibrado con H0027) y revisa 54 escenarios de V5.5/V4 (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`; 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) y, desde 0.7.0-pre, 27 de V5.6/V5.7 (módem con EN/RESET/LED/RTCM3, escalera, ruido en el LED, 5 V que -rebota, caster caído, F9P sin alimentación, LFP, NTC, ignición), más un invariante de seguridad del cargador en cada vuelta -del lazo y los de V5.6/V5.7 en cada escritura de PA1/PC3/PB5/PC1/PA9. +módem con histéresis) y, desde 0.7.0-pre, 64 de V5.6/V5.7 (módem con EN/RESET/LED/RTCM3, escalera, ruido en el LED, 5 V que +rebota, caster caído, F9P sin alimentación, LFP, NTC, ignición; desde 0.7.0-pre2 el ciclo de batería con STOP, la prueba +serie, el acelerómetro, el W5500 y los escenarios adversos de la auditoría del 29-oct), más un invariante de seguridad del +cargador en cada vuelta del lazo y los de V5.6/V5.7 en cada escritura de PA1/PC3/PB5/PC1/PA9. En total 118 escenarios. ```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) @@ -137,7 +151,7 @@ U13 pin 12 (P7) ──|<── SW4G1 pad 1 (MODEM_RST) diodo Schottky B ## Flash (DFU, J11) Hold **SW2** (BOOT0) → tap **SW1** (RESET) → release SW2 → device `0483:DF11` appears. **V5.6 / V5.7 (T43): the opposite** — USB-C **J7**, hold **SW1** (BOOT0) → tap **SW2** (RESET) → release SW1, then -`dfu-util -a 0 -s 0x08000000:leave -D release/hbox-tarjetaV56_0.7.0-pre.bin` (bench only). +`dfu-util -a 0 -s 0x08000000:leave -D release/hbox-tarjetaV56_0.7.0-pre2.bin` (bench only). ```bash dfu-util -a 0 -s 0x08000000:leave -D release/hbox-v5-bringup_0.5.1.bin ``` diff --git a/docs/descargas/index.md b/docs/descargas/index.md index 78efa13..92b0e5b 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, v5.6, v5.7, modem, zed-f9p] -date: 2026-10-27 +date: 2026-10-29 project: Project Drogheda author: Helgen Technologies -version: "2.5" +version: "2.6" --- # Descargas @@ -38,7 +38,7 @@ Un binario por tarjeta. El nombre lleva la tarjeta y eso manda; el número de ve | 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…` | Vigente otra vez desde el 29-sep: 0.6.1 se retiró ([por qué](notas-de-version.md#por-que-se-retiro-061)). 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) · 89 028 B · `8a0ee4839763eae8…` | Vigente otra vez desde el 29-sep: 0.6.1 se retiró. Uso: [prueba y flasheo §5](../procedimientos/v5-prueba-y-flasheo.md) y [ensamble §5](../procedimientos/v5-ensamble.md) | -| V5.6 y V5.7 — piloto de 5 + 5 ([prueba y flasheo](../procedimientos/v56-v57-prueba-y-flasheo.md)) | STM32F411RCT6 soldado (256 KB; el volumen lleva RET6) | `hbox_v5_bringup` + `board_v56.h` (`-DHBOX_BOARD_V56`) | Ninguno vigente: solo [`prueba/hbox-tarjetaV56_0.7.0-pre.bin`](prueba/hbox-tarjetaV56_0.7.0-pre.bin), para el banco (abajo) | Piloto. DFU por **J7** con **SW1 = BOOT0** y **SW2 = RESET** (al revés que la V5.5) | +| V5.6 y V5.7 — piloto de 5 + 5 ([prueba y flasheo](../procedimientos/v56-v57-prueba-y-flasheo.md)) | STM32F411RCT6 soldado (256 KB; el volumen lleva RET6) | `hbox_v5_bringup` + `board_v56.h` (`-DHBOX_BOARD_V56`) | Ninguno vigente: solo [`prueba/hbox-tarjetaV56_0.7.0-pre2.bin`](prueba/hbox-tarjetaV56_0.7.0-pre2.bin), para el banco (abajo) | Piloto. DFU por **J7** con **SW1 = BOOT0** y **SW2 = RESET** (al revés que la V5.5) | 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)**. @@ -62,19 +62,20 @@ Un binario por tarjeta. El nombre lleva la tarjeta y eso manda; el número de ve 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 "0.7.0-pre EN PRUEBA DE BANCO (27-oct): solo para el banco del piloto V5.6 / V5.7" - El primer firmware que enciende el módem de la V5.6 y la V5.7 (pieza F-1). Un solo binario para las dos tarjetas. **No va a campo:** las unidades del piloto no se embarcan hasta que pasen los [8 criterios del banco del piloto](../procedimientos/v56-v57-prueba-y-flasheo.md#10-banco-del-piloto-los-8-criterios-para-liberar-las-135-y-las-365) y salga el firmware de campo (F-2 a F-8). +!!! warning "0.7.0-pre2 EN PRUEBA DE BANCO (29-oct): solo para el banco del piloto V5.6 / V5.7" + Sustituye a 0.7.0-pre (27-oct), que pasa a `superseded/` sin haber llegado a ninguna tarjeta. Un solo binario para las dos tarjetas. **No va a campo:** las unidades del piloto no se embarcan hasta que pasen los [8 criterios del banco del piloto](../procedimientos/v56-v57-prueba-y-flasheo.md#10-banco-del-piloto-los-8-criterios-para-liberar-las-135-y-las-365) y salga el firmware de campo. - - **El módem bajo control del MCU:** se enciende después de la etapa, recibe su pulso de RESET de rutina y el MCU lo vigila por su LED y por las correcciones RTCM3 que le entrega al F9P. Si no da señal de vida: pulsos y reinicios de alimentación con 3 min entre cada uno, nunca en lazo rápido. - - **Paquete LFP** (SLEEP a 2.95 V, rearme a 3.20 V), NTC de la celda en PC5, ignición por ADC (sirve en vehículos de 12 V) y EFCR = 0x30 lo primero (el RS-485 suelta el bus). - - Pasó una revisión independiente (14 hallazgos, todos corregidos) y 27 escenarios nuevos del simulador. + - **Todo lo de 0.7.0-pre:** el módem bajo control del MCU (encendido después de la etapa, vigilado por su LED y por las correcciones RTCM3, pulsos y reinicios con 3 min entre cada uno), paquete LFP, NTC de la celda en PC5, ignición por ADC y EFCR = 0x30 lo primero. + - **Nuevo:** el ciclo de 10 min en batería con el MCU en STOP (criterio 3), la prueba de los puertos serie con `S` y `U` (criterio 5), el acelerómetro y el PHY del W5500 apagado para el piso dormido. + - **Auditoría del 29-oct:** tres revisiones independientes, 33 hallazgos corregidos; el más grave, un reloj que a los 24.86 días dejaba a un módem sano como «oscuro» y lo reiniciaba cada 0.6 s ([detalle](../hardware/firmware-auditoria-29oct.md)). + - Autoprueba: **21 PASS por USB** (22 con 5 V). 118 escenarios del simulador en verde. | Tarjeta | Binario de prueba | Tamaño | SHA-256 | |---|---|---|---| - | V5.6 y V5.7 | [`prueba/hbox-tarjetaV56_0.7.0-pre.bin`](prueba/hbox-tarjetaV56_0.7.0-pre.bin) | 112 456 B | `8dd260473e933d17…` | - | V5.6 y V5.7, solo la prueba de Ethernet 24 h del piloto | [`prueba/hbox-tarjetaV56_0.7.0-pre-eth.bin`](prueba/hbox-tarjetaV56_0.7.0-pre-eth.bin) | 129 520 B | `2d0969b08e8670c8…` | + | V5.6 y V5.7 | [`prueba/hbox-tarjetaV56_0.7.0-pre2.bin`](prueba/hbox-tarjetaV56_0.7.0-pre2.bin) | 128 204 B | `43aeabcfdb7055c1…` | + | V5.6 y V5.7, solo la prueba de Ethernet 24 h del piloto | [`prueba/hbox-tarjetaV56_0.7.0-pre2-eth.bin`](prueba/hbox-tarjetaV56_0.7.0-pre2-eth.bin) | 129 304 B | `051af1b2c7596c16…` | - El `-eth` lleva además el W5500 (espejo de NMEA y telemetría a un servidor TCP por J6) y se usa solo en la prueba de 24 h del criterio 5; al terminar, la tarjeta vuelve al binario de arriba. Cómo se prueba: [prueba y flasheo V5.6/V5.7](../procedimientos/v56-v57-prueba-y-flasheo.md), con el [acta de la V5.6](../formularios/v56.html) o la [de la V5.7](../formularios/v57.html). Qué cambió: [notas de versión → 0.7.0-pre](notas-de-version.md#070-pre-en-prueba). + El `-eth` lleva además el W5500 (espejo de NMEA y telemetría a un servidor TCP por J6) y se usa solo en la prueba de 24 h del criterio 5; no trae el ciclo de batería ni la prueba serie (no caben juntos en el RCT6). Al terminar, la tarjeta vuelve al binario de arriba. Cómo se prueba: [prueba y flasheo V5.6/V5.7](../procedimientos/v56-v57-prueba-y-flasheo.md) (versión 1.2), con el [acta de la V5.6](../formularios/v56.html) o la [de la V5.7](../formularios/v57.html) y el [acta del banco del piloto](../formularios/piloto.html). Qué cambió: [notas de versión → 0.7.0-pre2](notas-de-version.md#070-pre2-en-prueba). !!! 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_…`. @@ -128,6 +129,7 @@ No se flashean. Sirven para identificar lo que trae una tarjeta vieja o para vol | Archivo | Por qué se retiró | |---|---| +| [`superseded/hbox-tarjetaV56_0.7.0-pre.bin`](superseded/hbox-tarjetaV56_0.7.0-pre.bin) · [`superseded/hbox-tarjetaV56_0.7.0-pre-eth.bin`](superseded/hbox-tarjetaV56_0.7.0-pre-eth.bin) | V5.6 y V5.7. Prueba de banco del 27-oct, sustituida el 29-oct por 0.7.0-pre2 sin haber llegado a ninguna tarjeta: no trae el ciclo de batería ni la prueba serie, y a los 24.86 días un módem sano podía quedar como «oscuro» (A-01). | | [`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)). | @@ -210,5 +212,7 @@ Lista y comandos: [reflasheo §5](../procedimientos/reflasheo-unidades.md#5-para | 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. | | 2.4 | 2026-10-22 | Designadores T43 (22-oct): la V5.6 ya se nombra con `R68` y `R58` (antes `RS1` y `R50`). | +| 2.5 | 2026-10-27 | 0.7.0-pre en prueba de banco para la V5.6 y la V5.7 (`8dd26047…`), con el build `-eth` para la prueba de Ethernet (`2d0969b0…`). | +| 2.6 | 2026-10-29 | 0.7.0-pre2 en prueba de banco (`43aeabcf…`, `-eth` `051af1b2…`); 0.7.0-pre a `superseded/`. | Versiones anteriores en git. diff --git a/docs/descargas/notas-de-version.md b/docs/descargas/notas-de-version.md index 6db6a75..e65c094 100644 --- a/docs/descargas/notas-de-version.md +++ b/docs/descargas/notas-de-version.md @@ -1,10 +1,10 @@ --- title: "Notas de versión — firmware V4 / V5" tags: [project-drogheda, hbox, firmware, notas-de-version, v4, v5, v5.6, v5.7, cargador, ltc4040, modem, descargas] -date: 2026-10-27 +date: 2026-10-29 project: Project Drogheda author: Helgen Technologies -version: "1.5" +version: "1.6" --- # Notas de versión — firmware V4 / V5 @@ -17,13 +17,15 @@ Un solo código fuente (`hbox_v5_bringup`) para las tarjetas: la V5 usa `hbox-v5 - **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** (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. - - **0.7.0-pre** (en prueba de banco desde el 27-oct, **solo V5.6 y V5.7**): el primer firmware que enciende y vigila el módem de esas tarjetas, con el paquete LFP, la NTC en PC5 y la ignición por ADC. En la V5.5 y la V4 nada cambia. + - **0.7.0-pre** (prueba de banco del 27-oct, **solo V5.6 y V5.7**; sustituida el 29-oct sin llegar a ninguna tarjeta): el primer firmware que enciende y vigila el módem de esas tarjetas, con el paquete LFP, la NTC en PC5 y la ignición por ADC. En la V5.5 y la V4 nada cambia. + - **0.7.0-pre2** (en prueba de banco desde el 29-oct, **solo V5.6 y V5.7**): 0.7.0-pre más el ciclo de 10 min en batería con el MCU en STOP, la prueba de los puertos serie, el acelerómetro y el W5500 apagado para el piso dormido, con las tres revisiones de la auditoría del 29-oct. Con ella se corren los 8 criterios del piloto. -## Estado al 27-oct-2026 {#estado-al-1-oct-2026} +## Estado al 29-oct-2026 {#estado-al-1-oct-2026} | Versión | Fecha | Estado | Binarios | |---|---|---|---| -| 0.7.0-pre | 27-oct | **En prueba de banco, solo V5.6 y V5.7** (piloto). No va a campo ([abajo](#070-pre-en-prueba)) | [V5.6 y V5.7](prueba/hbox-tarjetaV56_0.7.0-pre.bin) · [con Ethernet, para la prueba de 24 h](prueba/hbox-tarjetaV56_0.7.0-pre-eth.bin) | +| 0.7.0-pre2 | 29-oct | **En prueba de banco, solo V5.6 y V5.7** (piloto). No va a campo ([abajo](#070-pre2-en-prueba)) | [V5.6 y V5.7](prueba/hbox-tarjetaV56_0.7.0-pre2.bin) · [con Ethernet, para la prueba de 24 h](prueba/hbox-tarjetaV56_0.7.0-pre2-eth.bin) | +| 0.7.0-pre | 27-oct | Prueba de banco del 27-oct; sustituida por 0.7.0-pre2 el 29-oct sin haber llegado a ninguna tarjeta ([abajo](#070-pre-en-prueba)) | [V5.6 y V5.7](superseded/hbox-tarjetaV56_0.7.0-pre.bin) · [con Ethernet](superseded/hbox-tarjetaV56_0.7.0-pre-eth.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) | @@ -59,8 +61,43 @@ Desde 0.6.2 el firmware manda en banda el `$PHLG` con los campos 1–24 y, en el | 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.7.0-pre2 en prueba de banco (29-oct): V5.6 y V5.7 {#070-pre2-en-prueba} + +Publicada el 29-oct **solo para el banco del piloto** ([Descargas](index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta), carpeta `prueba/`). Sustituye a 0.7.0-pre (27-oct), que pasa a `superseded/` sin haber llegado a ninguna tarjeta. Con ella se pueden correr los 8 criterios del piloto. En la V5.5 y la V4 no cambia nada. + +### Qué trae + +| | 0.7.0-pre2 | +|---|---| +| Batería (F-2) | Al perder el 5 V la ventana en curso sigue y cierra con ≥ 120 s, fix y 2 `$PHLG` después de la primera RTCM (el enlace probado); sin RTCM, a los 180 s. Luego todo apagado en orden y el MCU en **STOP**: despierta cada 5 s y a los 10 min del inicio de la ventana anterior. Un episodio de movimiento en reposo abre una ventana a los 5 min del inicio de la anterior (o ya, si pasaron). Con la USB conectada no hay STOP | +| Puertos serie (F-3) | Tecla `S`: RS-232 en lazo con un puente en J12 y RS-485 contra otra tarjeta en eco (`U`). Autoprueba `SER_B_LAZO` (lazo interno, sin cables; mide el cristal Y3 contra el reloj del MCU) | +| Acelerómetro (F-5) | LIS2DH12 a 10 Hz con interrupción de movimiento; `$PHEV MOTION` en banda solo sin 5 V o sin ignición. Autoprueba `ACCEL_1G` | +| W5500 (E-3) | Con `/SYS5V`, el PHY en *power-down* (para el piso dormido), revisado cada minuto. Tecla `W` para comparar con el reset en el PPK2. Autoprueba `W5500_PHY` | +| Robustez | Cristal de 25 MHz muerto: arranca con el oscilador interno en vez de quedarse mudo. Bus I²C colgado: se libera solo. Sin los TMP102: protege con el sensor del MCU y no rearma después de un corte térmico | +| Auditoría (29-oct) | 33 hallazgos corregidos (17 de la revisión A y 16 de la C); el más grave, un reloj que a los 24.86 días convertía un módem sano en «oscuro» y lo reiniciaba cada 0.6 s ([abajo](#auditoria-independiente-29-oct)) | +| Autoprueba | 21 PASS por USB, 22 con 5 V; `ADC` y `MODEM_APAGADO` ya son veredictos | +| Teclas | `S`, `U`, `Z`, `W` nuevas; `A` pide `Y`; los bloqueos del operador vencen a las 2 h sin USB | +| En banda | `$PHLG` con la versión `0.7.0p2`; eventos nuevos `DUTY_*`, `MOTION`, `I2C_RECOVER`, `TEMP_SRC`, `TEMP_NOREARM`, `WARM_LOOP`, `OVR_EXPIRE`, `CLOCK` (`hse_fail`, `hse_fail_stop`), `RTC` | + +### Auditoría independiente (29-oct) {#auditoria-independiente-29-oct} + +Tres revisiones, cada una por un agente que no escribió el código: el 0.7.0-pre completo en la V5.6/V5.7, lo nuevo de 0.7.0-pre2 y la v6. Detalle: [auditoría del firmware del 29-oct](../hardware/firmware-auditoria-29oct.md). + +Dos afirmaciones de las notas de 0.7.0-pre quedan corregidas: el «falso oscuro de los 24.8 días» seguía ahí cuando la evidencia era vieja (ya corregido), y «un caster caído ya no castiga a un módem sano» solo era cierto con el LED fijo desde el arranque. Con el caster caído y el LED invisible para el MCU (su salida es de 1.8 V, justo en el umbral de entrada) un módem sano todavía recibe pulsos y reinicios: se decide después de medir el LED en el banco (§7.6 del procedimiento). Mientras, el piloto usa el caster de Helgen y anota `rst=` y `pwrcyc=`. + +### Lo que no cabe en el build `-eth` + +`hbox-tarjetaV56_0.7.0-pre2-eth.bin` es solo para la prueba de Ethernet de 24 h (criterio 5): no trae el ciclo de batería (en batería se queda en respaldo continuo), la prueba serie, la leyenda ni el tiempo de Y3 en `SER_B_LAZO`. En el RCT6 no caben con Ethernet. + +### Cómo probarla + +[Prueba y flasheo V5.6/V5.7](../procedimientos/v56-v57-prueba-y-flasheo.md), versión 1.2, con las actas de tarjeta y del banco del piloto ya al día. + ## 0.7.0-pre en prueba de banco (27-oct): V5.6 y V5.7 {#070-pre-en-prueba} +!!! note "Sustituida el 29-oct por [0.7.0-pre2](#070-pre2-en-prueba)" + Sus binarios pasaron a `superseded/` sin haber llegado a ninguna tarjeta. Lo de abajo sigue valiendo: 0.7.0-pre2 lo trae todo. + Publicada el 27-oct **solo para el banco del piloto** ([Descargas](index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta), carpeta `prueba/`). Es la pieza F-1 del plan de firmware. Un solo binario para la V5.6 y la V5.7, porque los 64 pines del MCU son iguales. En la V5.5 y la V4 no cambia nada: siguen con 0.6.x. ### Por qué hacía falta @@ -86,9 +123,9 @@ Publicada el 27-oct **solo para el banco del piloto** ([Descargas](index.md#firm Antes de publicarla, un agente que no escribió el código revisó el bloque del módem y encontró 14 puntos: un pico de ruido en el LED contaba como vida, un 5 V que rebota reiniciaba el módem en lazo, un caster caído castigaba a un módem sano, a los 24.8 días un módem sano salía «oscuro», el reinicio por software no apagaba en orden, durante el reinicio de alimentación algo seguía sosteniendo el riel del módem, entre otros. Todos quedaron corregidos y cada uno tiene su escenario en el simulador: 27 de V5.6/V5.7, 81 en total, todos en verde. -### Qué falta (F-2 a F-8) +### Qué faltaba (F-2 a F-8) -Ciclo de 10 min en batería con el piso dormido < 100 mW, driver del SC16IS752 (RS-485 / RS-232), Ethernet de campo, el acelerómetro para despertar y FOTA (D-22-6: el volumen lleva RET6). Con 0.7.0-pre se pueden correr 6 de los 8 criterios del piloto, y la parte Ethernet del criterio 5 con el build de banco `hbox-tarjetaV56_0.7.0-pre-eth.bin` (24 h por J6). Ese build usa el 98 % de la flash del RCT6: F-3 no cabe en la misma imagen, así que en las tarjetas del piloto Ethernet y el lazo serie se prueban por separado (en el RET6 del volumen sí caben). +F-2, F-3 y F-5 llegaron en 0.7.0-pre2. Al 27-oct faltaban: ciclo de 10 min en batería con el piso dormido < 100 mW, driver del SC16IS752 (RS-485 / RS-232), Ethernet de campo, el acelerómetro para despertar y FOTA (D-22-6: el volumen lleva RET6). Con 0.7.0-pre se pueden correr 6 de los 8 criterios del piloto, y la parte Ethernet del criterio 5 con el build de banco `hbox-tarjetaV56_0.7.0-pre-eth.bin` (24 h por J6). Ese build usa el 98 % de la flash del RCT6: F-3 no cabe en la misma imagen, así que en las tarjetas del piloto Ethernet y el lazo serie se prueban por separado (en el RET6 del volumen sí caben). ### Cómo probarla @@ -327,14 +364,14 @@ 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`, `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). +- `$PHLG`, campo 1: `0.5.9-fm`, `0.6.0`, `0.6.1`, `0.6.2`, `0.6.3`; en la V5.6/V5.7, `0.7.0p` y `0.7.0p2` (`-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 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–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. +- Lazo y eco de RS-485 / RS-232 en la V5.5 y la V4: 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. En la V5.6 y la V5.7 ya están en 0.7.0-pre2 (teclas `S` y `U`). - 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: `R68` 10 mΩ y `R58` 1.5 kΩ (~1.3 A de carga; antes de T43, 22-oct, `RS1` y `R50`). Con eso el gobernador casi nunca tendrá que cortar. @@ -348,3 +385,5 @@ Detalle de cada versión anterior: [Descargas → versiones superadas](index.md# | 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. | | 1.4 | 2026-10-22 | Designadores T43 (22-oct): la V5.6 ya se nombra con `R68` y `R58` (antes `RS1` y `R50`). | +| 1.5 | 2026-10-27 | 0.7.0-pre en prueba de banco, solo V5.6 y V5.7 (F-1: el módem bajo control del MCU), con su build de Ethernet. | +| 1.6 | 2026-10-29 | 0.7.0-pre2 en prueba de banco (F-2, F-3, F-5, E-3 y la auditoría del 29-oct); 0.7.0-pre a `superseded/`. | diff --git a/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre2-eth.bin b/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre2-eth.bin new file mode 100644 index 0000000..a1455dc Binary files /dev/null and b/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre2-eth.bin differ diff --git a/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre2.bin b/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre2.bin new file mode 100644 index 0000000..f8c933b Binary files /dev/null and b/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre2.bin differ diff --git a/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre-eth.bin b/docs/descargas/superseded/hbox-tarjetaV56_0.7.0-pre-eth.bin similarity index 100% rename from docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre-eth.bin rename to docs/descargas/superseded/hbox-tarjetaV56_0.7.0-pre-eth.bin diff --git a/docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre.bin b/docs/descargas/superseded/hbox-tarjetaV56_0.7.0-pre.bin similarity index 100% rename from docs/descargas/prueba/hbox-tarjetaV56_0.7.0-pre.bin rename to docs/descargas/superseded/hbox-tarjetaV56_0.7.0-pre.bin diff --git a/docs/formularios/ensamble-v56v57.js b/docs/formularios/ensamble-v56v57.js index d927ead..9aa95a2 100644 --- a/docs/formularios/ensamble-v56v57.js +++ b/docs/formularios/ensamble-v56v57.js @@ -1,4 +1,4 @@ -/* Acta de ensamble — unidad HBOX con EinarBoard V5.6 o V5.7 y firmware 0.7.0-pre (27-oct-2026). +/* Acta de ensamble — unidad HBOX con EinarBoard V5.6 o V5.7 y firmware 0.7.0-pre2 (27-oct-2026; 29-oct: 0.7.0-pre2, 22 PASS con 24 V). Tipo 'ensamble' (el mismo que la V5.5: el embudo de producción y la regla «un módulo, una unidad» valen igual). Número de unidad: HBOX56-Exx-Axxx-Rxxxx / HBOX57-Exx-Axxx-Rxxxx. Procedimiento: procedimientos/v56-v57-ensamble.md. Incluye la prueba final de la unidad del piloto (§5 a §7). */ @@ -33,7 +33,7 @@ window.actaEnsambleV5x = function (ver) { items: [ { tipo: 'fecha', clave: 's01_00_fecha', req: true, guardaEn: 'fecha', txt: 'Fecha' }, { tipo: 'check', clave: 's01_01_banco', req: true, txt: 'Ninguno de los dos módulos es del juego de banco (etiqueta «BANCO»): esos no se ensamblan mientras dure el piloto.' }, - { tipo: 'check', clave: 's01_02_fw', req: true, txt: 'La tarjeta trae 0.7.0-pre de su acta de prueba (el encabezado lo dirá en §5).' }, + { tipo: 'check', clave: 's01_02_fw', req: true, txt: 'La tarjeta trae 0.7.0-pre2 de su acta de prueba (el encabezado lo dirá en §5).' }, ] }, { titulo: '2 · Tarjeta (sin energía)', items: [ @@ -64,7 +64,7 @@ window.actaEnsambleV5x = function (ver) { { titulo: '5 · Energizado desde 24 V (sin batería) y prueba de la unidad', sub: 'Fuente 24.0 V, límite 1.5 A, al GX16. Interruptor de corte en ON. USB en J7, terminal a 115200. Ignición (GX16 pin 3) a 24 V.', items: [ - { tipo: 'check', clave: 's05_00_post', req: true, txt: 'Consola: hbox-v5-bringup 0.7.0-pre, 18 PASS y >>> BOARD OK.' }, + { tipo: 'check', clave: 's05_00_post', req: true, txt: 'Consola: hbox-v5-bringup 0.7.0-pre2, 22 PASS y >>> BOARD OK.' }, { tipo: 'medida', clave: 's05_01_v5', txt: 'STAT v5', esperado: v57 ? '5.20–5.45 V' : '5.20–5.40 V', u: 'V' }, { tipo: 'check', clave: 's05_02_secuencia', req: true, txt: 'Sola, en modo AUTO: STACK ON → NMEA primera trama → MODEM ON → MODEM_RST → MODEM VIVO → MODOB ON (K1 hace clic).' }, { tipo: 'medida', clave: 's05_03_rtcm', txt: 'MODEM ON → primer STAT con rtcm > 0', esperado: '< 60 s', u: 's' }, diff --git a/docs/formularios/piloto.html b/docs/formularios/piloto.html index e1ca49c..e057371 100644 --- a/docs/formularios/piloto.html +++ b/docs/formularios/piloto.html @@ -12,7 +12,7 @@
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@