Radio Control Layer (RCL)
|
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <ti/log/Log.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/rcl/hal/hal.h>
#include <ti/drivers/rcl/RCL_Command.h>
#include <ti/drivers/rcl/RCL_Scheduler.h>
#include <ti/drivers/rcl/RCL_Debug.h>
#include <ti/drivers/rcl/LRF.h>
Enumerations | |
enum | SchedulerStartType { SchedulerNoStart = 0, SchedulerStartNow = 1, SchedulerStartAbsTimeAllowDelay = 2, SchedulerStartAbsTimeNoDelay = 3 } |
Functions | |
static RCL_CommandStatus | rclSchedulerProcessCmdStartStopTime (const RCL_CommandTiming *timing, uint32_t startTime, SchedulerStartType startType) |
static void | rclSchedulerFindEarliestStopTime (RCL_SchedulerStopInfo *stopInfo) |
static RCL_StopType | rclSchedulerSetNewStopTime (RCL_SchedulerStopInfo *stopInfo, uint32_t newStopTime, bool sched) |
static RCL_StopType | rclSchedulerCancelStopTime (RCL_SchedulerStopInfo *stopInfo, bool sched) |
RCL_CommandStatus | RCL_Scheduler_findStopStatus (RCL_StopType stopType) |
Get relevant status when a command was stopped. More... | |
RCL_CommandStatus | RCL_Scheduler_setStartStopTime (const RCL_Command *cmd) |
Set start and stop time for LRF based on command. More... | |
RCL_CommandStatus | RCL_Scheduler_setStartStopTimeEarliestStart (const RCL_Command *cmd, uint32_t earliestStartTime) |
Set start and stop time for LRF based on command with earliest start time. More... | |
RCL_CommandStatus | RCL_Scheduler_setCustomStartStopTime (const RCL_CommandTiming *timing, RCL_ScheduleType scheduling, bool allowDelay) |
Set start and stop time for LRF. More... | |
RCL_CommandStatus | RCL_Scheduler_setCustomStartStopTimeEarliestStart (const RCL_CommandTiming *timing, RCL_ScheduleType scheduling, bool allowDelay, uint32_t earliestStartTime) |
Set start and stop time for LRF with earliest start time. More... | |
RCL_CommandStatus | RCL_Scheduler_setCmdStopTimeNoStartTrigger (const RCL_Command *cmd) |
Set stop time for LRF based on command when it does not need a start trigger. More... | |
RCL_CommandStatus | RCL_Scheduler_setNewStartNow (void) |
Set new start time for LRF to now, after a previous start. More... | |
RCL_CommandStatus | RCL_Scheduler_setNewStartAbsTime (uint32_t startTime, bool allowDelay) |
Set new start time for LRF to given absolute time, after a previous start. More... | |
RCL_CommandStatus | RCL_Scheduler_setNewStartRelTime (uint32_t relStartTime) |
Set new start time for LRF to given time relative to previous LRF start. More... | |
RCL_StopType | RCL_Scheduler_setStopTimes (void) |
Function to apply relevant stop times. More... | |
bool | RCL_Scheduler_isLater (uint32_t refTime, uint32_t chkTime) |
Find if a time instant occurs after another, allowing wrap-around. More... | |
int32_t | RCL_Scheduler_delta (uint32_t refTime, uint32_t chkTime) |
Find the time difference between two times, allowing wrap-around. More... | |
RCL_StopType | RCL_Scheduler_setSchedStopTime (RCL_SchedulerStopInfo *stopInfo, uint32_t schedStopTime) |
Set scheduler stop time. More... | |
RCL_StopType | RCL_Scheduler_setCmdStopTime (RCL_SchedulerStopInfo *stopInfo, uint32_t cmdStopTime) |
Set command stop time. More... | |
RCL_StopType | RCL_Scheduler_cancelSchedStopTime (RCL_SchedulerStopInfo *stopInfo) |
Cancel scheduler stop time. More... | |
RCL_StopType | RCL_Scheduler_cancelCmdStopTime (RCL_SchedulerStopInfo *stopInfo) |
Cancel command stop time. More... | |
bool | RCL_Scheduler_postEvent (RCL_Command_Handle c, RCL_Events e) |
Post event to command handler. More... | |
Variables | |
RCL_SchedulerState | rclSchedulerState |
enum SchedulerStartType |
|
static |
References RCL_SchedulerState::actualStartTime, RCL_SchedulerStopInfo::apiStopEnabled, RCL_SchedulerStopInfo::cmdStopEnabled, RCL_SchedulerStopInfo::cmdStopTime, RCL_SchedulerState::gracefulStopInfo, hal_get_current_time(), hal_setup_start_time(), RCL_SchedulerState::hardStopInfo, RCL_CommandStatus_Active, RCL_CommandStatus_Error_StartTooLate, RCL_Debug_assert, RCL_Scheduler_findStopStatus(), RCL_Scheduler_getCurrentTime(), RCL_Scheduler_isLater(), RCL_SCHEDULER_TRIG_NOW_DELAY, RCL_SchedulerStopReason_None, RCL_SchedulerStopReason_Timeout, RCL_SchedulerStopTimeState_Found, RCL_StopType_Graceful, RCL_StopType_Hard, rclSchedulerFindEarliestStopTime(), RCL_SchedulerStopInfo::schedStopTime, SchedulerNoStart, SchedulerStartAbsTimeAllowDelay, SchedulerStartNow, RCL_SchedulerStopInfo::stopReason, and RCL_SchedulerState::stopTimeState.
Referenced by RCL_Scheduler_setCmdStopTimeNoStartTrigger(), RCL_Scheduler_setCustomStartStopTime(), RCL_Scheduler_setCustomStartStopTimeEarliestStart(), RCL_Scheduler_setNewStartAbsTime(), RCL_Scheduler_setNewStartNow(), RCL_Scheduler_setNewStartRelTime(), RCL_Scheduler_setStartStopTime(), and RCL_Scheduler_setStartStopTimeEarliestStart().
|
static |
References RCL_SchedulerStopInfo::cmdStopEnabled, RCL_SchedulerStopInfo::cmdStopTime, RCL_Scheduler_getCurrentTime(), RCL_Scheduler_isLater(), RCL_SchedulerStopReason_None, RCL_SchedulerStopReason_Scheduling, RCL_SchedulerStopReason_Timeout, RCL_SchedulerStopInfo::schedStopEnabled, RCL_SchedulerStopInfo::schedStopTime, and RCL_SchedulerStopInfo::stopReason.
Referenced by rclSchedulerCancelStopTime(), rclSchedulerProcessCmdStartStopTime(), and rclSchedulerSetNewStopTime().
|
static |
References RCL_SchedulerStopInfo::cmdStopEnabled, RCL_SchedulerStopInfo::cmdStopTime, RCL_SchedulerState::currCmd, RCL_EventStopTimesUpdated, RCL_Scheduler_postEvent(), RCL_Scheduler_setStopTimes(), RCL_SchedulerStopReason_None, RCL_SchedulerStopReason_Scheduling, RCL_SchedulerStopReason_Timeout, RCL_SchedulerStopTimeState_Programmed, RCL_StopType_None, rclSchedulerFindEarliestStopTime(), RCL_SchedulerStopInfo::schedStopEnabled, RCL_SchedulerStopInfo::schedStopTime, RCL_SchedulerStopInfo::stopReason, and RCL_SchedulerState::stopTimeState.
Referenced by RCL_Scheduler_setCmdStopTime(), and RCL_Scheduler_setSchedStopTime().
|
static |
References RCL_SchedulerStopInfo::cmdStopEnabled, RCL_SchedulerStopInfo::cmdStopTime, RCL_SchedulerState::currCmd, hal_cancel_graceful_stop_time(), hal_cancel_hard_stop_time(), RCL_SchedulerState::hardStopInfo, RCL_EventStopTimesUpdated, RCL_Scheduler_postEvent(), RCL_Scheduler_setStopTimes(), RCL_SchedulerStopReason_None, RCL_SchedulerStopReason_Scheduling, RCL_SchedulerStopReason_Timeout, RCL_SchedulerStopTimeState_Programmed, RCL_StopType_None, rclSchedulerFindEarliestStopTime(), RCL_SchedulerStopInfo::schedStopEnabled, RCL_SchedulerStopInfo::schedStopTime, RCL_SchedulerStopInfo::stopReason, and RCL_SchedulerState::stopTimeState.
Referenced by RCL_Scheduler_cancelCmdStopTime(), and RCL_Scheduler_cancelSchedStopTime().
RCL_SchedulerState rclSchedulerState |
Referenced by __attribute__(), RCL_BLE5_updateFilterList(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Ieee_restoreStopTime(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Ieee_setCustomEventTime(), RCL_Handler_Nesb_Prx(), RCL_Handler_Nesb_Ptx(), RCL_IEEE_Tx_submit(), RCL_Lite_Command_isFinished(), RCL_Lite_Command_start(), RCL_Lite_Command_stop(), RCL_Lite_CommandHwi(), RCL_MultiBuffer_put(), RCL_TxBuffer_put(), rclCommandHwi(), and rclDispatchHwi().