Radio Control Layer (RCL)
|
#include <stdint.h>
#include <ti/drivers/rcl/RCL_Command.h>
#include <ti/drivers/rcl/RCL_Buffer.h>
#include <ti/drivers/rcl/LRF.h>
#include <ti/drivers/rcl/commands/ble5.h>
Go to the source code of this file.
Enumerations | |
enum | RCL_BLE5_FilterListUpdateResult { RCL_BLE5_FilterListUpdateOk, RCL_BLE5_FilterListUpdateIndexError } |
Result of filter list update API. More... | |
Functions | |
RCL_Events | RCL_Handler_BLE5_adv (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_Events | RCL_Handler_BLE5_scan_init (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_Events | RCL_Handler_BLE5_conn (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_Events | RCL_Handler_BLE5_dtmTx (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_Events | RCL_Handler_BLE5_genericRx (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_Events | RCL_Handler_BLE5_genericTx (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_Events | RCL_Handler_Ble5_txTest (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_Events | RCL_Handler_BLE5_aux_adv (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
RCL_BLE5_FilterListUpdateResult | RCL_BLE5_updateFilterList (const RCL_FL_Entry *newEntry, RCL_FilterList *filterList, uint32_t index) |
Update filter list. More... | |
void | RCL_BLE5_setDefaultRfFrequency (uint32_t rfFrequency) |
Set RF frequency to use if custom frequency is specified. More... | |
static RCL_Ble5Channel | RCL_BLE5_getRxChannel (const RCL_Buffer_DataEntry *rxEntry) |
Get channel field from packet. More... | |
RCL_Ble5_RxPktStatus | RCL_BLE5_getRxStatus (const RCL_Buffer_DataEntry *rxEntry) |
Get received status field from packet. More... | |
int8_t | RCL_BLE5_getRxRssi (const RCL_Buffer_DataEntry *rxEntry) |
Get received RSSI from packet. More... | |
uint32_t | RCL_BLE5_getRxTimestamp (const RCL_Buffer_DataEntry *rxEntry) |
Get received timestamp from packet. More... | |
RCL_Events RCL_Handler_BLE5_adv | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References RCL_SchedulerState::actualStartTime, ADV_ACCESS_ADDRESS, ADV_CRC_INIT, ble5HandlerState, BLE_ADV_AUX_SCAN_REQ_PKT_LEN, BLE_ADV_FILTER_POLICY_CONN, BLE_ADV_FILTER_POLICY_SCAN, BLE_ADV_MODE_BM, BLE_ADV_MODE_CONN_NONSCAN, BLE_ADV_MODE_NONCONN_NONSCAN, BLE_ADV_MODE_NONCONN_SCAN, BLE_AUX_OFFSET_30_US, BLE_convertSystimUnitsToOffsetUnits, BLE_CUSTOM_FREQ_BM, BLE_HEADER_LENGTH, BLE_NUM_PAD, BLE_PDU_ADV_DIRECT_IND, BLE_PDU_ADV_EXTENDED, BLE_PDU_ADV_IND, BLE_PDU_ADV_NONCONN_IND, BLE_PDU_ADV_SCAN_IND, BLE_PDU_TYPE_BM, BLE_T_IFS, RCL_SchedulerStopInfo::cmdStopEnabled, EXT_ADV_INTERVAL_US, EXT_ADV_PHY_SWITCHING_DELAY_US, RCL_SchedulerState::gracefulStopInfo, hal_enable_graceful_stop_time_irq(), hal_setup_sync_found_cap(), HIGH_DUTY_CYCLE_INTERVAL, LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_EventRxBufFull, LRF_EventRxIgnored, LRF_EventRxNok, LRF_EventRxOk, LRF_peekRxFifo(), LRF_prepareRxFifo(), LRF_prepareTxFifo(), LRF_programFrequency(), LRF_programTxPower(), LRF_readRxFifoWords(), LRF_waitForTopsmReady(), RCL_Buffer_DataEntry_paddedLen, RCL_Buffer_entryLen, RCL_BufferStateFinished, RCL_CommandStatus_Active, RCL_CommandStatus_Connect, RCL_CommandStatus_Error_MissingTxBuffer, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Error_RxBufferCorruption, RCL_CommandStatus_Error_TxBufferCorruption, RCL_CommandStatus_Finished, RCL_Handler_BLE5_commitPacket(), RCL_Handler_BLE5_findAdvChannel(), RCL_Handler_BLE5_findNumExtraBytes(), RCL_Handler_BLE5_findPacketDuration(), RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findWhitenInit(), RCL_Handler_BLE5_getAuxPtrFromTxBuffer(), RCL_Handler_BLE5_initAdvScanInitStats(), RCL_Handler_BLE5_InitializeFilterList(), RCL_Handler_BLE5_maskEventsByFifoConf(), RCL_Handler_BLE5_setPhy(), RCL_Handler_BLE5_updateAdvScanInitStats(), RCL_Handler_BLE5_updateAuxPtr(), RCL_Handler_BLE5_updateRxCurBufferAndFifo(), RCL_Handler_BLE5_updateTxBuffers(), RCL_MultiBuffer_getBuffer(), RCL_MultiBuffer_getNextWritableByte(), RCL_ProfilingEvent_PostprocStart, RCL_ProfilingEvent_PreprocStop, RCL_Scheduler_findStopStatus(), RCL_Scheduler_setNewStartNow(), RCL_Scheduler_setNewStartRelTime(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_SCHEDULER_SYSTIM_US, RCL_StopType_Graceful, RCL_StopType_Hard, RCL_TxBuffer_get(), RCL_TxBuffer_head(), RCL_TxBuffer_next(), rclSchedulerState, RCL_SchedulerState::requestedPhyFeatures, RCL_SchedulerStopInfo::schedStopEnabled, and TxPowerResult_Ok.
RCL_Events RCL_Handler_BLE5_scan_init | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References RCL_SchedulerState::actualStartTime, ADV_ACCESS_ADDRESS, ADV_CRC_INIT, RCL_SchedulerStopInfo::apiStopEnabled, ble5HandlerState, BLE_ADV_CHAN_HI, BLE_ADV_CHAN_LO, BLE_ADV_CHAN_MID, BLE_ADV_EXTENDED_MAX_PKT_LEN, BLE_ADV_LEGACY_MAX_PKT_LEN, BLE_AUX_OFFSET_300_US, BLE_AUX_OFFSET_30_US, BLE_CLK_ACCURACY_SCALE_FACTOR, BLE_CONNECT_INT_UNIT, BLE_CONNECT_MSG_LEN, BLE_HEADER_LENGTH, BLE_INTERVAL_POS, BLE_PDU_ADV_DIRECT_IND, BLE_PDU_ADV_EXTENDED, BLE_PDU_ADV_IND, BLE_PDU_AUX_CONNECT_RSP, BLE_PDU_TYPE_BM, BLE_PHY_FEATURE_PHY_CODED, BLE_PHY_FEATURE_PHY_MASK, BLE_SCALED_CLK_ACCURACY_500PPM, BLE_SCALED_CLK_ACCURACY_50PPM, BLE_T_IFS, BLE_TRANSMIT_WINDOW_DELAY_EXT_CODED, BLE_TRANSMIT_WINDOW_DELAY_EXT_UNCODED, BLE_TRANSMIT_WINDOW_DELAY_LEGACY, BLE_WIN_OFFSET_POS, BLE_WIN_SIZE_POS, RCL_SchedulerState::gracefulStopInfo, hal_setup_sync_found_cap(), RCL_SchedulerState::hardStopInfo, LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_EventRxBufFull, LRF_EventRxIgnored, LRF_EventRxNok, LRF_EventRxOk, LRF_getTxFifoWrAddr(), LRF_peekRxFifo(), LRF_prepareRxFifo(), LRF_prepareTxFifo(), LRF_programFrequency(), LRF_programTxPower(), LRF_readRxFifoWords(), LRF_waitForTopsmReady(), RCL_BLE5_CONNECT_INT_SUB_DIV, RCL_BLE5_CONNECT_SUB_INT, RCL_Buffer_DataEntry_paddedLen, RCL_CMDID_BLE5_INITIATOR, RCL_CommandStatus_Active, RCL_CommandStatus_Connect, RCL_CommandStatus_Error_MissingTxBuffer, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Error_RxBufferCorruption, RCL_CommandStatus_Finished, RCL_CommandStatus_MaxAuxWaitTimeExceeded, RCL_EventNone, RCL_Handler_BLE5_commitPacket(), RCL_Handler_BLE5_findConnectTime(), RCL_Handler_BLE5_findNumExtraBytes(), RCL_Handler_BLE5_findPacketDuration(), RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findRxSyncOverhead(), RCL_Handler_BLE5_findWhitenInit(), RCL_Handler_BLE5_initAdvScanInitStats(), RCL_Handler_BLE5_InitializeFilterList(), RCL_Handler_BLE5_maskEventsByFifoConf(), RCL_Handler_BLE5_prepareConnectTime(), RCL_Handler_BLE5_readAuxPtrFromRxBuffer(), RCL_Handler_BLE5_setPhy(), RCL_Handler_BLE5_updateAdvScanInitStats(), RCL_Handler_BLE5_updateBackoffParams(), RCL_Handler_BLE5_updateFilterListEntry(), RCL_Handler_BLE5_updateRxCurBufferAndFifo(), RCL_Handler_BLE5_updateTxBuffers(), RCL_MultiBuffer_getBuffer(), RCL_MultiBuffer_getNextWritableByte(), RCL_ProfilingEvent_PreprocStop, RCL_Scheduler_findStopStatus(), RCL_Scheduler_setNewStartAbsTime(), RCL_Scheduler_setNewStartNow(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_SCHEDULER_SYSTIM_US, RCL_StopType_Graceful, RCL_StopType_Hard, RCL_TxBuffer_head(), rclSchedulerState, RCL_SchedulerState::requestedPhyFeatures, RX_START_OVERHEAD, txBuffer_dataByte, and TxPowerResult_Ok.
RCL_Events RCL_Handler_BLE5_conn | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References RCL_SchedulerState::actualStartTime, ble5HandlerState, BLE_MAX_PKT_LEN, hal_setup_sync_found_cap(), LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_EventRxBufFull, LRF_EventRxEmpty, LRF_EventRxIgnored, LRF_EventRxNok, LRF_EventRxOk, LRF_EventTxDone, LRF_getTxFifoWritable(), LRF_peekRxFifo(), LRF_prepareRxFifo(), LRF_prepareTxFifo(), LRF_programFrequency(), LRF_programTxPower(), LRF_readRxFifoWords(), LRF_waitForTopsmReady(), RCL_Buffer_DataEntry_paddedLen, RCL_BufferStateFinished, RCL_CommandStatus_Active, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Error_RxBufferCorruption, RCL_CommandStatus_Error_TxBufferCorruption, RCL_CommandStatus_Finished, RCL_CommandStatus_MaxNak, RCL_CommandStatus_NoSync, RCL_CommandStatus_RxErr, RCL_CommandStatus_RxTimeout, RCL_Handler_BLE5_commitPacket(), RCL_Handler_BLE5_findNumExtraBytes(), RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findWhitenInit(), RCL_Handler_BLE5_initConnStats(), RCL_Handler_BLE5_maskEventsByFifoConf(), RCL_Handler_BLE5_setPhy(), RCL_Handler_BLE5_updateConnStats(), RCL_Handler_BLE5_updateRxCurBufferAndFifo(), RCL_Handler_BLE5_updateTxBuffers(), RCL_MultiBuffer_getBuffer(), RCL_MultiBuffer_getNextWritableByte(), RCL_ProfilingEvent_PostprocStart, RCL_ProfilingEvent_PreprocStop, RCL_Schedule_AbsTime, RCL_Scheduler_findStopStatus(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_StopType_Graceful, RCL_TxBuffer_get(), rclSchedulerState, and TxPowerResult_Ok.
RCL_Events RCL_Handler_BLE5_dtmTx | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References ADV_CRC_INIT, ble5HandlerState, BLE_DTM_PAYLOAD_TYPE_00000000, BLE_DTM_PAYLOAD_TYPE_00001111, BLE_DTM_PAYLOAD_TYPE_01010101, BLE_DTM_PAYLOAD_TYPE_10101010, BLE_DTM_PAYLOAD_TYPE_11110000, BLE_DTM_PAYLOAD_TYPE_11111111, BLE_DTM_PAYLOAD_TYPE_PRBS15, BLE_DTM_PAYLOAD_TYPE_PRBS9, DTM_ACCESS_ADDRESS, LRF_CLOCK_TICKS_PER_US, LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_prepareTxFifo(), LRF_programFrequency(), LRF_programTxPower(), LRF_waitForTopsmReady(), RCL_Buffer_bytesToWords, RCL_CommandStatus_Active, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Finished, RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findWhitenInit(), RCL_HANDLER_BLE5_PRBS15_INIT, RCL_HANDLER_BLE5_PRBS15_POLY, RCL_HANDLER_BLE5_PRBS9_INIT, RCL_HANDLER_BLE5_PRBS9_POLY, RCL_Handler_BLE5_setPhy(), RCL_Scheduler_findStopStatus(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_StopType_Graceful, and TxPowerResult_Ok.
RCL_Events RCL_Handler_BLE5_genericRx | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References RCL_SchedulerState::actualStartTime, ble5HandlerState, hal_setup_sync_found_cap(), LRF_disable(), LRF_disableSynthRefsys(), LRF_discardRxFifoWords(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_EventRxBufFull, LRF_EventRxIgnored, LRF_EventRxNok, LRF_EventRxOk, LRF_peekRxFifo(), LRF_prepareRxFifo(), LRF_programFrequency(), LRF_readRxFifoWords(), LRF_setRxFifoEffSz(), LRF_waitForTopsmReady(), RCL_Buffer_DataEntry_paddedLen, RCL_CommandStatus_Active, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Error_RxBufferCorruption, RCL_CommandStatus_Finished, RCL_EventNone, RCL_Handler_BLE5_commitPacket(), RCL_Handler_BLE5_findNumExtraBytes(), RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findWhitenInit(), RCL_Handler_BLE5_initGenericRxStats(), RCL_Handler_BLE5_maskEventsByFifoConf(), RCL_Handler_BLE5_setPhy(), RCL_Handler_BLE5_updateGenericRxStats(), RCL_Handler_BLE5_updateRxCurBufferAndFifo(), RCL_MultiBuffer_getBuffer(), RCL_MultiBuffer_getNextWritableByte(), RCL_Scheduler_findStopStatus(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_StopType_Graceful, and rclSchedulerState.
RCL_Events RCL_Handler_BLE5_genericTx | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References ble5HandlerState, LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_prepareTxFifo(), LRF_programFrequency(), LRF_programTxPower(), LRF_waitForTopsmReady(), RCL_BufferStateFinished, RCL_CommandStatus_Active, RCL_CommandStatus_Error_MissingTxBuffer, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Finished, RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findWhitenInit(), RCL_Handler_BLE5_setPhy(), RCL_Handler_BLE5_updateTxBuffers(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_TxBuffer_get(), and TxPowerResult_Ok.
RCL_Events RCL_Handler_Ble5_txTest | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References ble5HandlerState, LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_programFrequency(), LRF_programTxPower(), LRF_waitForTopsmReady(), RCL_CMD_BLE5_WH_MODE_DEFAULT, RCL_CMD_BLE5_WH_MODE_PRBS15, RCL_CMD_BLE5_WH_MODE_PRBS9, RCL_CommandStatus_Active, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Finished, RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findWhitenInit(), RCL_HANDLER_BLE5_PRBS15_INIT, RCL_HANDLER_BLE5_PRBS15_POLY, RCL_HANDLER_BLE5_PRBS32_INIT, RCL_HANDLER_BLE5_PRBS32_POLY, RCL_HANDLER_BLE5_PRBS9_INIT, RCL_HANDLER_BLE5_PRBS9_POLY, RCL_HANDLER_BLE5_PRBS_SYNC, RCL_HANDLER_BLE5_RESTORE_MODCTRL, RCL_HANDLER_BLE5_RESTORE_NONE, RCL_HANDLER_BLE5_RESTORE_WHITEN_POLY, RCL_Handler_BLE5_setPhy(), RCL_Scheduler_setStartStopTimeEarliestStart(), and TxPowerResult_Ok.
RCL_Events RCL_Handler_BLE5_aux_adv | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References RCL_SchedulerState::actualStartTime, ADV_ACCESS_ADDRESS, ADV_CRC_INIT, ble5HandlerState, BLE_ADV_AUX_SCAN_REQ_PKT_LEN, BLE_ADV_FILTER_POLICY_SCAN, BLE_ADV_MODE_BM, BLE_ADV_MODE_CONN_NONSCAN, BLE_ADV_MODE_NONCONN_NONSCAN, BLE_ADV_MODE_NONCONN_SCAN, BLE_AUX_OFFSET_30_US, BLE_convertSystimUnitsToOffsetUnits, BLE_HEADER_LENGTH, BLE_NUM_PAD, BLE_PDU_ADV_EXTENDED, BLE_PDU_TYPE_BM, BLE_T_IFS, RCL_SchedulerStopInfo::cmdStopEnabled, EXT_ADV_INTERVAL_US, RCL_SchedulerState::gracefulStopInfo, hal_enable_graceful_stop_time_irq(), hal_setup_sync_found_cap(), LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableHwInterrupt(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_EventRxBufFull, LRF_EventRxIgnored, LRF_EventRxNok, LRF_EventRxOk, LRF_peekRxFifo(), LRF_prepareRxFifo(), LRF_prepareTxFifo(), LRF_programFrequency(), LRF_programTxPower(), LRF_readRxFifoWords(), LRF_waitForTopsmReady(), RCL_Buffer_DataEntry_paddedLen, RCL_Buffer_entryLen, RCL_BufferStateFinished, RCL_CommandStatus_Active, RCL_CommandStatus_Connect, RCL_CommandStatus_Error_MissingTxBuffer, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Error_RxBufferCorruption, RCL_CommandStatus_Error_TxBufferCorruption, RCL_CommandStatus_Finished, RCL_Handler_BLE5_commitPacket(), RCL_Handler_BLE5_findNumExtraBytes(), RCL_Handler_BLE5_findPacketDuration(), RCL_Handler_BLE5_findPbeErrorEndStatus(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_findWhitenInit(), RCL_Handler_BLE5_getAuxPtrFromTxBuffer(), RCL_Handler_BLE5_initAdvScanInitStats(), RCL_Handler_BLE5_InitializeFilterList(), RCL_Handler_BLE5_maskEventsByFifoConf(), RCL_Handler_BLE5_setPhy(), RCL_Handler_BLE5_updateAdvScanInitStats(), RCL_Handler_BLE5_updateAuxPtr(), RCL_Handler_BLE5_updateRxCurBufferAndFifo(), RCL_Handler_BLE5_updateTxBuffers(), RCL_MultiBuffer_getBuffer(), RCL_MultiBuffer_getNextWritableByte(), RCL_Scheduler_findStopStatus(), RCL_Scheduler_setNewStartRelTime(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_SCHEDULER_SYSTIM_US, RCL_StopType_Graceful, RCL_StopType_Hard, RCL_TxBuffer_get(), RCL_TxBuffer_head(), RCL_TxBuffer_next(), rclSchedulerState, RCL_SchedulerStopInfo::schedStopEnabled, and TxPowerResult_Ok.
RCL_BLE5_FilterListUpdateResult RCL_BLE5_updateFilterList | ( | const RCL_FL_Entry * | newEntry, |
RCL_FilterList * | filterList, | ||
uint32_t | index | ||
) |
Update filter list.
Update the given filter list in a way that is safe even if a running command is using the filter list. The contents of newEntry will be copied into filterList->entries[index].
If a scanner or initiator function is running, the filter list in use in the radio will also be updated in a way that ensures no match will be found on a non-existing entry. In a short time, neither the old nor new entry will give a match.
If an advertiser command is running, the update will not apply until the next time the advertiser is started
newEntry | New filter list entry to apply |
filterList | Filter accept list to update |
index | Index into filter accept list to update |
References ble5HandlerState, RCL_SchedulerState::currCmd, PBE_NUM_FILTER_ENTRIES, RCL_BLE5_FilterListUpdateIndexError, RCL_BLE5_FilterListUpdateOk, RCL_EventHandlerCmdUpdate, RCL_Scheduler_postEvent(), and rclSchedulerState.
void RCL_BLE5_setDefaultRfFrequency | ( | uint32_t | rfFrequency | ) |
Set RF frequency to use if custom frequency is specified.
If a command specifies to use a custom frequncy, it will program the freuqncy last set using this function.
rfFrequency | RF frequency in Hz |
References ble5HandlerState.
|
inlinestatic |
Get channel field from packet.
Returns the channel that the packet was received on
rxEntry | Received data entry |
References RCL_BLE5_getRxRssi(), RCL_BLE5_getRxStatus(), and RCL_BLE5_getRxTimestamp().
RCL_Ble5_RxPktStatus RCL_BLE5_getRxStatus | ( | const RCL_Buffer_DataEntry * | rxEntry | ) |
Get received status field from packet.
Returns the packet status field of a received packet, or {.value = RCL_BLE5_RX_PKT_STATUS_INVALID} if status is not enabled
rxEntry | Received data entry |
References ble5HandlerState, RCL_BLE5_RX_PKT_STATUS_INVALID, RCL_Handler_BLE5_findNumExtraBytes(), and RCL_Ble5_RxPktStatus::value.
Referenced by RCL_BLE5_getRxChannel().
int8_t RCL_BLE5_getRxRssi | ( | const RCL_Buffer_DataEntry * | rxEntry | ) |
Get received RSSI from packet.
Returns the RSSI field of a received packet, or LRF_RSSI_INVALID if RSSI is not enabled
rxEntry | Received data entry |
References ble5HandlerState, LRF_RSSI_INVALID, and RCL_Handler_BLE5_findNumExtraBytes().
Referenced by RCL_BLE5_getRxChannel().
uint32_t RCL_BLE5_getRxTimestamp | ( | const RCL_Buffer_DataEntry * | rxEntry | ) |
Get received timestamp from packet.
Returns the timestamp a received packet, adjusted according to the PHY it was received on (1 Mbps assumed if packet status is not available). If timestamp is not enabled, 0 is returned. Note that this is a valid value, so it can not be used for error checking.
rxEntry | Received data entry |
References ble5HandlerState, RCL_Ble5_RxPhy1Mbps, RCL_Ble5_RxPhy2Mbps, RCL_Ble5_RxPhyCodedS2, RCL_Ble5_RxPhyCodedS8, RCL_Handler_BLE5_findNumExtraBytes(), TIMESTAMP_ADJUST_1MBPS, TIMESTAMP_ADJUST_2MBPS, and TIMESTAMP_ADJUST_CODED.
Referenced by RCL_BLE5_getRxChannel().