Radio Control Layer (RCL)
RCL_Lite.c File Reference
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <ti/drivers/rcl/hal/hal.h>
#include <ti/drivers/rcl/RCL_Command.h>
#include <ti/drivers/rcl/RCL_Lite.h>
#include <ti/drivers/rcl/LRF.h>
#include <ti/drivers/rcl/RCL_Scheduler.h>
#include <ti/drivers/rcl/RCL_Debug.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/log/Log.h>
+ Include dependency graph for RCL_Lite.c:

Macros

#define RCL_LITE_SCHEDULE_MARGIN   RCL_SCHEDULER_SYSTIM_US(150)
 

Functions

void RCL_Lite_CommandHwi (void)
 Routine to be called in the RFD_IRQ0 interrupt handler. More...
 
void RCL_Lite_Command_start (RCL_Command_Handle c)
 Submit RCL command object to be executed. More...
 
bool RCL_Lite_Command_isFinished (void)
 Check if a command is finished. The function may be polled to wait for the running command to end. More...
 
RCL_Command_HandleRCL_Lite_Command_stop (RCL_StopType stopType)
 Stop the running command if any. More...
 

Macro Definition Documentation

§ RCL_LITE_SCHEDULE_MARGIN

#define RCL_LITE_SCHEDULE_MARGIN   RCL_SCHEDULER_SYSTIM_US(150)

Referenced by RCL_Lite_Command_start().

Function Documentation

§ RCL_Lite_CommandHwi()

§ RCL_Lite_Command_start()

void RCL_Lite_Command_start ( RCL_Command_Handle  c)

§ RCL_Lite_Command_isFinished()

bool RCL_Lite_Command_isFinished ( void  )

Check if a command is finished. The function may be polled to wait for the running command to end.

Returns
true if the last running command has finished or no command is started, false if a command is running

References RCL_SchedulerState::currCmd, and rclSchedulerState.

Referenced by RCL_Lite_setPhyFeatures().

§ RCL_Lite_Command_stop()

RCL_Command_Handle* RCL_Lite_Command_stop ( RCL_StopType  stopType)

Stop the running command if any.

Sends the message to try to stop the running command if any. When the function returns, the command may still be running. Depending on the stop type, the command may stop after some time. RCL_Lite_Command_isFinished may be used to determine when the command is finished.

Parameters
stopType[in] - Stop type; telling which situations the command will stop
Returns
Pointer to the command object that is being stopped or remains running; NULL if no command was running

References RCL_SchedulerStopInfo::apiStopEnabled, RCL_SchedulerState::currCmd, RCL_SchedulerState::descheduleReason, RCL_SchedulerState::gracefulStopInfo, RCL_SchedulerState::hardStopInfo, LRF_sendGracefulStop(), LRF_sendHardStop(), RCL_Debug_assert, RCL_EventNone, RCL_Scheduler_postEvent(), RCL_SchedulerStopReason_Api, RCL_StopType_DescheduleOnly, RCL_StopType_Graceful, RCL_StopType_Hard, RCL_StopType_None, rclSchedulerState, and RCL_SchedulerStopInfo::stopReason.

Referenced by RCL_Lite_Command_abort(), RCL_Lite_CommandHwi(), and RCL_Lite_setPhyFeatures().