openaliro
Aliro reader: UWB/CCC core and ESP32-S3/C5/C6 port
Loading...
Searching...
No Matches
aliro_round_config.h
Go to the documentation of this file.
1
3#ifndef ALIRO_ROUND_CONFIG_H
4#define ALIRO_ROUND_CONFIG_H
5
6/*
7 * EXPERIMENT-2RESP: the responder count appears in two places that MUST agree —
8 * the M3 NUMBER_RESPONDERS_NODES attribute (aliro_uwb_msg.c) and rcfg[12]
9 * Number_Responder_Nodes (cherry_ccc_shim.c). Both feed the RangingConfiguration
10 * SaltedHash the Wallet independently recomputes; if they disagree, every derived
11 * STS/dURSK/dUDSK diverges and nothing decodes. Defining the count once here makes
12 * that invariant compiler-enforced instead of two literals a future edit can desync.
13 *
14 * The reader's Final-RFRAME RX offset (ccc_shim_rx.c) is derived from the same
15 * knob: the phone puts its Final one slot after the last responder, so the Final
16 * moves out by one slot for each extra responder.
17 *
18 * ALIRO_NUM_RESPONDERS 1 = validated 1:1 baseline (default; normal firmware).
19 * ALIRO_NUM_RESPONDERS 2 = dual-anchor round; needs a real second responder that
20 * transmits Response_1 at POLL+2 slots / STS index+2.
21 */
22#ifndef ALIRO_NUM_RESPONDERS
23#define ALIRO_NUM_RESPONDERS 1u
24#endif
25
26/*
27 * Slot offset of the phone's Final RFRAME from the POLL, in ranging slots and,
28 * equivalently, in STS index steps: slot_offset(FINAL) relative to POLL = N + 1
29 * (responder l replies at POLL+1+l; the Final sits one slot past the last one).
30 * n=1 -> POLL+2, n=2 -> POLL+3.
31 */
32#define ALIRO_FINAL_SLOT_OFFSET (ALIRO_NUM_RESPONDERS + 1u)
33
34#endif /* ALIRO_ROUND_CONFIG_H */