ruview @ v1659
integrity
- size
- 61.2 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: fix(firmware): C6 IDF v5.5 guard + HE-LTF host ingest + WITNESS-LOG-110 B1 resolution (#1005) (#1011)
- fix(firmware): c6_sync_espnow IDF v5.5 send-callback guard + B1 HE-LTF resolution (#1005)
Espressif backported the esp_now_send_cb_t signature change to v5.5 (esp_now_send_info_t = wifi_tx_info_t there), so the #944 guard must be ESP_IDF_VERSION >= VAL(5,5,0), not MAJOR >= 6.
Validated on this repo's hardware toolchain:
- WITHOUT fix, IDF v5.5.2 esp32c6 build fails with the reporter's exact incompatible-pointer error at c6_sync_espnow.c:199 (reproduced)
- WITH fix, clean build on IDF v5.5.2 (esp32c6) AND IDF v5.4 (regression)
Docs: WITNESS-LOG-110 §B1 marked RESOLVED WITH MEASUREMENT (external, @stuinfla, issue #1005): IDF v5.4 driver downconverts HE->HT; v5.5.2 delivers true HE-LTF (532B / 256 bins / 242 tones, PPDU 0x01 HE-SU). ADR-110 capability table updated accordingly.
Co-Authored-By: claude-flow ruv@ruv.net
- docs: WITNESS-LOG-110 §B1 — in-house HE-LTF replication on the original COM12 C6
84% of 1,525 frames at 532B/PPDU 0x01 (HE-SU) with IDF v5.5.2 + the #1005 guard fix, AP ruv.net 11ax 2.4GHz. Two independent rigs now confirm: v5.4 downconverts, v5.5.2 delivers 242-tone HE20.
Co-Authored-By: claude-flow ruv@ruv.net
- fix(host): 256-bin HE-LTF ingest end-to-end + latent offset bugs (#1005)
Audit of every ADR-018 consumer against live C6 HE20 frames (532B/256-bin):
- sensing-server + CLI calibrate parsers read n_subcarriers from one byte (256 decoded as 0) with stale seq/rssi offsets (rssi always 0 — latent, pre-existing, confirmed vs firmware csi_collector.c). Fixed to the real ADR-018 layout; n_subcarriers u8->u16; byte 18 surfaced as typed PpduType.
- sensing-server probe buffer 256B -> 2048B (532B datagram errored on Windows)
- per-node grid gate: lock densest (n_subcarriers, ppdu_type) grid, re-warm on upgrade, skip sparser minority frames — HT-64 never mixes into an HE-256 baseline window
- hardware parser: HE-aware bandwidth classification (256-FFT HE20 = 20MHz, was Bw160); PpduType/Adr018Flags re-exported
- verbatim live frames (532B HE-SU, 148B HT) embedded as regression fixtures
- archive python parser: bandwidth heuristic mirror fix
Live-validated: calibrate --tier he20 consumed 600x 256-bin frames into an ADR-135 He20 baseline (242 tones) skipping 94 HT frames; sensing-server shows node 12 active with real RSSI (-40dBm). 765 tests green across the three crates; workspace check clean; Python proof PASS.
Co-Authored-By: claude-flow ruv@ruv.net
- test(fuzz): esp_netif/ping_sock/ip_addr stubs — un-break ADR-061 fuzz build after #954
csi_collector.c gained esp_netif.h / ping/ping_sock.h / lwip/ip_addr.h includes for the #954 gateway self-ping; the host-fuzz stub env lacked them, breaking the fuzz build on main since 5789351b7. Stubs return no-gateway so the self-ping path early-outs (compiles + links, never exercised — matches the fuzz threat model which targets frame serialization, not the network stack).
Co-Authored-By: claude-flow ruv@ruv.net
Docker Image:
ghcr.io/ruvnet/RuView:d0e27e652ea7cf1745828973607e9d522fe74187
download
curl -fL -o v1659.zip https://ratatoskr.space/pkg/ruview/v1659.zip
printf '%s %s\n' '69da49bf0b3115bd8104ba79a137839ed0e1713390b8519e739a4435e662ae16' 'v1659.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1659.zip"
$out = "v1659.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "69da49bf0b3115bd8104ba79a137839ed0e1713390b8519e739a4435e662ae16") { throw "sha256 mismatch" }
curl -fL -o v1659.tar.gz https://ratatoskr.space/pkg/ruview/v1659.tar.gz
printf '%s %s\n' 'f774131d3db704ce9e625e465b7eb53461f950cfd017d29692b23d4cce7f5457' 'v1659.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1659.tar.gz"
$out = "v1659.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f774131d3db704ce9e625e465b7eb53461f950cfd017d29692b23d4cce7f5457") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1659.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1659.zip
printf '%s %s\n' '69da49bf0b3115bd8104ba79a137839ed0e1713390b8519e739a4435e662ae16' 'v1659.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1659.zip"
$out = "v1659.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "69da49bf0b3115bd8104ba79a137839ed0e1713390b8519e739a4435e662ae16") { throw "sha256 mismatch" }
curl -fL -o v1659.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1659.tar.gz
printf '%s %s\n' 'f774131d3db704ce9e625e465b7eb53461f950cfd017d29692b23d4cce7f5457' 'v1659.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1659.tar.gz"
$out = "v1659.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f774131d3db704ce9e625e465b7eb53461f950cfd017d29692b23d4cce7f5457") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1659.zip | zip | 61.2 MiB |
blake3-24 972933c7e5910ff981b9eb72bcbd488fd240fbd47a92d8c6
sha256 69da49bf0b3115bd8104ba79a137839ed0e1713390b8519e739a4435e662ae16
sha1 1276da2dff186a5ee6e25900ce54daabe12a9709
|
| v1659.tar.gz | tar.gz | 59.4 MiB |
blake3-24 e9402edeedc3bcd026b929e9ff2534536db816198c51cb0b
sha256 f774131d3db704ce9e625e465b7eb53461f950cfd017d29692b23d4cce7f5457
sha1 23c6e28e223a070afdf4ccddb818608ab3303589
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1659.tar.gz"],
integrity = "sha256-93QTHT23BM6eYl5GW361NGH5UM/QF9KWkrI9TM5/VFc=",
strip_prefix = "ruview-v1659",
)
.url = "https://ratatoskr.space/pkg/ruview/v1659.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1659.tar.gz"],
integrity = "sha256-93QTHT23BM6eYl5GW361NGH5UM/QF9KWkrI9TM5/VFc=",
strip_prefix = "ruview-v1659",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1659.tar.gz",