A structure to hold information used by the scheduler.
For multiprotocol versions of RAIL, this can be used to control how a receive or transmit operation is run. It's not necessary in single-protocol applications.
Public Attributes#
The scheduler priority to use for this operation.
The amount of time in us that this operation can slip by into the future and still be run.
The transaction time in us for this operation.
Public Attribute Documentation#
priority#
uint8_t RAIL_SchedulerInfo_t::priority
The scheduler priority to use for this operation.
This priority is used to preempt a long running lower-priority task to ensure higher-priority operations complete in time. A lower numerical value represents a higher logical priority meaning 0 is the highest priority and 255 is the lowest.
454
of file common/rail_types.h
slipTime#
RAIL_Time_t RAIL_SchedulerInfo_t::slipTime
The amount of time in us that this operation can slip by into the future and still be run.
This time is relative to the start time which may be the current time for relative transmits. If the scheduler can't start the operation by this time, it will be considered a failure.
461
of file common/rail_types.h
transactionTime#
RAIL_Time_t RAIL_SchedulerInfo_t::transactionTime
The transaction time in us for this operation.
Since transaction times may not be known exactly, use a minimum or an expected guess for this time. The scheduler will use the value entered here to look for overlaps between low-priority and high-priority tasks and attempt to find a schedule where all tasks get to run.
469
of file common/rail_types.h