Compare commits
3 Commits
dd9c962471
...
e777692c27
| Author | SHA1 | Date | |
|---|---|---|---|
| e777692c27 | |||
| d62026374c | |||
| dd04624a95 |
@ -1,4 +1,9 @@
|
||||
035ebeb348461765f099341603a9e99b94512f8477509efb78aa7caf953f4c2f hbox-tarjetaV3_3.0.4.bin
|
||||
a68a87ff1f6b34a8284e9e5e32c95da7bb8d8adc071c5fd64412a3e744e46b28 hbox-tarjetaV3_4.0.0.bin
|
||||
a8de74b3d7768e9d5656ae0bff05475445c0cd2599ecfdc4ab081e517ed3d6ef hbox-v5-bringup_0.4.0.bin
|
||||
e1f351084e803306c376989b284ca0f9f9f1a3445e59494f8a5ff7a9652ad44c hbox-v5-bringup_0.5.1.bin
|
||||
162a8d4f17af36e9cbacf7751ec230a21161ce92c0446564d01a06aa2588789e hbox-tarjetaV4_0.5.3.bin
|
||||
2c5349a9a096929c33a09307640359c523421b226b9db3602279127de19eff95 hbox-v5-bringup_0.5.3.bin
|
||||
035ebeb348461765f099341603a9e99b94512f8477509efb78aa7caf953f4c2f superseded/hbox-tarjetaV3_3.0.4.bin
|
||||
4528187f9d675bca8114583d44eccf4d2149d847f7e5fc402631d8811ee39282 superseded/hbox-tarjetaV4_0.5.1.bin
|
||||
fa2b7554099b332c70ab18cde24b30a4f0a46ac01987466e491c69b308783a5a superseded/hbox-tarjetaV4_0.5.2.bin
|
||||
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
|
||||
|
||||
BIN
docs/descargas/hbox-tarjetaV4_0.5.3.bin
Executable file
BIN
docs/descargas/hbox-tarjetaV4_0.5.3.bin
Executable file
Binary file not shown.
@ -20,6 +20,20 @@ arduino-cli compile \
|
||||
and temperature line would be blank. `SystemClock_Config()` is overridden in the sketch (HSE 25 MHz → 96 MHz, USB 48 MHz) because the
|
||||
generic variant defaults to HSI, which is not accurate enough for USB.
|
||||
|
||||
|
||||
### EinarBoard v4 (socketed Blackpill) — same sketch, `board_v4.h`
|
||||
The v4 board is this design on a Blackpill (verified pad-by-pad against `hbox-watchdog-v4.kicad_pcb`); only
|
||||
`ETH_INT` moves to **PB2**. Build with the Blackpill variant and the board switch:
|
||||
```bash
|
||||
arduino-cli compile \
|
||||
--fqbn "STMicroelectronics:stm32:GenF4:pnum=BLACKPILL_F411CE,usb=CDCgen,xserial=generic,rtlib=nanofp" \
|
||||
--build-property "build.extra_flags=-DHBOX_BOARD_V4" \
|
||||
--output-dir out-v4 hbox_v5_bringup
|
||||
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)`.
|
||||
|
||||
## Flash (DFU, J11)
|
||||
Hold **SW2** (BOOT0) → tap **SW1** (RESET) → release SW2 → device `0483:DF11` appears.
|
||||
```bash
|
||||
|
||||
BIN
docs/descargas/hbox-v5-bringup_0.5.3.bin
Executable file
BIN
docs/descargas/hbox-v5-bringup_0.5.3.bin
Executable file
Binary file not shown.
@ -10,7 +10,7 @@ descargar nada, ubica cuál vas a tocar:
|
||||
|
||||
| Qué | Qué se le carga | Cómo | Dónde está |
|
||||
|---|---|---|---|
|
||||
| **Tarjeta HBOX** (Blackpill / EinarBoard) | Firmware `.bin` | DFU por USB | [§ Firmware del HBOX](#firmware-del-hbox-por-generacion-de-tarjeta) |
|
||||
| **Tarjeta HBOX** (Blackpill / EinarBoard) | Firmware `.bin` | DFU por USB | [§ Firmware del HBOX](#firmware-del-hbox-que-binario-va-en-que-tarjeta) |
|
||||
| **Módem 4G NTRIP Master** | Archivo de **parámetros** `$$$AS+…` | Terminal serie por el USB *XBEE* | [§ Módem 4G](#parametros-del-modem-4g-ntrip-master) |
|
||||
| **simpleRTK2B Pro (ZED-F9P)** | Configuración u-center **y** firmware u-blox | u-center por el USB *POWER+GPS* | [§ ZED-F9P](#firmware-y-configuracion-del-simplertk2b-pro-zed-f9p) |
|
||||
|
||||
@ -23,59 +23,90 @@ Cada carga se registra en el **[acta de reflasheo](../formularios/reflasheo.html
|
||||
|
||||
## Firmware del HBOX — qué binario va en qué tarjeta
|
||||
|
||||
**La versión del firmware no dice nada de la tarjeta.** `0.3.0` no es "para V3" ni `0.4.0` "para V4":
|
||||
son versiones viejas del firmware de **V5**. El binario lleva la tarjeta en el nombre y eso es lo que manda.
|
||||
**Regla: un binario por tarjeta.** La versión del firmware no dice nada de la tarjeta (`0.4.0` no es
|
||||
"para V4": es una versión vieja del firmware de V5). El binario lleva la tarjeta en el nombre y eso es lo que manda.
|
||||
|
||||
| Tarjeta | MCU | Firmware (código) | Binario vigente |
|
||||
|---|---|---|---|
|
||||
| **V3** — EinarBoard 1.0, las 3 unidades en campo | Blackpill en zócalo (F411CE) | `blackpillrtkcode_v3` · `_v4` | [`hbox-tarjetaV3_3.0.4.bin`](hbox-tarjetaV3_3.0.4.bin) ⚠ sin prueba de banco |
|
||||
| **V3** con telemetría en banda | Blackpill en zócalo | `blackpillrtkcode_v4` (4.0.0) | [`hbox-tarjetaV3_4.0.0.bin`](hbox-tarjetaV3_4.0.0.bin) ⚠ sin prueba de banco |
|
||||
| **V4** — `hbox-watchdog-v4` | Blackpill en zócalo + PCF8574 · W5500 · SC16IS752 | **ninguno** | — |
|
||||
| **V5** — `hbox-watchdog-v5`, lote de 15 | STM32F411RET6 soldado | `hbox_v5_bringup` | [`hbox-v5-bringup_0.5.1.bin`](hbox-v5-bringup_0.5.1.bin) ✅ **en despliegue** |
|
||||
| Tarjeta | MCU | Código fuente | **Binario vigente** | Estado |
|
||||
|---|---|---|---|---|
|
||||
| **V3** — EinarBoard 1.0, las 3 unidades en campo | Blackpill en zócalo (F411CE) | `blackpillrtkcode_v4` (4.0.0) | [`hbox-tarjetaV3_4.0.0.bin`](hbox-tarjetaV3_4.0.0.bin) | ⚠ compilado, **sin prueba de banco** |
|
||||
| **V4** — `hbox-watchdog-v4` | Blackpill en zócalo + PCF8574 · W5500 · SC16IS752 | `hbox_v5_bringup` + `board_v4.h` | [`hbox-tarjetaV4_0.5.3.bin`](hbox-tarjetaV4_0.5.3.bin) | ⚠ compilado 25-sep, **sin prueba de banco** |
|
||||
| **V5** — `hbox-watchdog-v5`, lote de 15 | STM32F411RET6 soldado | `hbox_v5_bringup` (0.5.3) | [`hbox-v5-bringup_0.5.3.bin`](hbox-v5-bringup_0.5.3.bin) | ⚠ **vigente desde 25-sep** — ventana de 2 min cada 10 min en batería; 0.5.1 fue la última en campo |
|
||||
|
||||
Los tres reportan al servidor **la misma trama**: `$PHLG` de 29 campos cada 30 s y un `$PHEV` por cada
|
||||
cambio de estado, en banda por el módem (Modo B). Es exactamente lo que el monitor desplegado parsea hoy
|
||||
(`retranslator.py`: 20 campos base + 4 de v3 + 5 de 0.5.1, y `$PHEV`), así que las tres tarjetas se ven
|
||||
igual en la columna *Salud*.
|
||||
|
||||
!!! warning "0.5.3 (V4 y V5) cambia cómo se ve la unidad en el monitor cuando está en batería"
|
||||
Con 0.5.3 la unidad **apaga el módem entre reportes** mientras está en batería: enciende ~120–180 s cada
|
||||
10 min, manda posición y `$PHLG` con `pwr=BATT`, avisa `DUTY_SLEEP next=<s>` y se calla. Para que ese
|
||||
silencio **no aparezca como desconexión** (ni dispare el correo del notifier, ni cuente como caída), el
|
||||
`retranslator.py` del servidor debe llevar el soporte `DUTY` (24-sep). **Desplegar primero el servidor,
|
||||
después flashear 0.5.3.** Con la V3 (4.0.0) no cambia nada: sigue reportando continuo en batería.
|
||||
|
||||
!!! note "V4 = la V5 en un Blackpill"
|
||||
Cotejada pad por pad en `hbox-watchdog-v4.kicad_pcb` contra `board_v5.h`: mismas redes, mismos pines
|
||||
del MCU, mismas direcciones I2C (PCF8574 `0x20`, SHT40 `0x44`, TMP102 `0x48`, SC16IS752 `0x4D`), mismo
|
||||
W5500 en SPI2 y misma K1 en `PB5`. **Una sola diferencia:** `ETH_INT` es `PB2` (J1.16) en vez de `PC0`.
|
||||
Por eso la V4 no necesita firmware propio: es `hbox_v5_bringup` compilado para Blackpill con
|
||||
`board_v4.h`. Como `PB2` es `BOOT1` en el F411, la V4 **se flashea por DFU solo con USB** (sin 24 V),
|
||||
para que el W5500 apagado no pueda sostener `BOOT1` en alto.
|
||||
|
||||
!!! danger "Lo que NO se puede cruzar"
|
||||
- Un binario de **V5** en una **V3 o V4**: es otro MCU (soldado vs Blackpill), otro reloj y otro mapa
|
||||
de pines. Lo más probable es que ni enumere por USB.
|
||||
- `blackpillrtkcode` en una **V4**: maneja los LEDs de carga en PB12–PB15, que en la V4 son el SPI
|
||||
del W5500. La V4 **no tiene firmware todavía**; hasta que lo tenga, no se flashea con nada.
|
||||
- `hbox-v5-bringup_0.4.0` (o 0.3.0) en cualquier tarjeta: son versiones **superadas** de V5, sin
|
||||
watchdog, ventilador ni recuperación de enlace. Solo se conservan por trazabilidad.
|
||||
- `hbox-v5-bringup_0.5.x.bin` (compilado para el F411RE soldado) en una **V3 o V4**: otro MCU y otro
|
||||
mapa de pines. La V4 usa **su propio binario** `hbox-tarjetaV4_…`, compilado para Blackpill.
|
||||
- `hbox-tarjetaV3_…` en una **V4**: maneja los LEDs de carga en PB12–PB15, que en la V4 son el SPI del W5500.
|
||||
- Cualquier binario de la carpeta `superseded/`: se conservan solo por trazabilidad.
|
||||
|
||||
### Versiones superadas
|
||||
|
||||
No se flashean. Están para identificar lo que una tarjeta vieja pueda traer y para volver atrás si una prueba de banco lo pide.
|
||||
|
||||
| Archivo | Por qué se retiró |
|
||||
|---|---|
|
||||
| [`superseded/hbox-tarjetaV3_3.0.4.bin`](superseded/hbox-tarjetaV3_3.0.4.bin) | Misma lógica que las unidades en campo (3.0.3) pero **sin telemetría en banda**: el monitor no ve nada en *Salud*. Sustituida por 4.0.0. |
|
||||
| [`superseded/hbox-v5-bringup_0.5.2.bin`](superseded/hbox-v5-bringup_0.5.2.bin) · [`superseded/hbox-tarjetaV4_0.5.2.bin`](superseded/hbox-tarjetaV4_0.5.2.bin) | Primera versión con reporte cada 10 min en batería, ventana mínima de 90 s: **insuficiente para que el módem entregara la posición**. Sustituida por 0.5.3 (120 s). |
|
||||
| [`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 versión de campo antes del reporte cada 10 min en batería (en batería dejaba la etapa encendida hasta vaciar el paquete). Sirve para volver atrás si 0.5.3 da problemas en banco. |
|
||||
| [`superseded/hbox-v5-bringup_0.4.0.bin`](superseded/hbox-v5-bringup_0.4.0.bin) | Versión de V5 sin `$PHLG` en banda. Sustituida por 0.5.1. |
|
||||
|
||||
### Firmware de bring-up — EinarBoard v5
|
||||
|
||||
| Archivo | Versión | SHA-256 | Uso |
|
||||
|---|---|---|---|
|
||||
| [`hbox-v5-bringup_0.4.0.bin`](hbox-v5-bringup_0.4.0.bin) | 0.4.0 (2026-09-17) — **superada**, sin telemetría en banda | `a8de74b3d7768e9d…` ([SHA256SUMS](SHA256SUMS.txt)) |
|
||||
| [**hbox-v5-bringup_0.5.1.bin**](hbox-v5-bringup_0.5.1.bin) | **0.5.1** (2026-09-18) — **campo + Modo B / telemetría — EN PRUEBA** (reportado: etapa RTK no enciende) | `e1f351084e803306…` | Sección 5 del [procedimiento de prueba y flasheo v5](../procedimientos/v5-prueba-y-flasheo.md) y sección 5 del [ensamble](../procedimientos/v5-ensamble.md) (modo de banco `P` / `n`) |
|
||||
| [**hbox-v5-bringup_0.5.3.bin**](hbox-v5-bringup_0.5.3.bin) | **0.5.3** (2026-09-25) — **campo + Modo B + ventana de 2 min cada 10 min en batería** — ⚠ sin prueba de banco; requiere servidor con soporte `DUTY` | `2c5349a9a096929c…` | Sección 5 del [procedimiento de prueba y flasheo v5](../procedimientos/v5-prueba-y-flasheo.md) y sección 5 del [ensamble](../procedimientos/v5-ensamble.md) (modo de banco `P` / `n`) |
|
||||
|
||||
Flasheo por DFU en **J11** (mantener **SW2**, pulsar y soltar **SW1**, soltar SW2):
|
||||
|
||||
```bash
|
||||
dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.5.1.bin
|
||||
dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.5.3.bin
|
||||
```
|
||||
|
||||
o con **STM32CubeProgrammer** → USB → Connect → Download del `.bin` en `0x08000000`.
|
||||
|
||||
!!! success "A/B 0.4.0 vs 0.5.1 — cerrado el 19-sep"
|
||||
El 18-sep por la tarde se reportó que con 0.5.1 la etapa RTK no encendía. **Resuelto:** 0.5.1 ensambla,
|
||||
enciende y reporta telemetría completa en el monitor desplegado. **Se embarca con 0.5.1.** `0.4.0`
|
||||
sigue descargable solo como referencia de versiones anteriores.
|
||||
enciende y reporta telemetría completa en el monitor desplegado. **Se embarcó con 0.5.1; desde el 25-sep la vigente es 0.5.3.** `0.4.0`
|
||||
queda en `superseded/` solo como referencia.
|
||||
|
||||
!!! note "Tarjetas ya flasheadas con cualquier versión anterior"
|
||||
Re-flashear con **0.5.1** por el mismo procedimiento DFU. **La primera línea de la consola tras reset dice la versión**
|
||||
(`hbox-v5-bringup 0.5.1 built …`): si la línea `STAT` no termina en `stack=…`, la tarjeta sigue con 0.1.1.
|
||||
Re-flashear con **0.5.3** por el mismo procedimiento DFU. **La primera línea de la consola tras reset dice la versión**
|
||||
(`hbox-v5-bringup 0.5.3 built …`): si la línea `STAT` no termina en `stack=…`, la tarjeta sigue con 0.1.1.
|
||||
|
||||
!!! tip "Consola 0.5.1"
|
||||
!!! tip "Consola 0.5.x"
|
||||
Líneas `EVT` en cada cambio (stack, ignición, 5 V, cargador, NMEA, fix), `STAT` con nombres cada 5 s y `$PHLG` cada 10 s
|
||||
(misma trama de salud que lee el servidor). Teclear `l` para la leyenda y `v` para los puntos de medición de la etapa RTK.
|
||||
Para encender la etapa RTK: `P` y luego `Y` (requiere 5 V en P2).
|
||||
|
||||
!!! warning "0.5.1 = firmware de campo mínimo + telemetría y eventos en banda — AUTO de fábrica"
|
||||
!!! warning "0.5.x = firmware de campo mínimo + telemetría y eventos en banda — AUTO de fábrica"
|
||||
Desde 0.4.0 el modo AUTO es el **de fábrica**: la etapa RTK se enciende sola 3 s después de ver 5 V en P2 — no hace falta consola
|
||||
ni teclear `A`. Incluye watchdog 16 s, ventilador (política v3.0.3), recuperación de enlace (ciclo de etapa si el F9P deja de
|
||||
hablar 60 s; LIMP tras 3 ciclos), LEDs de carga y color de estado, corte térmico 60 °C y corte de batería 3.40 V.
|
||||
**El cargador sigue APAGADO: el paquete es de un solo uso hasta el firmware de producción.** Anotarlo en el acta de la unidad.
|
||||
|
||||
**0.5.2/0.5.3 — batería:** con 5 V perdidos la etapa ya no queda encendida hasta vaciar el paquete: ventana de reporte de 120–180 s
|
||||
cada 10 min (`DUTY_WAKE` / `DUTY_SLEEP next=<s>` / `DUTY_SKIP` / `DUTY_END`), ventilador y LEDs apagados en reposo, protecciones
|
||||
de batería (< 3.40 V) y temperatura (≥ 60 °C) por encima del ciclo. El MCU sigue despierto: el ahorro es la etapa (~2.3 W).
|
||||
|
||||
**0.5.1 — diagnóstico:** `$PHLG` lleva además `up_s`, `pwr` (VEH/BATT), `v5min`/`vbat_min` (mínimos de la ventana de 30 s)
|
||||
y `bkp_n`; cada cambio de estado sale como `$PHEV,<up_s>,<CODIGO>,<detalle>` al servidor (misma línea de tiempo que los `EVT`).
|
||||
|
||||
@ -112,13 +143,13 @@ Notas de compilación y cambios: [README del firmware de bring-up](hbox-v5-bring
|
||||
--output-dir build/v4-sinB blackpillrtkcode_v4
|
||||
```
|
||||
|
||||
Es el firmware que gobierna la unidad en la máquina (`blackpillrtkcode_v3` / `v4`), distinto del de
|
||||
bring-up del v5. Se usa en el [reflasheo en taller](../procedimientos/reflasheo-unidades.md).
|
||||
Es el firmware que gobierna la unidad en la máquina, distinto del de bring-up del v5. Se usa en el
|
||||
[reflasheo en taller](../procedimientos/reflasheo-unidades.md).
|
||||
|
||||
| Generación | Archivo | Estado |
|
||||
| Tarjeta | Archivo | Estado |
|
||||
|---|---|---|
|
||||
| **V3** — flota desplegada | [`hbox-tarjetaV3_3.0.4.bin`](hbox-tarjetaV3_3.0.4.bin) · 62 464 B · `035ebeb3…` | ⚠ compilado 19-sep, falta prueba de banco |
|
||||
| **V3** con telemetría | [`hbox-tarjetaV3_4.0.0.bin`](hbox-tarjetaV3_4.0.0.bin) · 64 352 B · `a68a87ff…` | ⚠ compilado 19-sep, falta prueba de banco. El «4» es la versión del firmware, **no** la tarjeta |
|
||||
| **V3** — flota desplegada | [`hbox-tarjetaV3_4.0.0.bin`](hbox-tarjetaV3_4.0.0.bin) · 64 352 B · `a68a87ff…` | ⚠ compilado 19-sep, falta prueba de banco. El «4» es la versión del firmware, **no** la tarjeta |
|
||||
| **V4** | [`hbox-tarjetaV4_0.5.3.bin`](hbox-tarjetaV4_0.5.3.bin) · 81 932 B · `162a8d4f17af36e9…` | ⚠ compilado 25-sep, falta prueba de banco. Es 0.5.3 para Blackpill (`-DHBOX_BOARD_V4`), DFU **solo con USB** |
|
||||
|
||||
!!! danger "Mientras diga «pendiente», no hay binario aprobado"
|
||||
No flashees una unidad V3 o V4 con un archivo que no esté publicado aquí con su SHA-256. Los
|
||||
|
||||
BIN
docs/descargas/superseded/hbox-tarjetaV4_0.5.1.bin
Executable file
BIN
docs/descargas/superseded/hbox-tarjetaV4_0.5.1.bin
Executable file
Binary file not shown.
BIN
docs/descargas/superseded/hbox-tarjetaV4_0.5.2.bin
Normal file
BIN
docs/descargas/superseded/hbox-tarjetaV4_0.5.2.bin
Normal file
Binary file not shown.
BIN
docs/descargas/superseded/hbox-v5-bringup_0.5.2.bin
Normal file
BIN
docs/descargas/superseded/hbox-v5-bringup_0.5.2.bin
Normal file
Binary file not shown.
@ -45,7 +45,7 @@ Acta.render({
|
||||
items: [
|
||||
{ tipo:'check', clave:'prueba_final', req:true, txt:'Tiene <b>acta de prueba final aprobada</b> en el sitio (no vale "ya la probé").' },
|
||||
{ tipo:'check', clave:'sin_marca', req:true, txt:'Al elegir la serie arriba <b>no apareció aviso de daño</b>.' },
|
||||
{ tipo:'texto', clave:'fw', rows:'1', req:true, txt:'Firmware que trae (línea BOOT o banner de consola)', ph:'fw=3.0.4' },
|
||||
{ tipo:'texto', clave:'fw', rows:'1', req:true, txt:'Firmware que trae (línea BOOT o banner de consola)', ph:'fw=4.0.0' },
|
||||
{ tipo:'texto', clave:'iccid', rows:'1', req:true, txt:'ICCID de la SIM instalada' },
|
||||
{ tipo:'texto', clave:'imei', rows:'1', txt:'IMEI del módem' },
|
||||
{ tipo:'texto', clave:'id_estacion', rows:'1', txt:'ID de estación del módem (AS+K)' },
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Acta de recepción — HBOX</title>
|
||||
<title>Acta de recepción e inspección — HBOX</title>
|
||||
<link rel="stylesheet" href="acta.css">
|
||||
</head>
|
||||
<body>
|
||||
@ -12,7 +12,11 @@
|
||||
<script src="series.js"></script>
|
||||
<script src="acta.js"></script>
|
||||
<script>
|
||||
const enciende = v => String(v.enciende || '').startsWith('Sí');
|
||||
const enciende = v => String(v.enciende || '').startsWith('Sí');
|
||||
const corto = v => String(v.continuidad || '').startsWith('Sí');
|
||||
const conBat = v => !String(v.bateria_fisica || '').startsWith('La unidad no trae');
|
||||
const batMala = v => ['Hinchada','Con manchas','Caliente'].some(t => String(v.bateria_fisica || '').startsWith(t));
|
||||
const puedeEnergizar = v => !corto(v);
|
||||
|
||||
Acta.render({
|
||||
tipo: 'recepcion',
|
||||
@ -21,13 +25,15 @@ Acta.render({
|
||||
nombres: { alan: 'Alán Basurto', daniel: 'Daniel Martínez', leo: 'Leo Rodríguez' },
|
||||
unidades: window.SERIES,
|
||||
etiquetaSerie: 'Unidad que se recibe',
|
||||
titulo: 'Acta de recepción',
|
||||
subtitulo: 'Helgen Technologies · se llena al abrir la caja, ANTES de entrar al puerto.',
|
||||
titulo: 'Acta de recepción e inspección',
|
||||
subtitulo: 'Helgen Technologies · una por cada caja, al abrirla, ANTES de entrar al puerto.',
|
||||
textoOK: 'LISTA PARA ENTRAR',
|
||||
intro: '<b>Para qué sirve.</b> Es la última revisión antes de que la unidad cruce la puerta del puerto, '
|
||||
+ 'donde ya no se puede regresar por un cable. Se compara contra el <b>acta de envío</b>: mismo '
|
||||
+ 'firmware, misma SIM, mismo contenido. Lo que no coincida, aquí se detecta. Historial de la unidad: '
|
||||
+ 'elige la serie y mira sus visitas anteriores arriba.',
|
||||
intro: '<b>Para qué sirve.</b> Es la última revisión antes de que la unidad cruce la puerta del puerto, donde ya '
|
||||
+ 'no se puede regresar por un cable ni abrir la caja. Se hace <b>a cada unidad, sin excepción</b>: se compara '
|
||||
+ 'contra el <b>acta de envío</b> (mismo firmware, misma SIM, mismo contenido), se busca daño de transporte y se '
|
||||
+ 'comprueba con multímetro y fuente que la unidad enciende bien <b>antes</b> de que alguien la suba a una máquina. '
|
||||
+ '<b>Kit:</b> fuente de 24 V (≥ 1 A, con límite de corriente si la tiene), multímetro, cable USB con datos, laptop. '
|
||||
+ '<b>Orden obligatorio:</b> inspección → multímetro sin energía → energizar → prueba de vida.',
|
||||
secciones: [
|
||||
|
||||
{ titulo: '0 · Qué llega y dónde',
|
||||
@ -49,7 +55,7 @@ Acta.render({
|
||||
] },
|
||||
|
||||
{ titulo: '2 · Contenido contra el acta de envío',
|
||||
sub:'Abre el acta de envío de esta unidad (expediente) y compara punto por punto.',
|
||||
sub:'Abre el acta de envío de esta unidad (expediente, arriba) y compara punto por punto.',
|
||||
items: [
|
||||
{ tipo:'check', clave:'c_unidad', req:true, txt:'Unidad HBOX presente, etiqueta legible, <b>la serie coincide</b> con la del envío.' },
|
||||
{ tipo:'check', clave:'c_ant_gnss', txt:'Antena GNSS con cable.' },
|
||||
@ -60,20 +66,69 @@ Acta.render({
|
||||
{ tipo:'foto', clave:'f_contenido', req:true, etiqueta:'contenido', txt:'Todo el contenido desplegado.' },
|
||||
] },
|
||||
|
||||
{ titulo: '3 · Prueba rápida de vida (5 minutos, en el taller)',
|
||||
sub:'Con fuente de 24 V y las antenas conectadas. No hace falta cielo abierto para esto.',
|
||||
{ titulo: '3 · Inspección física de la unidad — daño de transporte',
|
||||
sub:'Con la tapa abierta y SIN energía. Lo que se busca: golpes, cosas sueltas y módulos que se salieron de su zócalo con la vibración.',
|
||||
items: [
|
||||
{ tipo:'radio', clave:'enciende', req:true, txt:'¿Enciende y el LED parpadea?',
|
||||
opciones:['Sí','No — LED apagado','Enciende pero se apaga'] },
|
||||
{ tipo:'texto', clave:'fw', rows:'1', si:enciende, req:true, txt:'Firmware que reporta (línea BOOT)', ph:'fw=3.0.4' },
|
||||
{ tipo:'check', clave:'fw_coincide', si:enciende, txt:'El firmware <b>coincide con el del acta de envío</b>.' },
|
||||
{ tipo:'radio', clave:'modem', si:enciende, txt:'LED de red del módem 4G tras 3 minutos',
|
||||
opciones:['Lento o fijo (registró)','Rápido (no registra)','Apagado'] },
|
||||
{ tipo:'check', clave:'sim_ok', si:enciende, txt:'La SIM es la del acta de envío (ICCID coincide).' },
|
||||
{ tipo:'archivo', clave:'log', etiqueta:'recepcion', si:enciende, txt:'Captura de la consola (opcional, pero útil si algo se ve raro)' },
|
||||
{ tipo:'check', clave:'i_sacudir', req:true, txt:'Sacudí la unidad cerrada junto al oído: <b>nada suena suelto</b> adentro.' },
|
||||
{ tipo:'radio', clave:'gabinete', req:true, txt:'Gabinete y prensaestopas',
|
||||
opciones:['Sin daño','Rayado o marcado (cosmético)','Golpeado, agrietado o deformado','Con humedad adentro'] },
|
||||
{ tipo:'check', clave:'i_zocalos', req:true, txt:'Módulos <b>bien asentados en sus zócalos</b>: Blackpill (si la tarjeta lo lleva), simpleRTK2B en los headers UNO y módem 4G en el zócalo XBee. Empujé cada uno con el dedo: no se mueven ni quedan pines fuera.' },
|
||||
{ tipo:'check', clave:'i_conectores', req:true, txt:'Prueba de meneo en cada conector, Dupont y SMA: los SMA de las antenas apretados, el GX16 con seguro, ningún cable con el aislante pelado o pellizcado por la tapa.' },
|
||||
{ tipo:'radio', clave:'placa', req:true, txt:'Tarjeta a simple vista',
|
||||
opciones:['Normal','Componente desprendido o pista levantada','Marca de quemado o decoloración','Corrosión o humedad'] },
|
||||
{ tipo:'radio', clave:'bateria_fisica', req:true, txt:'Estado físico de la batería',
|
||||
opciones:['Normal','Hinchada o abombada','Con manchas o fuga','Caliente','La unidad no trae batería'],
|
||||
aviso:'Hinchada, con fuga o caliente: <b>desconéctala antes de energizar</b> y la unidad <b>no entra</b>. Registra un acta de daño.' },
|
||||
{ tipo:'foto', clave:'f_bat', etiqueta:'bateria', si:batMala, req:true, txt:'Foto de la batería, dos ángulos.' },
|
||||
{ tipo:'foto', clave:'f_interior', req:true, etiqueta:'interior', txt:'El interior de la unidad, tapa abierta, con los módulos y conectores a la vista.' },
|
||||
{ tipo:'foto', clave:'f_dano_unidad', etiqueta:'unidad-dano', txt:'Foto de cualquier daño que hayas encontrado (de cerca).',
|
||||
si:v=>['Golpeado','Con humedad'].some(t=>String(v.gabinete||'').startsWith(t)) || !String(v.placa||'').startsWith('Normal'), req:true },
|
||||
{ tipo:'texto', clave:'nota_fisica', rows:'2', txt:'¿Qué encontraste?' },
|
||||
] },
|
||||
|
||||
{ titulo: '4 · Veredicto',
|
||||
{ titulo: '4 · Multímetro SIN energía — continuidad a tierra',
|
||||
sub:'Multímetro en Ω, fuente apagada y desconectada, batería desconectada si se puede. Un corto que llegó del transporte se detecta aquí y no con humo.',
|
||||
items: [
|
||||
{ tipo:'nota', txt:'<div class="peligro"><b>Nunca energices antes de medir continuidad.</b> Si hay un corto, la fuente lo va a alimentar y el daño ya no se puede rastrear al transporte.</div>' },
|
||||
{ tipo:'medida', clave:'r_24v', req:true, txt:'Entrada 24 V a GND (GX16 pines 1-2)', esperado:'> 10 kΩ (la lectura sube mientras cargan los capacitores)', u:'Ω' },
|
||||
{ tipo:'medida', clave:'r_5v', req:true, txt:'Riel de 5 V a GND (salida Mean Well / P2)', esperado:'> 1 kΩ', u:'Ω' },
|
||||
{ tipo:'medida', clave:'r_3v3', txt:'Riel de 3.3 V a GND', esperado:'> 1 kΩ', u:'Ω' },
|
||||
{ tipo:'radio', clave:'continuidad', req:true, txt:'¿Alguna lectura se quedó fija entre 0 y 20 Ω?',
|
||||
opciones:['No — todo abierto','Sí — hay un corto'],
|
||||
aviso:'Con corto <b>no se energiza</b>. La unidad no entra: registra un <b>acta de daño</b> con la lectura y la foto, y marca la serie.' },
|
||||
{ tipo:'medida', clave:'v_bat_vacio', si:conBat, req:true, txt:'Voltaje de la batería en vacío', esperado:'3.0 – 4.2 V (compara con el del acta de envío)', u:'V',
|
||||
aviso:'Menor a 3.0 V: la batería se descargó en el trayecto; anótalo. Mucho más baja que en el envío: sospecha de consumo con la unidad "apagada".' },
|
||||
] },
|
||||
|
||||
{ titulo: '5 · Energizar y medir',
|
||||
sub:'Solo si el paso 4 salió limpio. Fuente de 24 V al GX16 (pines 1-2), antenas conectadas, tapa abierta para medir. Si la fuente tiene límite de corriente, ponlo en 1 A.',
|
||||
items: [
|
||||
{ tipo:'radio', clave:'enciende', req:true, si:puedeEnergizar, txt:'Al energizar: ¿enciende y el LED de estado parpadea?',
|
||||
opciones:['Sí','No — LED apagado','Enciende pero se apaga','Enciende y la fuente entra en límite de corriente'],
|
||||
aviso:'Si la fuente entra en límite o algo se calienta: <b>apaga de inmediato</b>. No entra; acta de daño.' },
|
||||
{ tipo:'medida', clave:'v_24', si:enciende, req:true, txt:'Entrada 24 V', esperado:'23 – 26 V', u:'V' },
|
||||
{ tipo:'medida', clave:'v_5', si:enciende, req:true, txt:'Riel 5 V (salida Mean Well / P2)', esperado:'4.9 – 5.4 V', u:'V',
|
||||
aviso:'Por debajo de 4.8 V el módem se va a caer con cada ráfaga LTE (disparo PFI del LTC4040). No entra así.' },
|
||||
{ tipo:'medida', clave:'v_3v3', si:enciende, txt:'Riel 3.3 V', esperado:'3.20 – 3.40 V', u:'V' },
|
||||
{ tipo:'medida', clave:'i_estable', si:enciende, txt:'Corriente a los 60 s (si la fuente la muestra)', esperado:'150 – 400 mA con la etapa RTK encendida', u:'mA' },
|
||||
{ tipo:'medida', clave:'v_bat_on', si:v=>enciende(v)&&conBat(v), txt:'Batería con la unidad encendida', u:'V' },
|
||||
] },
|
||||
|
||||
{ titulo: '6 · Prueba de vida (5 minutos)',
|
||||
sub:'Con la unidad encendida. Por la consola USB se lee la línea BOOT; el resto es a simple vista.',
|
||||
items: [
|
||||
{ tipo:'texto', clave:'fw', rows:'1', si:enciende, req:true, txt:'Firmware que reporta (línea BOOT o banner de consola)', ph:'fw=4.0.0' },
|
||||
{ tipo:'check', clave:'fw_coincide', si:enciende, req:true, txt:'El firmware <b>coincide con el del acta de envío</b>.' },
|
||||
{ tipo:'radio', clave:'modem', si:enciende, req:true, txt:'LED de red del módem 4G tras 3 minutos',
|
||||
opciones:['Lento o fijo (registró)','Rápido (no registra)','Apagado'] },
|
||||
{ tipo:'check', clave:'sim_ok', si:enciende, txt:'La SIM es la del acta de envío (ICCID coincide).' },
|
||||
{ tipo:'radio', clave:'gnss', si:enciende, txt:'GNSS (si hay cielo o ventana)', opciones:['Ve satélites / tiene fix','No ve satélites','No se pudo probar (techo)'] },
|
||||
{ tipo:'check', clave:'servidor', si:enciende, txt:'La unidad <b>aparece en el monitor</b> (posición o Salud) — pídele a alguien con acceso que lo confirme.' },
|
||||
{ tipo:'archivo', clave:'log', etiqueta:'recepcion', si:enciende, txt:'Captura de la consola (opcional, pero útil si algo se ve raro)' },
|
||||
{ tipo:'check', clave:'cerrada', si:enciende, txt:'Apagué la fuente, cerré la tapa, apreté los prensaestopas y volví a poner la etiqueta a la vista.' },
|
||||
] },
|
||||
|
||||
{ titulo: '7 · Veredicto',
|
||||
items: [
|
||||
{ tipo:'radio', clave:'accion', req:true, guardaEn:'accion', txt:'¿Entra al puerto?',
|
||||
opciones:[
|
||||
@ -81,7 +136,7 @@ Acta.render({
|
||||
'Entra con observaciones (anótalas)',
|
||||
'No entra — se queda en el taller para revisión',
|
||||
'Rechazada — regresa a Querétaro'],
|
||||
aviso:'Si no enciende o el firmware no coincide, <b>no entra</b>. Instalarla y descubrirlo arriba de una máquina cuesta una visita más y un permiso más.' },
|
||||
aviso:'Corto, no enciende, riel de 5 V bajo o firmware distinto al del envío: <b>no entra</b>. Instalarla y descubrirlo arriba de una máquina cuesta una visita más y un permiso más de ICAVE. Si no entra, registra además un <b>acta de daño</b> para que la serie quede marcada.' },
|
||||
{ tipo:'texto', clave:'observaciones', rows:'3', txt:'Observaciones' },
|
||||
] },
|
||||
]
|
||||
|
||||
@ -17,7 +17,7 @@ incluidos los daños.
|
||||
| 4 | **Ensamble** de la unidad | Banco QRO | [Ensamble](v5-ensamble.md) | [Ensamble](../formularios/ensamble.html) — no acepta módulos sin acta aprobada ni ya usados | ✅ |
|
||||
| 5 | **Prueba final** antes de embarcar | Banco QRO | [Prueba final](v5-prueba-final-unidad.md) | *(se registra en la de ensamble)* | ✅ |
|
||||
| 6 | **Envío** | QRO → terminal | [abajo](#6-envio) | [Envío](../formularios/envio.html) | 🆕 |
|
||||
| 7 | **Recepción**, antes de entrar al puerto | Taller Veracruz | [abajo](#7-recepcion) | [Recepción](../formularios/recepcion.html) | 🆕 |
|
||||
| 7 | **Recepción e inspección**, cada caja, antes de entrar al puerto | Taller Veracruz | [abajo](#7-recepcion-e-inspeccion-cada-caja-antes-de-entrar-al-puerto) | [Recepción](../formularios/recepcion.html) — inspección + multímetro + prueba de vida | 🆕 |
|
||||
| 8 | **Instalación** en la máquina | Patio | ⬜ pendiente | ⬜ `instalacion-campo` (el servidor ya lo acepta) | ⬜ |
|
||||
| 9 | **Vida en campo**: falla, diagnóstico, reflasheo | Patio / taller | [Campo](../diagnostico/procedimiento-diagnostico-campo.md) · [Banco](diagnostico-banco.md) · [Reflasheo](reflasheo-unidades.md) | [Campo](../formularios/diagnostico.html) · [Banco](../formularios/banco.html) · [Reflasheo](../formularios/reflasheo.html) | ✅ |
|
||||
| ⚡ | **Daño o incidente**, en cualquier momento | Donde sea | [abajo](#dano-en-cualquier-momento) | [Daño](../formularios/dano.html) — **marca la serie** | 🆕 |
|
||||
@ -64,20 +64,42 @@ arnés GX16 · material de gabinete si aplica · hoja impresa con serie, máquin
|
||||
|
||||
Fotos: la caja abierta con todo adentro, la unidad con su etiqueta legible, la caja cerrada y rotulada.
|
||||
|
||||
## 7 · Recepción
|
||||
## 7 · Recepción e inspección — cada caja, antes de entrar al puerto
|
||||
|
||||
Se llena **al abrir la caja, antes de entrar al puerto** — la última oportunidad de regresar por un
|
||||
cable. Se compara contra el acta de envío de esa unidad (está en su expediente).
|
||||
cable o de detectar un golpe de transporte. **Una acta por unidad, sin excepción**, aunque lleguen diez
|
||||
en el mismo envío. Se compara contra el acta de envío de esa unidad (está en su expediente).
|
||||
|
||||
**Kit del técnico:** fuente de 24 V (≥ 1 A; si tiene límite de corriente, en 1 A) · multímetro · cable
|
||||
USB con datos · laptop. No hace falta osciloscopio: lo que puede romperse en un camión se ve con el
|
||||
multímetro y con los ojos.
|
||||
|
||||
**Orden obligatorio:** inspección → multímetro sin energía → energizar → prueba de vida. Nunca al revés.
|
||||
|
||||
1. **Paquete, antes de abrir:** foto tal como llegó; si viene golpeado, mojado o abierto, foto del daño.
|
||||
2. **Contenido contra el envío:** misma serie, mismas piezas. Lo que falte o sobre, se anota.
|
||||
3. **Prueba rápida de vida** (5 min, en el taller, fuente de 24 V): enciende y el LED parpadea ·
|
||||
`BOOT` reporta el **mismo firmware** que el envío · el módem registra en Telcel (LED lento o fijo) ·
|
||||
la SIM es la misma (ICCID).
|
||||
4. **Veredicto:** lista para entrar · entra con observaciones · se queda en el taller · rechazada.
|
||||
3. **Inspección física, tapa abierta, sin energía.** Sacudir la unidad junto al oído (nada suelto).
|
||||
Gabinete y prensaestopas sin golpes. **Módulos asentados en sus zócalos** — el Blackpill, el
|
||||
simpleRTK2B en los headers UNO y el módem en el zócalo XBee viajan enchufados, y la vibración los
|
||||
saca: empujar cada uno con el dedo. Prueba de meneo en conectores, Dupont y SMA. Tarjeta sin
|
||||
componentes desprendidos ni marcas de quemado. Batería normal (hinchada, con fuga o caliente → se
|
||||
desconecta, no entra, acta de daño). Foto del interior.
|
||||
4. **Multímetro sin energía — continuidad a tierra.** Entrada 24 V a GND > 10 kΩ · riel 5 V a GND >
|
||||
1 kΩ · riel 3.3 V a GND > 1 kΩ · voltaje de batería en vacío 3.0 – 4.2 V (comparar con el del
|
||||
envío). **Cualquier lectura fija entre 0 y 20 Ω es un corto: no se energiza**, acta de daño.
|
||||
5. **Energizar y medir.** 24 V al GX16 (pines 1-2), antenas conectadas. LED de estado parpadea ·
|
||||
entrada 23 – 26 V · **riel 5 V 4.9 – 5.4 V** (por debajo de 4.8 V el módem se cae con cada ráfaga
|
||||
LTE) · 3.3 V 3.20 – 3.40 V · corriente a los 60 s 150 – 400 mA si la fuente la muestra. Si la fuente
|
||||
entra en límite o algo se calienta: apagar, no entra.
|
||||
6. **Prueba de vida (5 min):** `BOOT` reporta el **mismo firmware** que el envío · el módem registra
|
||||
(LED lento o fijo a los 3 min) · la SIM es la misma (ICCID) · si hay cielo, ve satélites · alguien
|
||||
con acceso confirma que **aparece en el monitor**. Apagar, cerrar la tapa, apretar prensaestopas.
|
||||
7. **Veredicto:** lista para entrar · entra con observaciones · se queda en el taller · rechazada.
|
||||
|
||||
!!! danger "Si no enciende o el firmware no coincide, no entra"
|
||||
Instalarla y descubrirlo arriba de una máquina cuesta una visita más y un permiso más de ICAVE.
|
||||
!!! danger "Corto, no enciende, 5 V bajo o firmware distinto: no entra"
|
||||
Instalarla y descubrirlo arriba de una máquina cuesta una visita más y un permiso más de ICAVE. Si
|
||||
no entra, además del veredicto se registra un **acta de daño**: así la serie queda marcada y nadie la
|
||||
instala por error.
|
||||
|
||||
## ⚡ Daño en cualquier momento
|
||||
|
||||
|
||||
@ -37,9 +37,9 @@ cuando debería estar cortada.
|
||||
|
||||
| Generación de tarjeta | Binario | Estado |
|
||||
|---|---|---|
|
||||
| **V3** — EinarBoard 1.0 (RTK-003, RTK-006, RTK-014), Blackpill | `hbox-tarjetaV3_3.0.4.bin` · `hbox-tarjetaV3_4.0.0.bin` (telemetría) | ⚠ publicados, sin prueba de banco |
|
||||
| **V4** — Blackpill + PCF8574/W5500/SC16IS752 | **ninguno** | ⛔ sin firmware: `blackpillrtkcode` choca en PB12–15 con el W5500 |
|
||||
| **V5** — MCU soldado, lote de 15 | `hbox-v5-bringup_0.5.1.bin` | ✅ en despliegue |
|
||||
| **V3** — EinarBoard 1.0 (RTK-003, RTK-006, RTK-014), Blackpill | `hbox-tarjetaV3_4.0.0.bin` | ⚠ publicado, sin prueba de banco |
|
||||
| **V4** — Blackpill + PCF8574/W5500/SC16IS752 | `hbox-tarjetaV4_0.5.3.bin` | ⚠ publicado, sin prueba de banco (mismo código que V5 + `board_v4.h`) |
|
||||
| **V5** — MCU soldado, lote de 15 | `hbox-v5-bringup_0.5.3.bin` | ⚠ vigente 25-sep (ventana de 2 min cada 10 min en batería); antes flashear, servidor con soporte `DUTY` |
|
||||
|
||||
Si el renglón dice *pendiente*, **no hay binario aprobado todavía**: el flasheo de esa generación
|
||||
está detenido hasta que ingeniería lo publique (§6).
|
||||
@ -112,10 +112,10 @@ Hoy el repositorio **no contiene binarios compilados de V3 ni de V4**. Los `.bin
|
||||
|
||||
| Generación | Código fuente | Qué falta |
|
||||
|---|---|---|
|
||||
| **V3** | ✅ Existe: `04-Source-Code/firmware/blackpillrtkcode_v3/` (v3.0.4) | Compilarlo y probarlo en banco |
|
||||
| **V4** | ✅ Existe: `blackpillrtkcode_v4/` (v4.0.0, 1536 líneas) — deriva de v3 y agrega la telemetría en banda | Compilarlo y probarlo en banco |
|
||||
| **V3** | ✅ `04-Source-Code/firmware/blackpillrtkcode_v4/` (4.0.0): la lógica de v3.0.3 + telemetría en banda | Probarlo en banco (RTK-003 / RTK-006) |
|
||||
| **V4** | ✅ `hbox_v5_bringup/` (0.5.1) + `board_v4.h` — la V4 es la V5 en un Blackpill | Compilar para Blackpill y probarlo en banco |
|
||||
|
||||
Las dos se compilan igual. La diferencia práctica: **V3 deja la unidad como está hoy**; **V4 además hace que la unidad reporte su salud al servidor por el módem**, sin cables nuevos (K1 y `BYP_CTRL` ya están en la EinarBoard 1.0).
|
||||
Un binario por tarjeta. `blackpillrtkcode_v3` (3.0.4) queda solo como referencia: es la lógica que corre hoy en campo pero sin telemetría en banda, así que el monitor no la ve.
|
||||
|
||||
El buen dato es que V3 no depende de ninguna librería externa — solo `<Arduino.h>` y `<math.h>` —
|
||||
así que basta el core de STM32.
|
||||
@ -140,11 +140,19 @@ cd ~/Documents/Claude/Projects/Drogheda/04-Source-Code/firmware
|
||||
arduino-cli compile \
|
||||
--fqbn "STMicroelectronics:stm32:GenF4:pnum=BLACKPILL_F411CE,usb=CDCgen,xserial=generic,rtlib=nanofp" \
|
||||
--output-dir release/ \
|
||||
blackpillrtkcode_v3/ # o blackpillrtkcode_v4/ para la version con telemetria
|
||||
blackpillrtkcode_v4/
|
||||
|
||||
# 4. nómbralo por su versión y saca su huella
|
||||
mv release/blackpillrtkcode_v3.ino.bin release/hbox-tarjetaV3_3.0.4.bin
|
||||
shasum -a 256 release/hbox-tarjetaV3_3.0.4.bin | tee -a release/SHA256SUMS
|
||||
# 4. nómbralo por tarjeta + versión y saca su huella
|
||||
mv release/blackpillrtkcode_v4.ino.bin release/hbox-tarjetaV3_4.0.0.bin
|
||||
shasum -a 256 release/hbox-tarjetaV3_4.0.0.bin | tee -a release/SHA256SUMS
|
||||
|
||||
# 5. V4: mismo codigo que V5, compilado para Blackpill con board_v4.h
|
||||
arduino-cli compile \
|
||||
--fqbn "STMicroelectronics:stm32:GenF4:pnum=BLACKPILL_F411CE,usb=CDCgen,xserial=generic,rtlib=nanofp" \
|
||||
--build-property "build.extra_flags=-DHBOX_BOARD_V4" \
|
||||
--output-dir release/ hbox_v5_bringup/
|
||||
mv release/hbox_v5_bringup.ino.bin release/hbox-tarjetaV4_0.5.3.bin
|
||||
shasum -a 256 release/hbox-tarjetaV4_0.5.3.bin | tee -a release/SHA256SUMS
|
||||
```
|
||||
|
||||
**El destino de tarjeta ya viene bien por omisión:** el propio `.ino` trae `TARGET_EINARBOARD 1` y
|
||||
|
||||
@ -78,7 +78,7 @@ nav:
|
||||
- "📦 Ciclo de vida — envío, recepción, daños":
|
||||
- "El ciclo de vida de una unidad (mapa)": procedimientos/ciclo-de-vida.md
|
||||
- "▶ Acta de envío": formularios/envio.html
|
||||
- "▶ Acta de recepción (antes de entrar al puerto)": formularios/recepcion.html
|
||||
- "▶ Acta de recepción e inspección (cada caja, antes del puerto)": formularios/recepcion.html
|
||||
- "▶ Acta de daño o incidente": formularios/dano.html
|
||||
|
||||
- "🗂 Expediente de una unidad": unidad.html
|
||||
|
||||
@ -22,10 +22,15 @@ declare -a MAP=(
|
||||
"03-Architecture-Hardware/kicad/docs/GIT-GUIDE_Colaboradores-Externos_ES.md|docs/git/guia-git-es.md"
|
||||
"03-Architecture-Hardware/kicad/docs/GIT-GUIDE_External-Collaborators_EN.md|docs/git/git-guide-en.md"
|
||||
# Descargas para técnicos (firmware de bring-up v5)
|
||||
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.1.bin|docs/descargas/hbox-v5-bringup_0.5.1.bin"
|
||||
"04-Source-Code/firmware/hbox_v5_bringup/release/superseded/hbox-v5-bringup_0.4.0.bin|docs/descargas/hbox-v5-bringup_0.4.0.bin"
|
||||
"04-Source-Code/firmware/release/hbox-tarjetaV3_3.0.4.bin|docs/descargas/hbox-tarjetaV3_3.0.4.bin"
|
||||
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.3.bin|docs/descargas/hbox-v5-bringup_0.5.3.bin"
|
||||
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.2.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.2.bin"
|
||||
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.1.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.1.bin"
|
||||
"04-Source-Code/firmware/hbox_v5_bringup/release/superseded/hbox-v5-bringup_0.4.0.bin|docs/descargas/superseded/hbox-v5-bringup_0.4.0.bin"
|
||||
"04-Source-Code/firmware/release/hbox-tarjetaV3_3.0.4.bin|docs/descargas/superseded/hbox-tarjetaV3_3.0.4.bin"
|
||||
"04-Source-Code/firmware/release/hbox-tarjetaV3_4.0.0.bin|docs/descargas/hbox-tarjetaV3_4.0.0.bin"
|
||||
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.3.bin|docs/descargas/hbox-tarjetaV4_0.5.3.bin"
|
||||
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.2.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.2.bin"
|
||||
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.1.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.1.bin"
|
||||
"04-Source-Code/firmware/hbox_v5_bringup/README.md|docs/descargas/hbox-v5-bringup-README.md"
|
||||
)
|
||||
|
||||
@ -39,7 +44,7 @@ for entry in "${MAP[@]}"; do
|
||||
done
|
||||
# SHA256SUMS se GENERA de los .bin que de verdad se publican (antes se copiaba el del v5 y
|
||||
# borraba las lineas de los demas firmwares). Asi la lista nunca miente sobre la carpeta.
|
||||
( cd docs/descargas && shasum -a 256 *.bin > SHA256SUMS.txt )
|
||||
( cd docs/descargas && shasum -a 256 *.bin superseded/*.bin > SHA256SUMS.txt )
|
||||
echo "SHA256SUMS.txt regenerado: $(wc -l < docs/descargas/SHA256SUMS.txt) binarios"
|
||||
echo "sincronizados $n archivos desde $SRC"
|
||||
echo "Revisa 'git status' y haz commit de los cambios que quieras publicar."
|
||||
|
||||
Loading…
Reference in New Issue
Block a user