From 75b706c1dcdb352c7a597d1b5e172bc83450eab4 Mon Sep 17 00:00:00 2001 From: Sebastien Vayrette Date: Sat, 4 Apr 2026 12:45:53 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20UWB=20anchor=20=E2=80=94=20filter=20POLL?= =?UTF-8?q?=20by=20destination=20ID=20(Issue=20#544)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both anchors were responding to every POLL frame regardless of which anchor the tag addressed, causing RF collisions. Anchor 0 was consistently losing the collision, appearing completely silent. Add g_rx_buf[2] != ANCHOR_ID check so each anchor only responds to POLLs addressed to it. Co-Authored-By: Claude Opus 4.6 --- esp32/uwb_anchor/src/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/esp32/uwb_anchor/src/main.cpp b/esp32/uwb_anchor/src/main.cpp index 1f8c5df..70cd92e 100644 --- a/esp32/uwb_anchor/src/main.cpp +++ b/esp32/uwb_anchor/src/main.cpp @@ -393,6 +393,7 @@ static void twr_cycle(void) { /* validate POLL */ if (g_rx_buf[0] != FTYPE_POLL) return; + if (g_rx_buf[2] != ANCHOR_ID) return; /* only respond to our ID */ uint8_t tag_id = g_rx_buf[1]; if (g_paired_tag_id != 0 && tag_id != g_paired_tag_id) return;