Configures the scheduled RX algorithm.
Defines the start and end times of the receive window created for a scheduled receive. If either start or end times are disabled, they will be ignored.
Public Attributes#
The time to start receive.
How to interpret the time value specified in the start parameter.
The time to end receive.
How to interpret the time value specified in the end parameter.
While in scheduled RX, you can still control the radio state via state transitions.
This setting tells RAIL what to do with a packet being received when the window end event occurs.
Public Attribute Documentation#
start#
sl_rail_time_t sl_rail_scheduled_rx_config_t::start
The time to start receive.
See start_mode for more information about the types of start times that you can specify.
start_mode#
sl_rail_time_mode_t sl_rail_scheduled_rx_config_t::start_mode
How to interpret the time value specified in the start parameter.
See the sl_rail_time_mode_t documentation for more information. Use SL_RAIL_TIME_ABSOLUTE for absolute times, SL_RAIL_TIME_DELAY for times relative to the current time and SL_RAIL_TIME_DISABLED to ignore the start time.
end#
sl_rail_time_t sl_rail_scheduled_rx_config_t::end
The time to end receive.
See end_mode for more information about the types of end times you can specify.
end_mode#
sl_rail_time_mode_t sl_rail_scheduled_rx_config_t::end_mode
How to interpret the time value specified in the end parameter.
See the sl_rail_time_mode_t documentation for more information. Note that, in this API, if you specify a SL_RAIL_TIME_DELAY, it is relative to the start time if given and relative to now if none is specified. Also, using SL_RAIL_TIME_DISABLED means that this window will not end unless you explicitly call sl_rail_idle() or add an end event through a future update to this configuration.
rx_transition_end_schedule#
uint8_t sl_rail_scheduled_rx_config_t::rx_transition_end_schedule
While in scheduled RX, you can still control the radio state via state transitions.
This option configures whether a transition to RX goes back to scheduled RX or to the normal RX state. Once in the normal RX state, you will effectively end the scheduled RX window and can continue to receive indefinitely depending on the state transitions. Set to 1 to transition to normal RX and 0 to stay in the scheduled RX.
Note
This field's behavior differs from RAIL 2.x behavior: In RAIL 2.x when this field is true, it would suppress RAIL_EVENT_RX_SCHEDULED_RX_END when the scheduled Rx window is implicitly ended by a packet receive (any of the SL_RAIL_EVENTS_RX_COMPLETION events). In RAIL 3 the SL_RAIL_EVENT_RX_SCHEDULED_RX_END is never suppressed.
An Rx transition to Idle state will always terminate the scheduled Rx window, regardless of this setting. This can be used to ensure Scheduled RX terminates on the first packet received (or first successful packet if the RX error transition is to Rx while the Rx success transition is to Idle).
hard_window_end#
uint8_t sl_rail_scheduled_rx_config_t::hard_window_end
This setting tells RAIL what to do with a packet being received when the window end event occurs.
If set to 0, such a packet will be allowed to complete. Any other setting will cause that packet to be aborted. In either situation, any posting of SL_RAIL_EVENT_RX_SCHEDULED_RX_END is deferred briefly to when the packet's corresponding SL_RAIL_EVENTS_RX_COMPLETION occurs.