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#

uint8_t

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.


Definition at line 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.


Definition at line 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.


Definition at line 469 of file common/rail_types.h