wifi-densepose/v2
ruv d72944f887 feat(hardware): Rust SyncPacket decoder + 7 unit tests (ADR-110 §A0.12)
Iter 14 — moves the v0.7.0 Python stub into the Rust production tree
so the sensing-server can decode incoming UDP datagrams by leading
magic and apply mesh-aligned timestamps to in-flight CSI frames.

Module: v2/crates/wifi-densepose-hardware/src/sync_packet.rs
Public surface (re-exported from the crate root):
  - SyncPacket — 32-byte decoded packet
  - SyncPacketFlags — bit0=leader, bit1=valid, bit2=smoothed
  - SYNC_PACKET_MAGIC = 0xC511A110, SYNC_PACKET_SIZE = 32

Tests (all 7 passing, plus 122 existing hardware-crate tests still pass):
  * follower_typical_packet_roundtrips — reproduces COM9 sync-pkt #1
    from §A0.12, including the 1,163,565 µs offset §A0.10 measured
  * leader_packet_has_local_close_to_epoch — COM12 leader case
    (flags=0x03, epoch ≈ local, offset = -7 µs call-stack only)
  * magic_mismatch_is_typed_error
  * short_packet_is_typed_error
  * all_flag_combinations_roundtrip — every (leader,valid,smoothed) triple
  * sync_and_csi_magics_differ — host can dispatch by leading u32
  * wire_size_constant_is_correct

Uses the existing ParseError variants (InvalidMagic, InsufficientData) so
the sensing-server's dispatch code can treat sync-packet decode failures
the same way it treats CSI frame decode failures.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 13:06:08 -04:00
..
.claude-flow chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
crates feat(hardware): Rust SyncPacket decoder + 7 unit tests (ADR-110 §A0.12) 2026-05-23 13:06:08 -04:00
data chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
docs chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
examples chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
patches/ruvector-crv chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
Cargo.lock feat(cog-person-count): v0.0.1 scaffold + tests + fusion math + bench (ADR-103) (#694) 2026-05-21 18:46:57 -04:00
Cargo.toml feat(cog-person-count): v0.0.1 scaffold + tests + fusion math + bench (ADR-103) (#694) 2026-05-21 18:46:57 -04:00
rust-toolchain.toml v2: pin Rust 1.89 and fix sensing-server UI path when run from v2 (#523) 2026-05-17 18:00:36 -04:00