pub struct JoinPlan<'a> {
pub channels: ChannelBlock,
pub accept_start_hz: u32,
pub accept_step_hz: u32,
pub rx2_start_hz: u32,
pub rx2_step_hz: u32,
pub plan: &'a ChannelPlan<'a>,
}Expand description
A run of join channels that puts a device on one plan, for a region that picks the plan by the channel a device joined on.
RP002-1.0.5 section 3.9.2 has CN470-510 devices scan twenty common join channels, each tied to one of four plans. The channel a join accept answers decides the plan, where the accept arrives, and where the second receive window listens afterward.
Fields§
§channels: ChannelBlockThe join channels this run covers, with the data rates a request may use on them.
accept_start_hz: u32Where the join accept answering the first channel of the run arrives, in hertz.
accept_step_hz: u32How far the accept frequency moves for each next channel, in hertz.
rx2_start_hz: u32The second receive window’s frequency after joining on the first channel, in hertz.
rx2_step_hz: u32How far that frequency moves for each next channel, in hertz.
plan: &'a ChannelPlan<'a>The plan a device joined on these channels follows.
Implementations§
Source§impl<'a> JoinPlan<'a>
impl<'a> JoinPlan<'a>
Sourcepub const fn new(
channels: ChannelBlock,
accept: (u32, u32),
rx2: (u32, u32),
plan: &'a ChannelPlan<'a>,
) -> JoinPlan<'a>
pub const fn new( channels: ChannelBlock, accept: (u32, u32), rx2: (u32, u32), plan: &'a ChannelPlan<'a>, ) -> JoinPlan<'a>
Builds a run of join channels.
§Arguments
channels- the join channels and their data rates.accept- the accept frequency for the first channel and its step, in hertz.rx2- the second window’s frequency for the first channel and its step, in hertz.plan- the plan a join on these channels puts a device on.
§Returns
The run.