From 8c5a90967186ee75075bca8befb2b1f09075d1c9 Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 25 Feb 2026 17:29:12 +0100 Subject: [PATCH] Added `include_remotes = (request->data[1] & 0b10)` flag to `param_serve_pull_request()` --- src/param/param_server.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/param/param_server.c b/src/param/param_server.c index a1febc2..0ecb16c 100644 --- a/src/param/param_server.c +++ b/src/param/param_server.c @@ -73,8 +73,9 @@ static void param_serve_pull_request(csp_packet_t * request, int all, int versio struct param_serve_context ctx; ctx.request = request; ctx.q_response.version = version; - /* If packet->data[1] == 1 ack with pull response */ - int ack_with_pull = request->data[1] == 1 ? 1 : 0; + /* ack_with_pull == ack with pull response */ + const int ack_with_pull = (request->data[1] & 0b01) != 0; + const int include_remotes = (request->data[1] & 0b10) != 0; if (__allocate(&ctx) < 0) { csp_buffer_free(request); @@ -147,6 +148,9 @@ static void param_serve_pull_request(csp_packet_t * request, int all, int versio if (param->mask & PM_HIDDEN) { continue; } + if (!include_remotes && *param->node != 0) { + continue; + } uint32_t include_mask = be32toh(ctx.request->data32[1]); uint32_t exclude_mask = 0x00000000; if (version >= 2) {