ruview @ v0.5.1-esp32
integrity
- size
- 25.2 MiB
- downloaded
- last checked
release notes
What's Changed
Bug Fixes
Firmware: Watchdog crash on busy LANs (#321)
edge_dsptask now batch-limits to 4 frames before a 20ms yield- Fixed idle-path busy-spin where
pdMS_TO_TICKS(5)==0at 100Hz tick rate - Added ring buffer drop counter (
drops=Nin serial log) for diagnostics - QEMU validated: All 11 CI jobs pass (7 configs + fuzz + swarm + NVS + build)
Sensing Server: No detection from edge vitals (#323)
- ESP32 nodes running Tier 2+ edge DSP now trigger full
sensing_updatein the UI - Previously, vitals packets (magic
0xC5110002) were broadcast but never generated person detection - Breathing animation now works from edge vitals (non-zero
breathing_band_power)
Python Package: ModuleNotFoundError (#314)
- Added
wifi_densepose/package withWiFiDensePosefacade class from wifi_densepose import WiFiDensePosenow works as documented in README
CI Validation
| Job | Status |
|---|---|
| Build Espressif QEMU | ✅ |
| NVS Matrix Generation | ✅ |
| Fuzz Testing (ADR-061 Layer 6) | ✅ |
| Swarm Test (ADR-062) | ✅ |
| QEMU Test — default | ✅ |
| QEMU Test — edge-tier0 | ✅ |
| QEMU Test — edge-tier1 | ✅ |
| QEMU Test — tdm-3node | ✅ |
| QEMU Test — boundary-min | ✅ |
| QEMU Test — boundary-max | ✅ |
| QEMU Test — full-adr060 | ✅ |
Upgrade Notes
- Firmware: Reflash required for the watchdog fix. Build from source using ESP-IDF v5.4.
- Sensing server: Rebuild from
main—cargo build --release -p wifi-densepose-sensing-server - Python:
pip install -e .from repo root, orfrom wifi_densepose import WiFiDensePose
Full Changelog: https://github.com/ruvnet/RuView/compare/v0.5.0-esp32...v0.5.1-esp32
download
unix · zip
curl -fL -o v0.5.1-esp32.zip https://ratatoskr.space/pkg/ruview/v0.5.1-esp32.zip
printf '%s %s\n' 'f4e04298e2f2d5ad4ee3fc6d0f63ddebf9c0b3d58bbb824ec89bd1047bcb35a3' 'v0.5.1-esp32.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v0.5.1-esp32.zip"
$out = "v0.5.1-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f4e04298e2f2d5ad4ee3fc6d0f63ddebf9c0b3d58bbb824ec89bd1047bcb35a3") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.5.1-esp32.tar.gz https://ratatoskr.space/pkg/ruview/v0.5.1-esp32.tar.gz
printf '%s %s\n' 'ad99d8ac1035ca6d442bd416c066bbe4766b254d338f7c8785cb14408b54ca50' 'v0.5.1-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v0.5.1-esp32.tar.gz"
$out = "v0.5.1-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ad99d8ac1035ca6d442bd416c066bbe4766b254d338f7c8785cb14408b54ca50") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v0.5.1-esp32.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.5.1-esp32.zip
printf '%s %s\n' 'f4e04298e2f2d5ad4ee3fc6d0f63ddebf9c0b3d58bbb824ec89bd1047bcb35a3' 'v0.5.1-esp32.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.5.1-esp32.zip"
$out = "v0.5.1-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f4e04298e2f2d5ad4ee3fc6d0f63ddebf9c0b3d58bbb824ec89bd1047bcb35a3") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.5.1-esp32.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.5.1-esp32.tar.gz
printf '%s %s\n' 'ad99d8ac1035ca6d442bd416c066bbe4766b254d338f7c8785cb14408b54ca50' 'v0.5.1-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.5.1-esp32.tar.gz"
$out = "v0.5.1-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ad99d8ac1035ca6d442bd416c066bbe4766b254d338f7c8785cb14408b54ca50") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v0.5.1-esp32.zip | zip | 25.2 MiB |
blake3-24 38108f1b3d5be624b75dc42962e1a99cd68c633260b34059
sha256 f4e04298e2f2d5ad4ee3fc6d0f63ddebf9c0b3d58bbb824ec89bd1047bcb35a3
sha1 aa712995d8e0c79036f69396a57dabb3112592b5
|
| v0.5.1-esp32.tar.gz | tar.gz | 24.2 MiB |
blake3-24 9f1a7a17d6812277a72afa5c48287f69745838bbe4d576a3
sha256 ad99d8ac1035ca6d442bd416c066bbe4766b254d338f7c8785cb14408b54ca50
sha1 a5e4dc1d0f7e148df64bc33632171edaef083960
|
install
bazel
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v0.5.1-esp32.tar.gz"],
integrity = "sha256-rZnYrBA1ym1EK9QWwGa75HZrJU0zj3yHhcsUQItUylA=",
strip_prefix = "ruview-v0.5.1-esp32",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v0.5.1-esp32.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.5.1-esp32.tar.gz"],
integrity = "sha256-rZnYrBA1ym1EK9QWwGa75HZrJU0zj3yHhcsUQItUylA=",
strip_prefix = "ruview-v0.5.1-esp32",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.5.1-esp32.tar.gz",