221 "the re-send gap extends the default retry gap, it never shortens it");
static constexpr uint8_t PAIRING_KEY_EXCHANGE_RETRIES
Retries for the authenticated key-exchange phase.
static constexpr uint8_t ONEWAY_BURST_REPEATS
One-way (1W) transmit cadence.
static constexpr uint32_t ONEWAY_BURST_INTERVAL_MS
Gap between those copies.
static constexpr uint8_t LOW_POWER_SETTLING_ATTEMPTS
Attempts a settling read makes to a low-power receiver.
static constexpr uint8_t LBT_MAX_RETRIES
Max carrier-sense attempts before TX anyway.
static constexpr uint32_t FREQ_CH1
The protocol uses 3 frequency channels in the 868 MHz ISM band.
static constexpr uint8_t SCHEDULED_POLL_MAX_TRIES
Exchange tries for a status poll the scheduler owns that only looks at a device that is probably stil...
static constexpr uint32_t FREQ_CH3
Channel 3: 869.85 MHz (2W only).
static constexpr int32_t HOP_TIME_US
Timing constants for frequency hopping and response waiting.
static constexpr uint16_t PAIRING_KEY_INIT_DELAY_MS
Default for TuningConfig::pairing_key_init_delay_ms — pause after the discover-confirm step (whether ...
static constexpr uint16_t NORMAL_START_PREAMBLE
Default for TuningConfig::normal_start_preamble — the preamble in front of a directed start frame who...
static constexpr uint32_t UNCONFIRMED_EXECUTE_RESEND_DELAY_MS
Gap before that re-send, in place of the plan's retry gap (decisions::AttemptPlan::gap_ms).
static constexpr uint16_t EXCHANGE_EARLY_RESPONSE_WAIT_MS
How long an attempt listens for a mains device's reply when another attempt follows it,...
static constexpr uint32_t REMOTE_ACTIVITY_STATUS_POLL_DELAY_MS
Delay before polling after overheard remote traffic: another controller's frame to a registered devic...
static constexpr uint8_t SCHEDULED_POLL_RETRY_GRACE_FIRST_FAILURE
Ladder positions at which a scheduler-owned status poll is a settling read again.
static constexpr int32_t EXCHANGE_RETRY_DELAY_MS
Gap between retries within one HA command.
static constexpr uint32_t EXCHANGE_ATTEMPT_OVERHEAD_MS
Time an attempt costs beyond its transmission and its listen: the channel-busy check,...
constexpr TxWake tx_wake_for(bool start, uint16_t preamble)
The wake-up level of a frame, from the two facts that decide it: whether it starts an exchange (a con...
TxWake
How hard a transmission has to work to be heard: the wake-up level the receiver needs.
@ SHORT
The receiver is awake, but may be scanning channels.
@ NONE
The receiver is already listening on this channel: the frame continues an exchange.
@ LONG
The receiver may be duty-cycling.
static constexpr uint8_t PAIRING_SET_CONFIG1_MAX_TRIES
Tries for pairing's phase-3 SetConfig1 (0x6F).
static constexpr uint8_t EXCHANGE_RETRY_COUNT
Attempts per exchange for every caller that has not asked for an attempt plan (decisions::attempt_pla...
static constexpr uint32_t DISCOVERY_SLOT_MS
Length of one discovery answer slot.
static constexpr uint32_t LOW_POWER_MAX_TRAVEL_MS
How long evidence that a low-power receiver is moving keeps it believed awake enough to hear the shor...
static constexpr uint32_t SESSION_HOLD_BASE_MS
Base of how long a node acting as a device holds the session's channel after answering a controller,...
static constexpr uint32_t FREQ_CH2
Channel 2: 868.95 MHz (1W and 2W, TX channel).
static constexpr uint16_t PAIRING_DISCOVERY_WAIT_MS
Canonical defaults for the chip-neutral runtime-tunable pairing/discovery parameters.
static constexpr uint8_t UNCONFIRMED_SUBSCRIBE_MAX_RESENDS
Re-sends allowed for a CMD_SUBSCRIBE_EVENT the target accepted without a closing reply.
static constexpr uint8_t LBT_RETRY_DELAY_MS
Backoff between LBT checks.
static constexpr uint16_t COLD_BROADCAST_REPLY_PREAMBLE
Default for TuningConfig::cold_broadcast_reply_preamble — preamble for a broadcast reply to a frame t...
static constexpr uint16_t SHORT_PREAMBLE
Protocol default and floor for continuation frames.
static constexpr uint8_t UNCONFIRMED_EXECUTE_MAX_RESENDS
Re-sends allowed for a CMD_EXECUTE the target accepted without a closing reply, within the same excha...
static constexpr int32_t RESPONSE_WAIT_MS
Wait for response to non-start frame.
static constexpr uint8_t EXCHANGE_MAX_ATTEMPTS
Most attempts any exchange makes, whatever the budget allows: a plan with a long exchange_total_budge...
static constexpr uint32_t PREAMBLE_LINGER_DWELL_MS
Preamble/sync linger extension for a rotating listen (ListenSpec::linger_dwell_ms): how much longer t...
static constexpr uint16_t LOW_POWER_RESPONSE_WAIT_MS
How long a read listens for a low-power receiver's reply after the end of its own transmission,...
static constexpr uint16_t LONG_PREAMBLE
Preamble is a sequence of 0xAA bytes that precedes every frame.
static constexpr uint32_t RAIN_EVIDENCE_HOLD_MS
How long a status reply that named the rain sensor as the last commander stays usable as evidence tha...
constexpr bool is_wake_preamble(uint16_t len)
True when a preamble this long is the wake-up burst for a duty-cycled receiver.
static constexpr int32_t RESPONSE_AUTH_WAIT_MS
Wait for final response after challenge response.
static constexpr uint16_t LOW_POWER_SHORT_LEAD_WINDOW_MS
How long the short lead attempt of a read to a low-power receiver in an unknown state listens after t...
static constexpr uint8_t SCHEDULED_POLL_RETRY_GRACE_LAST_FAILURE
static constexpr uint16_t EXCHANGE_TOTAL_BUDGET_MS
Wall-clock ceiling on one whole exchange, retries included.
static constexpr int16_t LBT_RSSI_THRESHOLD_DBM
Listen-before-talk (LBT) parameters: conservative defaults that keep the hub from opening an exchange...
static constexpr uint16_t PAIRING_DISCOVERY_INITIAL_DWELL_MS
Dwell on CH2 before discovery hopping begins.
static constexpr int32_t RESPONSE_START_WAIT_MS
Wait for a response to a start frame — the first frame of an exchange, and the one a sleeping device ...