74 #include <ti/drivers/rf/RF.h> 75 #include <ti/sysbios/knl/Task.h> 87 #define xDMM_DEBUG_LOGGING 89 #ifdef DMM_DEBUG_LOGGING 90 #include <xdc/runtime/Log.h> 91 #define DMM_dbgLog0(str) Log_info0(str) 92 #define DMM_dbgLog1(str, a0) Log_info1(str, a0) 93 #define DMM_dbgLog2(str, a0, a1) Log_info2(str, a0, a1) 94 #define DMM_dbgLog3(str, a0, a1, a2) Log_info3(str, a0, a1, a2) 95 #define DMM_dbgLog4(str, a0, a1, a2, a3) Log_info4(str, a0, a1, a2, a3) 96 #define DMM_dbgLog5(str, a0, a1, a2, a3, a4) Log_info5(str, a0, a1, a2, a3, a4) 98 #define DMM_dbgLog0(str) 99 #define DMM_dbgLog1(str, a0) 100 #define DMM_dbgLog2(str, a0, a1) 101 #define DMM_dbgLog3(str, a0, a1, a2) 102 #define DMM_dbgLog4(str, a0, a1, a2, a3) 103 #define DMM_dbgLog5(str, a0, a1, a2, a3, a4) 131 #define CONFLICT_FLUSH_ALL 1 188 extern RF_Handle
DMMSch_rfOpen(RF_Object *pObj, RF_Mode *pRfMode, RF_RadioSetup *pOpSetup, RF_Params *params);
204 extern RF_CmdHandle
DMMSch_rfPostCmd(RF_Handle h, RF_Op* pOp, RF_Priority ePri, RF_Callback pCb, RF_EventMask bmEvent);
218 extern RF_CmdHandle
DMMSch_rfScheduleCmd(RF_Handle h, RF_Op* pOp, RF_ScheduleCmdParams *pSchParams, RF_Callback pCb, RF_EventMask bmEvent);
231 extern RF_EventMask
DMMSch_rfRunCmd(RF_Handle h, RF_Op* pOp, RF_Priority ePri, RF_Callback pCb, RF_EventMask bmEvent);
245 extern RF_EventMask
DMMSch_rfRunScheduleCmd(RF_Handle h, RF_Op* pOp, RF_ScheduleCmdParams *pSchParams, RF_Callback pCb, RF_EventMask bmEvent);
Dual Mode Policy Manager.
RF_CmdHandle DMMSch_rfPostCmd(RF_Handle h, RF_Op *pOp, RF_Priority ePri, RF_Callback pCb, RF_EventMask bmEvent)
Handles calls from a stack to RF_postCmd (re-mapped to DMMSch_postCmd), adjusts timing as necessary a...
used to define where there is no conflict in commands.
Definition: dmm_scheduler.h:120
void DMMSch_init(void)
Function that initializes the DMMSch module.
void DMMSch_open(DMMSch_Params *params)
Function to open the DMMSch module.
bool DMMSch_getBlockModeStatus(DMMPolicy_StackRole stackRole)
Get Block mode status.
void DMMSch_Params_init(DMMSch_Params *params)
Function to initialize the DMMSch_Params struct to its defaults.
RF_Stat DMMSch_rfCancelCmd(RF_Handle h, RF_CmdHandle ch, uint8_t mode)
Abort/stop/cancel single command in command queue.
RF parameter struct DMM Scheduler parameters are used with the DMMSch_open() and DMMSch_Params_init()...
Definition: dmm_scheduler.h:110
Structure used to define a stack command index table. Reserved for future usage.
Definition: dmm_policy.h:251
void DMMSch_registerPreemptionCb(DMMSch_PreemptionCb dmmSchPreemptionCb)
allows policy manager to register a callback on command preemption
DMMPolicy_StackCmdIndexTable * indexTable
Define the index table for the scheduler.
Definition: dmm_scheduler.h:112
used to define where there is a conflict with both previous and next command.
Definition: dmm_scheduler.h:123
bool DMMSch_setBlockModeOn(DMMPolicy_StackRole stackRole)
Turn on Block mode.
RF_Stat DMMSch_rfRunDirectCmd(RF_Handle h, uint32_t cmd)
Send any Direct command.
DMMPolicy_StackRole
the stack roles supported
Definition: dmm_policy.h:218
#define DMMPOLICY_NUM_STACKS
Number of RF driver clients supported.
Definition: dmm_policy.h:156
used to define where there is a conflict with the next command.
Definition: dmm_scheduler.h:122
DMM_ConflictStatus
DMM Conflict struct DMM Conflict Status.
Definition: dmm_scheduler.h:118
RF_CmdHandle DMMSch_rfScheduleCmd(RF_Handle h, RF_Op *pOp, RF_ScheduleCmdParams *pSchParams, RF_Callback pCb, RF_EventMask bmEvent)
Handles calls from a stack to RF_scheduleCmd (re-mapped to DMMSch_scheduleCmd), adjusts timing as nec...
RF_Stat DMMSch_rfRequestAccess(RF_Handle h, RF_AccessParams *pParams)
Request access RF API that should not be used in DMM
void DMMSch_registerClient(Task_Handle *pTaskHndl, DMMPolicy_StackRole StackRole)
Register an DMM Scheduler client.
void(* DMMSch_PreemptionCb)(DMMPolicy_StackRole stackRolePreempted)
Defines the preemption callback.
Definition: dmm_scheduler.h:141
RF_Stat DMMSch_rfRunImmediateCmd(RF_Handle h, uint32_t *pCmdStruct)
Send any Immediate command.
RF_Handle DMMSch_rfOpen(RF_Object *pObj, RF_Mode *pRfMode, RF_RadioSetup *pOpSetup, RF_Params *params)
Intercepts calls from a stack to RF_postCmd (re-mapped to DMMSch_rfOpen), The DMMSch module uses this...
RF_Stat DMMSch_rfFlushCmd(RF_Handle h, RF_CmdHandle ch, uint8_t mode)
Abort/stop/cancel command and any subsequent commands in command queue.
bool DMMSch_setBlockModeOff(DMMPolicy_StackRole stackRole)
Turn off Block mode.
RF_EventMask DMMSch_rfRunScheduleCmd(RF_Handle h, RF_Op *pOp, RF_ScheduleCmdParams *pSchParams, RF_Callback pCb, RF_EventMask bmEvent)
Handles calls from a stack to RF_runScheduleCmd (re-mapped to DMMSch_runScheduleCmd), adjusts timing as necessary and schedules then accordingly with RF_scheduleCmd.
used to define where there is a conflict with the previous command.
Definition: dmm_scheduler.h:121
RF_EventMask DMMSch_rfRunCmd(RF_Handle h, RF_Op *pOp, RF_Priority ePri, RF_Callback pCb, RF_EventMask bmEvent)
Handles calls from a stack to RF_runCmd (re-mapped to DMMSch_runCmd), adjusts timing as necessary and...