npr::rf::UplinkFramePlanner class final

Builds uplink NPR frames and applies slot TX selection logic for the slave role.

Public static functions

static auto has_time_for_frame(const SlotTxTimeBudget& budget, uint64_t now_us, uint32_t estimated_frame_us, uint32_t safety_guard_us) -> bool
Checks if one more frame can be started before slot budget closes.
static auto select_next_frame_kind(const SlotTxDecisionInput& input) -> SlotTxFrameKind
Selects next frame class for current slot state.

Public functions

auto build_connect_request(const NprFrameCodec& codec, const ConnectRequestBuildInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) const -> bool
Builds one CONNECT_REQ signaling frame for unslotted wake/discovery transmit.
auto plan_slot_frame(const NprFrameCodec& codec, const SlotPlanInput& input, SlotPlanResult* out) const -> bool
Plans and encodes one frame for current slot; returns false only on invalid pointers.