Radio Control Layer (RCL)
RCL_Scheduler.c File Reference
#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>
+ Include dependency graph for RCL_Scheduler.c:

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
 

Enumeration Type Documentation

§ SchedulerStartType

Enumerator
SchedulerNoStart 
SchedulerStartNow 
SchedulerStartAbsTimeAllowDelay 
SchedulerStartAbsTimeNoDelay 

Function Documentation

§ rclSchedulerProcessCmdStartStopTime()

§ rclSchedulerFindEarliestStopTime()

§ rclSchedulerSetNewStopTime()

§ rclSchedulerCancelStopTime()

Variable Documentation

§ rclSchedulerState