release(firmware): v0.6.9-esp32 — sync-packet wired, CONFIG_C6_SYNC_EVERY_N_FRAMES tunable
Bundles the iter 8 + iter 9 sync-packet work (§A0.11 + §A0.12) into a shipped release. v0.6.8 didn't carry the sync emission; v0.6.9 closes the loop. What ships: - csi_collector emits a 32-byte UDP sync packet (magic 0xC511A110) every CONFIG_C6_SYNC_EVERY_N_FRAMES CSI callbacks (default 20). - New Kconfig knob lets operators tune cadence from ~0.1 Hz (N=1000) to ~10 Hz (N=1) without rebuilding — sensible defaults for mainstream multistatic at ~2 s sync interval. - Backwards-compatible at the wire level: old aggregators drop the new magic on existing parser mismatch path. Build artifacts (both green on IDF v5.4): - S3 8 MB: 1094 KB, 47% partition slack - C6 4 MB: 1019 KB, 45% partition slack The macro define was renamed from SYNC_EVERY_N_FRAMES to CONFIG_C6_SYNC_EVERY_N_FRAMES so the Kconfig generator wires through. Header guard preserves the default for builds without the kconfig applied. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
parent
d2effcc6f6
commit
4e1b62ab4f
|
|
@ -402,6 +402,20 @@ menu "ESP32-C6 capabilities (ADR-110)"
|
||||||
range 1 13
|
range 1 13
|
||||||
depends on C6_SOFTAP_HE_ENABLE
|
depends on C6_SOFTAP_HE_ENABLE
|
||||||
|
|
||||||
|
config C6_SYNC_EVERY_N_FRAMES
|
||||||
|
int "Sync-packet emission cadence (CSI frames per sync)"
|
||||||
|
default 20
|
||||||
|
range 1 1000
|
||||||
|
help
|
||||||
|
How many CSI callbacks fire before csi_collector emits one
|
||||||
|
ADR-110 §A0.11 sync packet (magic 0xC511A110) carrying the
|
||||||
|
mesh-aligned epoch + sequence high-water for the host
|
||||||
|
aggregator to pair against incoming CSI frames.
|
||||||
|
|
||||||
|
Default 20 = ~2 s between sync packets at the bench's
|
||||||
|
observed 10 fps CSI rate. Raise for less wire overhead;
|
||||||
|
lower for tighter multistatic alignment windows.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "ADR-018 frame extensions (ADR-110)"
|
menu "ADR-018 frame extensions (ADR-110)"
|
||||||
|
|
|
||||||
|
|
@ -296,14 +296,21 @@ static void wifi_csi_callback(void *ctx, wifi_csi_info_t *info)
|
||||||
(int8_t)info->rx_ctrl.rssi, info->rx_ctrl.channel);
|
(int8_t)info->rx_ctrl.rssi, info->rx_ctrl.channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ADR-110 §A0.11 — Emit a sync-packet every SYNC_EVERY_N CSI frames so the
|
/* ADR-110 §A0.11/§A0.12 — Emit a sync-packet every N CSI frames so the
|
||||||
* host aggregator can pair node-local sequence numbers with the mesh-aligned
|
* host aggregator can pair node-local sequence numbers with the mesh-aligned
|
||||||
* epoch coming out of c6_sync_espnow_get_epoch_us(). Backwards-compatible
|
* epoch coming out of c6_sync_espnow_get_epoch_us(). Backwards-compatible
|
||||||
* with the ADR-018 frame format: new packet uses a distinct magic so the
|
* with the ADR-018 frame format: new packet uses a distinct magic so the
|
||||||
* existing CSI parser can dispatch by first 4 bytes. */
|
* existing CSI parser can dispatch by first 4 bytes.
|
||||||
|
*
|
||||||
|
* Cadence is operator-tunable via CONFIG_C6_SYNC_EVERY_N_FRAMES (default 20).
|
||||||
|
* At 10 Hz observed CSI rate that's ~2 s between sync packets; raise to 50
|
||||||
|
* for ~5 s (less overhead, slower convergence), lower to 5 for ~0.5 s
|
||||||
|
* (heavier wire, tighter ADR-029/030 multistatic alignment window). */
|
||||||
{
|
{
|
||||||
#define SYNC_EVERY_N_FRAMES 20 /* ~1 Hz at the 20 Hz send-rate gate */
|
#ifndef CONFIG_C6_SYNC_EVERY_N_FRAMES
|
||||||
if ((s_cb_count % SYNC_EVERY_N_FRAMES) == 0) {
|
#define CONFIG_C6_SYNC_EVERY_N_FRAMES 20
|
||||||
|
#endif
|
||||||
|
if ((s_cb_count % CONFIG_C6_SYNC_EVERY_N_FRAMES) == 0) {
|
||||||
uint8_t sync[32];
|
uint8_t sync[32];
|
||||||
uint32_t sync_magic = 0xC511A110u; /* CSI-ADR-110 sync packet */
|
uint32_t sync_magic = 0xC511A110u; /* CSI-ADR-110 sync packet */
|
||||||
uint64_t local_us = (uint64_t)esp_timer_get_time();
|
uint64_t local_us = (uint64_t)esp_timer_get_time();
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
0.6.8
|
0.6.9
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue