ruview @ v1611
integrity
- size
- 61.1 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: fix(esp32): add connected-STA self-ping CSI traffic source (#954) (#985)
The ESP32 CSI engine only produces CSI for received OFDM frames (L-LTF/ HT-LTF). On a quiet network — or on a display-enabled build where the #893 MGMT->MGMT+DATA promiscuous upgrade is skipped (has_display=true) — the only CSI-eligible frames are sparse beacons (often non-OFDM DSSS), so wifi_csi_callback can starve to yield=0pps -> DEGRADED -> motion=0 (#521, #954).
Fix (additive): pin a ~50 Hz OFDM unicast floor by pinging the STA's own DHCP gateway. The router's ICMP echo replies are OFDM frames destined to this station and drive the CSI engine regardless of promiscuous filter state or ambient traffic. Mirrors Espressif's esp-csi csi_recv_router reference. Promiscuous capture (#396/#893) is left fully intact so multistatic/multi-node sensing still hears other stations' frames.
Reconciles PR #955 (which removed promiscuous entirely and conflicted with the already-shipped #893 DATA-capture path) into an additive change on current main.
Verified on ESP32-S3 (N16R8, COM8), ESP-IDF v5.4: Promiscuous mode enabled (MGMT-only, RuView#396) self-ping started -> 192.168.1.1 @50Hz (CSI OFDM source, fix #521/#954) CSI cb #1: len=128 rssi=-40 ch=5 adaptive_ctrl: state=6 yield=13-19pps motion=1.00 presence>0 (SENSE_ACTIVE) DEGRADED cleared; CSI yield stable ~15 pps over 60 s.
Co-authored-by: Meraj merajmehrabi@gmail.com
Docker Image:
ghcr.io/ruvnet/RuView:5789351b78f1f4c9dcd4bc15117588911b12dc2d
download
curl -fL -o v1611.zip https://ratatoskr.space/pkg/ruview/v1611.zip
printf '%s %s\n' '96b638779d4a9cdf0ab8bba01f7564c5d029eb899e6053cf5883de6969e29a46' 'v1611.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1611.zip"
$out = "v1611.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "96b638779d4a9cdf0ab8bba01f7564c5d029eb899e6053cf5883de6969e29a46") { throw "sha256 mismatch" }
curl -fL -o v1611.tar.gz https://ratatoskr.space/pkg/ruview/v1611.tar.gz
printf '%s %s\n' '8ad4ca23c016d6ec537665974b9654d8d94dc33ecad8ca7dfb359f73fa14f499' 'v1611.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1611.tar.gz"
$out = "v1611.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "8ad4ca23c016d6ec537665974b9654d8d94dc33ecad8ca7dfb359f73fa14f499") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1611.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1611.zip
printf '%s %s\n' '96b638779d4a9cdf0ab8bba01f7564c5d029eb899e6053cf5883de6969e29a46' 'v1611.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1611.zip"
$out = "v1611.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "96b638779d4a9cdf0ab8bba01f7564c5d029eb899e6053cf5883de6969e29a46") { throw "sha256 mismatch" }
curl -fL -o v1611.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1611.tar.gz
printf '%s %s\n' '8ad4ca23c016d6ec537665974b9654d8d94dc33ecad8ca7dfb359f73fa14f499' 'v1611.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1611.tar.gz"
$out = "v1611.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "8ad4ca23c016d6ec537665974b9654d8d94dc33ecad8ca7dfb359f73fa14f499") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1611.zip | zip | 61.1 MiB |
blake3-24 712d24f165946fd2add922368f1257cc2a68b77e9d07674a
sha256 96b638779d4a9cdf0ab8bba01f7564c5d029eb899e6053cf5883de6969e29a46
sha1 fc8b6c36b5a3fdf253ccbc67d5efcbb903e65197
|
| v1611.tar.gz | tar.gz | 59.3 MiB |
blake3-24 57ff5ec16f3746a46065a45aa7e44bac46be5f20aaefbc36
sha256 8ad4ca23c016d6ec537665974b9654d8d94dc33ecad8ca7dfb359f73fa14f499
sha1 63d6b3c8379b159703b3966bd86cc27d12f95da6
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1611.tar.gz"],
integrity = "sha256-itTKI8AW1uxTdmWXS5ZU2NlNwz7K2Mp9+zWfc/oU9Jk=",
strip_prefix = "ruview-v1611",
)
.url = "https://ratatoskr.space/pkg/ruview/v1611.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1611.tar.gz"],
integrity = "sha256-itTKI8AW1uxTdmWXS5ZU2NlNwz7K2Mp9+zWfc/oU9Jk=",
strip_prefix = "ruview-v1611",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1611.tar.gz",