49 lines
2.9 KiB
Markdown
49 lines
2.9 KiB
Markdown
# hbox_v5_bringup — EinarBoard v5 first-flash bring-up firmware
|
||
|
||
Bench-proves a newly assembled v5 board over USB-C **J11** only. Never powers the RTK stack.
|
||
Bench mode (0.2.0): `P`+`Y` stack ON/OFF, `n` NMEA monitor (fix 4 = RTK FIX).
|
||
Checks: HSE 25 MHz + USB CDC · LSE Y4 · I2C: PCF8574 0x20 / SHT40 0x44 / TMP102 0x48 /
|
||
SC16IS752 0x4D · gauge + RGB LED walk · ADC · digital inputs. Prints PASS/FAIL, then a
|
||
`STAT` line every 2 s. Console commands: `r` rerun · `g` gauge walk · `i` I2C scan · `h` help.
|
||
|
||
Procedure for technicians (ES): `06-Testing-Validation/2026-09-15_Drogheda_EinarBoard-v5_Procedimiento-Prueba-y-Flasheo_ES_v1.0.md`
|
||
|
||
## Build
|
||
STM32duino core 3.x (`STMicroelectronics:stm32`). Target is the **generic F411RE**, not the Blackpill.
|
||
```bash
|
||
arduino-cli compile \
|
||
--fqbn "STMicroelectronics:stm32:GenF4:pnum=GENERIC_F411RETX,usb=CDCgen,xserial=generic,rtlib=nanofp" \
|
||
--build-property "build.extra_flags=-DHSE_VALUE=25000000UL" \
|
||
--output-dir out hbox_v5_bringup
|
||
```
|
||
`rtlib=nanofp` is required — the default newlib-nano build prints nothing for `%f`, so every voltage
|
||
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.
|
||
|
||
## Flash (DFU, J11)
|
||
Hold **SW2** (BOOT0) → tap **SW1** (RESET) → release SW2 → device `0483:DF11` appears.
|
||
```bash
|
||
dfu-util -a 0 -s 0x08000000:leave -D release/hbox-v5-bringup_0.2.0.bin
|
||
```
|
||
or STM32CubeProgrammer → USB → Connect → Download `release/hbox-v5-bringup_0.2.0.bin` @ `0x08000000`.
|
||
|
||
## Release
|
||
| File | Version | SHA-256 (first 16) | Size |
|
||
|---|---|---|---|
|
||
| **`release/hbox-v5-bringup_0.2.0.bin`** | **0.2.0 (2026-09-17) — USE THIS** | `8491625d494f9ee1` | 64 780 B |
|
||
| `release/hbox-v5-bringup_0.1.1.bin` | 0.1.1 — superseded (no bench mode) | `91ca6f87a86686be` | 55 104 B |
|
||
| `release/hbox-v5-bringup_0.1.0.bin` | 0.1.0 — SUPERSEDED (no float printf, ETH_CS driven) | `1a9a77ae479c8f86` | 41 040 B |
|
||
|
||
## Changelog
|
||
- **0.2.0** (2026-09-17): bench mode for the assembled unit — `P`+`Y` powers the RTK stack (only with 5 V on P2),
|
||
`P` again turns it off; `n` streams `$GxGGA` from the simpleRTK2B UART1 (PA3, 115200) for 20 s with fix/sats/HDOP;
|
||
`STAT` shows `stack=` and the last GGA. Charge stays disabled, K1 released. Uses the core's `Serial2` (USART2).
|
||
- **0.1.1** (2026-09-16, audit): build with `rtlib=nanofp` (floats printed blank in 0.1.0); `ETH_CS` now
|
||
`INPUT_PULLUP` instead of driving HIGH into the unpowered W5500; reset cause reports `PIN` only when
|
||
`PINRSTF` is set (else `UNKNOWN`).
|
||
- **0.1.0** (2026-09-15): first build.
|
||
|
||
## ⚠ Do not flash `blackpillrtkcode_v3` (v3.0.3) on v5
|
||
Its `PIN_BATLED1..4` = PB12–PB15 are the W5500 SPI2 bus on this board. `board_v5.h` is the
|
||
verified v5 pin map — the production v5 firmware should include it rather than redefine pins.
|