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_Command *cmd, uint32_t startTime, SchedulerStartType startType) |
static void | rclSchedulerFindEarliestStopTime (RCL_SchedulerStopInfo *stopInfo) |
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_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) |
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... | |
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_CommandStatus_GracefulStop, RCL_CommandStatus_HardStop, RCL_Debug_assert, RCL_Scheduler_getCurrentTime(), RCL_Scheduler_isLater(), RCL_SCHEDULER_TRIG_NOW_DELAY, RCL_SchedulerStopTimeSelect_Cmd, RCL_SchedulerStopTimeSelect_None, RCL_SchedulerStopTimeState_Found, rclSchedulerFindEarliestStopTime(), rclSchedulerState, RCL_SchedulerStopInfo::schedStopTime, SchedulerNoStart, SchedulerStartAbsTimeAllowDelay, SchedulerStartNow, RCL_SchedulerStopInfo::stopTimeSelect, and RCL_SchedulerState::stopTimeState.
Referenced by RCL_Scheduler_setCmdStopTimeNoStartTrigger(), 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_SchedulerStopTimeSelect_Cmd, RCL_SchedulerStopTimeSelect_None, RCL_SchedulerStopTimeSelect_Sched, RCL_SchedulerStopInfo::schedStopEnabled, RCL_SchedulerStopInfo::schedStopTime, and RCL_SchedulerStopInfo::stopTimeSelect.
Referenced by RCL_Scheduler_setSchedStopTime(), and rclSchedulerProcessCmdStartStopTime().
RCL_SchedulerState rclSchedulerState |
Referenced by RCL_BLE5_updateFilterList(), RCL_Command_stop(), RCL_Command_submit(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Nesb_Prx(), RCL_Handler_Nesb_Ptx(), RCL_Lite_Command_isFinished(), RCL_Lite_Command_start(), RCL_Lite_Command_stop(), RCL_Lite_CommandHwi(), RCL_MultiBuffer_put(), RCL_Scheduler_postEvent(), RCL_Scheduler_setNewStartRelTime(), RCL_Scheduler_setSchedStopTime(), RCL_Scheduler_setStopTimes(), RCL_TxBuffer_put(), rclCommandHwi(), rclDispatchHwi(), rclPowerNotify(), rclSchedulerHwi(), and rclSchedulerProcessCmdStartStopTime().