Radio Control Layer (RCL)
|
#include <stdint.h>
#include <stdlib.h>
#include <ti/devices/DeviceFamily.h>
#include <ti/log/Log.h>
#include <ti/drivers/rcl/RCL_Command.h>
#include <ti/drivers/rcl/RCL_Buffer.h>
#include <ti/drivers/rcl/RCL_Scheduler.h>
#include <ti/drivers/rcl/RCL_Profiling.h>
#include <ti/drivers/rcl/hal/hal.h>
#include <ti/drivers/rcl/commands/ble5.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/utils/Random.h>
Data Structures | |
struct | RCL_TxBufferInfo |
struct | RCL_AuxPtr |
struct | .common |
union | .__unnamed__ |
struct | .__unnamed__.adv |
struct | .__unnamed__.auxAdv |
struct | .__unnamed__.scanInit |
struct | .__unnamed__.conn |
struct | .__unnamed__.genericRx |
struct | .__unnamed__.dtmTx |
struct | .__unnamed__.txTest |
Functions | |
uint32_t | RCL_Handler_BLE5_getRandomNumber (void) |
static void | RCL_Handler_BLE5_updateRxCurBufferAndFifo (List_List *rxBuffers) |
static uint16_t | RCL_Handler_BLE5_findWhitenInit (RCL_Ble5Channel channel) |
static uint32_t | RCL_Handler_BLE5_findRfFreq (RCL_Ble5Channel channel) |
static RCL_Ble5Channel | RCL_Handler_BLE5_findAdvChannel (uint32_t advMap, uint32_t order) |
static RCL_CommandStatus | RCL_Handler_BLE5_setPhy (uint16_t phyFeatures) |
static RCL_CommandStatus | RCL_Handler_BLE5_findPbeErrorEndStatus (uint16_t pbeEndStatus) |
static uint32_t | RCL_Handler_BLE5_updateTxBuffers (List_List *txBuffers, uint32_t maxBuffers, RCL_TxBufferInfo *txBufferInfo, bool retransPossible) |
static void | RCL_Handler_BLE5_commitPacket (RCL_MultiBuffer *curBuffer, uint32_t numBytes) |
static uint32_t | RCL_Handler_BLE5_maskEventsByFifoConf (uint32_t mask, uint16_t fifoConfVal) |
static bool | RCL_Handler_BLE5_initAdvScanInitStats (RCL_StatsAdvScanInit *stats, uint32_t startTime) |
static void | RCL_Handler_BLE5_updateAdvScanInitStats (RCL_StatsAdvScanInit *stats, uint32_t startTime) |
static bool | RCL_Handler_BLE5_initConnStats (RCL_StatsConnection *stats, uint32_t startTime) |
static void | RCL_Handler_BLE5_updateConnStats (RCL_StatsConnection *stats, uint32_t startTime) |
static bool | RCL_Handler_BLE5_initGenericRxStats (RCL_StatsGenericRx *stats, uint32_t startTime) |
static void | RCL_Handler_BLE5_updateGenericRxStats (RCL_StatsGenericRx *stats, uint32_t startTime) |
static void | RCL_Handler_BLE5_InitializeFilterList (RCL_FilterList *filterList, uint32_t *pbeFilterList, uint32_t invertMask) |
static void | RCL_Handler_BLE5_updateFilterListEntry (RCL_FilterList *filterList, uint32_t *pbeFilterList, uint32_t invertMask, uint32_t index) |
static uint32_t | RCL_Handler_BLE5_prepareConnectTime (uint32_t *connectTime, uint32_t referenceTime, uint32_t interval) |
static uint32_t | RCL_Handler_BLE5_findConnectTime (uint32_t initialConnectTime, uint32_t referenceTime, uint32_t interval) |
static uint32_t | RCL_Handler_BLE5_findPacketDuration (uint32_t length, uint16_t phyFeatures) |
static uint32_t | RCL_Handler_BLE5_findNumExtraBytes (uint32_t fifoCfg) |
static bool | RCL_Handler_BLE5_getAuxPtr (RCL_Buffer_TxBuffer *curBuffer, RCL_AuxPtr *auxPtr) |
static bool | RCL_Handler_BLE5_updateAuxPtr (RCL_AuxPtr *auxPtr, uint32_t packetDuration) |
RCL_Events | RCL_Handler_BLE5_adv (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_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_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... | |
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... | |
void | RCL_BLE5_setAccessAddressModification (bool enable) |
__attribute__ ((weak)) | |
Variables | |
struct { | |
struct { | |
uint32_t | defaultRfFrequency |
bool | accessAddressModification |
RCL_CommandStatus | endStatus |
bool | activeUpdate |
RCL_Ble5Channel | channel |
uint16_t | rxFifoSz |
uint16_t | txFifoSz |
uint16_t | phyFeatures |
uint16_t | fifoCfg |
int8_t | filterListUpdateIndex |
RCL_MultiBuffer * | curBuffer |
uint32_t | timestampAdjust |
RCL_FilterList * | updatableFilterList |
} | common |
union { | |
struct { | |
uint8_t | chanMap |
bool | runRx |
bool | gracefulStopObserved |
bool | isExtAdv |
bool | switchPhy |
RCL_AuxPtr | auxPtr |
RCL_TxBufferInfo | txBufferInfo |
} | adv |
struct { | |
bool | runRx |
bool | gracefulStopObserved |
bool | sendAuxAdv |
RCL_AuxPtr | auxPtr |
RCL_TxBufferInfo | txBufferInfo |
} | auxAdv |
struct { | |
bool | initiator |
bool | dynamicWinOffset |
uint8_t | advPktLen |
uint16_t * | winOffsetFifoPtr |
uint16_t * | winOffsetBufferPtr |
uint16_t | transmitWindowOffset |
uint16_t | connectInterval |
uint16_t | filterListInvertMask |
} | scanInit |
struct { | |
RCL_TxBufferInfo | txBufferInfo |
bool | isPeripheral |
} | conn |
struct { | |
uint16_t | demc1be0 |
uint16_t | demc1be1 |
uint16_t | demc1be2 |
bool | restoreThresh |
} | genericRx |
struct { | |
uint16_t | storedPbeTimPre |
} | dtmTx |
struct { | |
uint8_t | restoreSelector |
uint32_t | storedWhitenPoly |
} | txTest |
} | |
} | ble5HandlerState |
struct RCL_TxBufferInfo |
struct RCL_AuxPtr |
struct .common |
Data Fields | ||
---|---|---|
uint32_t | defaultRfFrequency | |
bool | accessAddressModification | |
RCL_CommandStatus | endStatus | |
bool | activeUpdate | |
RCL_Ble5Channel | channel | |
uint16_t | rxFifoSz | |
uint16_t | txFifoSz | |
uint16_t | phyFeatures | |
uint16_t | fifoCfg | |
int8_t | filterListUpdateIndex | |
RCL_MultiBuffer * | curBuffer | |
uint32_t | timestampAdjust | |
RCL_FilterList * | updatableFilterList |
union .__unnamed__ |
Data Fields | ||
---|---|---|
__unnamed__ | adv | |
__unnamed__ | auxAdv | |
__unnamed__ | scanInit | |
__unnamed__ | conn | |
__unnamed__ | genericRx | |
__unnamed__ | dtmTx | |
__unnamed__ | txTest |
struct .__unnamed__.adv |
Data Fields | ||
---|---|---|
uint8_t | chanMap | |
bool | runRx | |
bool | gracefulStopObserved | |
bool | isExtAdv | |
bool | switchPhy | |
RCL_AuxPtr | auxPtr | |
RCL_TxBufferInfo | txBufferInfo |
struct .__unnamed__.auxAdv |
Data Fields | ||
---|---|---|
bool | runRx | |
bool | gracefulStopObserved | |
bool | sendAuxAdv | |
RCL_AuxPtr | auxPtr | |
RCL_TxBufferInfo | txBufferInfo |
struct .__unnamed__.scanInit |
struct .__unnamed__.conn |
Data Fields | ||
---|---|---|
RCL_TxBufferInfo | txBufferInfo | |
bool | isPeripheral |
struct .__unnamed__.genericRx |
#define RCL_HANDLER_BLE5_RESTORE_NONE 0x0000 |
Referenced by RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_RESTORE_MODCTRL 0x0001 |
Referenced by RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_RESTORE_WHITEN_POLY 0x0002 |
Referenced by RCL_Handler_Ble5_txTest().
#define BLE_DATA_CHAN_MIN 0U |
#define BLE_DATA_CHAN_MAX 36U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_DATA_CHAN_BASE 2404000000U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_CHAN_SPACE 2000000U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_ADV_CHAN_LO 37U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_ADV_CHAN_MID 38U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_ADV_CHAN_HI 39U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_PHY_CHAN_MIN 64U |
Referenced by RCL_Handler_BLE5_findRfFreq(), and RCL_Handler_BLE5_findWhitenInit().
#define BLE_PHY_CHAN_MAX 103U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_ADV_CHAN_LO_FREQ 2402000000U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_ADV_CHAN_MID_FREQ 2426000000U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define BLE_ADV_CHAN_HI_FREQ 2480000000U |
Referenced by RCL_Handler_BLE5_findRfFreq().
#define HIGH_DUTY_CYCLE_INTERVAL RCL_SCHEDULER_SYSTIM_US(1250) |
Referenced by RCL_Handler_BLE5_adv().
#define EXT_ADV_INTERVAL RCL_SCHEDULER_SYSTIM_US(400) |
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), and RCL_Handler_BLE5_updateAuxPtr().
#define TIMESTAMP_ADJUST_1MBPS 267U |
Referenced by RCL_BLE5_getRxTimestamp(), and RCL_Handler_BLE5_setPhy().
#define TIMESTAMP_ADJUST_2MBPS 148U |
Referenced by RCL_BLE5_getRxTimestamp(), and RCL_Handler_BLE5_setPhy().
#define TIMESTAMP_ADJUST_CODED 1673U |
Referenced by RCL_BLE5_getRxTimestamp(), and RCL_Handler_BLE5_setPhy().
#define ADV_ACCESS_ADDRESS 0x8E89BED6U |
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), and RCL_Handler_BLE5_scan_init().
#define DTM_ACCESS_ADDRESS (~ADV_ACCESS_ADDRESS) |
Referenced by RCL_Handler_BLE5_dtmTx().
#define ADV_CRC_INIT (0x555555U << 8) |
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_dtmTx(), and RCL_Handler_BLE5_scan_init().
#define BACKOFF_UPPER_MAX 8U |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_1MBPS_PACKET_BASE_TIME RCL_SCHEDULER_SYSTIM_US(80) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_1MBPS_TIME_PER_BYTE RCL_SCHEDULER_SYSTIM_US(8) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_2MBPS_PACKET_BASE_TIME RCL_SCHEDULER_SYSTIM_US(44) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_2MBPS_TIME_PER_BYTE RCL_SCHEDULER_SYSTIM_US(4) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_CODED_S8_PACKET_BASE_TIME RCL_SCHEDULER_SYSTIM_US(720) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_CODED_S8_TIME_PER_BYTE RCL_SCHEDULER_SYSTIM_US(64) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_CODED_S2_PACKET_BASE_TIME RCL_SCHEDULER_SYSTIM_US(462) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_CODED_S2_TIME_PER_BYTE RCL_SCHEDULER_SYSTIM_US(16) |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_T_IFS RCL_SCHEDULER_SYSTIM_US(150) |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_HEADER_LENGTH 2 |
#define BLE_CRC_LENGTH 3 |
Referenced by RCL_Handler_BLE5_findNumExtraBytes().
#define BLE_MAX_PKT_LEN 255 |
Referenced by RCL_Handler_BLE5_conn().
#define BLE_ADV_LEGACY_MAX_PKT_LEN 37 |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_NUM_PRIMARY_ADV_CHANNELS 3U |
Referenced by RCL_Handler_BLE5_updateAuxPtr().
#define BLE_ADV_FILTER_POLICY_SCAN 1 |
Referenced by RCL_Handler_BLE5_adv().
#define BLE_ADV_FILTER_POLICY_CONN 2 |
Referenced by RCL_Handler_BLE5_adv().
#define PBE_NUM_FILTER_ENTRIES 16U |
Referenced by RCL_BLE5_updateFilterList(), and RCL_Handler_BLE5_InitializeFilterList().
#define BLE_PHY_FEATURE_PHY_1MBPS 0 |
Referenced by RCL_Handler_BLE5_findPacketDuration(), and RCL_Handler_BLE5_setPhy().
#define BLE_PHY_FEATURE_PHY_2MBPS 1 |
Referenced by RCL_Handler_BLE5_findPacketDuration(), and RCL_Handler_BLE5_setPhy().
#define BLE_PHY_FEATURE_PHY_CODED 2 |
Referenced by RCL_Handler_BLE5_findPacketDuration(), and RCL_Handler_BLE5_setPhy().
#define BLE_PHY_FEATURE_PHY_MASK 0x0003 |
Referenced by RCL_Handler_BLE5_findPacketDuration(), and RCL_Handler_BLE5_setPhy().
#define BLE_PHY_FEATURE_CODING_S8 0 |
Referenced by RCL_Handler_BLE5_findPacketDuration().
#define BLE_PHY_FEATURE_CODING_S2 4 |
#define BLE_PHY_FEATURE_CODING_MASK 0x0004 |
#define BLE_DTM_PAYLOAD_TYPE_PRBS9 0x00 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_DTM_PAYLOAD_TYPE_11110000 0x01 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_DTM_PAYLOAD_TYPE_10101010 0x02 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_DTM_PAYLOAD_TYPE_PRBS15 0x03 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_DTM_PAYLOAD_TYPE_11111111 0x04 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_DTM_PAYLOAD_TYPE_00000000 0x05 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_DTM_PAYLOAD_TYPE_00001111 0x06 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_DTM_PAYLOAD_TYPE_01010101 0x07 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define RCL_HANDLER_BLE5_PRBS9_POLY 0x08800000 |
Polynomial to use for PRBS9 data
Referenced by RCL_Handler_BLE5_dtmTx(), and RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_PRBS9_INIT 0x0000001F |
Referenced by RCL_Handler_BLE5_dtmTx(), and RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_PRBS15_POLY 0x00060000 |
Polynomial to use for PRBS15 data
Referenced by RCL_Handler_BLE5_dtmTx(), and RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_PRBS15_INIT 0x00003FFF |
Referenced by RCL_Handler_BLE5_dtmTx(), and RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_PRBS32_POLY 0x00400007 |
Polynomial to use for PRBS32 data
Referenced by RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_PRBS32_INIT 0x00005555 |
Referenced by RCL_Handler_Ble5_txTest().
#define RCL_HANDLER_BLE5_PRBS_SYNC 0xAB05FA1C |
Referenced by RCL_Handler_Ble5_txTest().
#define BLE_CONNECT_MSG_LEN 34U |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_WIN_SIZE_POS 19U |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_WIN_OFFSET_POS 20U |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_INTERVAL_POS 22U |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_TRANSMIT_WINDOW_DELAY_LEGACY RCL_SCHEDULER_SYSTIM_US(1250) |
Referenced by RCL_Handler_BLE5_scan_init().
#define BLE_CONNECT_INT_UNIT RCL_SCHEDULER_SYSTIM_US(1250) |
#define RCL_BLE5_CONNECT_INT_SUB_DIV 4 |
Referenced by RCL_Handler_BLE5_scan_init().
#define RCL_BLE5_CONNECT_SUB_INT (BLE_CONNECT_INT_UNIT / RCL_BLE5_CONNECT_INT_SUB_DIV) |
Referenced by RCL_Handler_BLE5_prepareConnectTime(), and RCL_Handler_BLE5_scan_init().
#define LRF_CLOCK_TICKS_PER_US 48 |
Referenced by RCL_Handler_BLE5_dtmTx().
#define BLE_AUX_OFFSET_300_US 300U |
Referenced by RCL_Handler_BLE5_updateAuxPtr().
#define BLE_AUX_OFFSET_30_US 30U |
Referenced by RCL_Handler_BLE5_updateAuxPtr().
#define BLE_EXTENDED_HEADER_ADVA_BM 0x01 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_TARGETA_BM 0x02 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_CTEINFO_BM 0x04 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_ADI_BM 0x08 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_AUXPTR_BM 0x10 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_SYNCINFO_BM 0x20 |
#define BLE_EXTENDED_HEADER_TXPOWER_BM 0x40 |
#define BLE_EXTENDED_HEADER_ADVA_LEN 6 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_TARGETA_LEN 6 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_CTEINFO_LEN 1 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_ADI_LEN 2 |
Referenced by RCL_Handler_BLE5_getAuxPtr().
#define BLE_EXTENDED_HEADER_AUXPTR_LEN 3 |
#define BLE_EXTENDED_HEADER_SYNCINFO_LEN 18 |
#define BLE_EXTENDED_HEADER_TXPOWER_LEN 1 |
#define BLE_PDU_TYPE_BM 0x0F |
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
#define BLE_ADV_MODE_BM 0xC0 |
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
#define BLE_PDU_ADV_IND 0x00 |
Referenced by RCL_Handler_BLE5_adv().
#define BLE_PDU_ADV_DIRECT_IND 0x01 |
Referenced by RCL_Handler_BLE5_adv().
#define BLE_PDU_ADV_NONCONN_IND 0x02 |
Referenced by RCL_Handler_BLE5_adv().
#define BLE_PDU_ADV_SCAN_IND 0x06 |
Referenced by RCL_Handler_BLE5_adv().
#define BLE_PDU_ADV_EXTENDED 0x07 |
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
#define BLE_ADV_MODE_NONCONN_NONSCAN 0x00 |
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
#define BLE_ADV_MODE_CONN_NONSCAN 0x01 |
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
#define BLE_ADV_MODE_NONCONN_SCAN 0x02 |
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
#define txBuffer_dataByte | ( | buffer, | |
pos | |||
) | ((buffer->data) + ((buffer->numPad) - 1 + pos)) |
Pointer to a given byte in the data part of a TX buffer.
buffer | Pointer to TX buffer |
pos | Position |
Referenced by RCL_Handler_BLE5_scan_init().
uint32_t RCL_Handler_BLE5_getRandomNumber | ( | void | ) |
Referenced by RCL_Handler_BLE5_scan_init().
|
static |
|
static |
|
static |
References ble5HandlerState, BLE_ADV_CHAN_HI, BLE_ADV_CHAN_HI_FREQ, BLE_ADV_CHAN_LO, BLE_ADV_CHAN_LO_FREQ, BLE_ADV_CHAN_MID, BLE_ADV_CHAN_MID_FREQ, BLE_CHAN_SPACE, BLE_CUSTOM_FREQ_BM, BLE_DATA_CHAN_BASE, BLE_DATA_CHAN_MAX, BLE_PHY_CHAN_MAX, and BLE_PHY_CHAN_MIN.
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), and RCL_Handler_Ble5_txTest().
|
static |
References BLE_CUSTOM_FREQ_BM.
Referenced by RCL_Handler_BLE5_adv().
|
static |
References ble5HandlerState, BLE_PHY_FEATURE_PHY_1MBPS, BLE_PHY_FEATURE_PHY_2MBPS, BLE_PHY_FEATURE_PHY_CODED, BLE_PHY_FEATURE_PHY_MASK, RCL_CommandStatus_Active, RCL_CommandStatus_Error_Param, TIMESTAMP_ADJUST_1MBPS, TIMESTAMP_ADJUST_2MBPS, and TIMESTAMP_ADJUST_CODED.
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), and RCL_Handler_Ble5_txTest().
|
static |
References RCL_CommandStatus_Error, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Error_RxFifo, RCL_CommandStatus_Error_Synth, RCL_CommandStatus_Error_TxFifo, RCL_CommandStatus_Error_UnknownOp, RCL_Scheduler_findStopStatus(), and RCL_StopType_Hard.
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), and RCL_Handler_Ble5_txTest().
|
static |
References RCL_TxBufferInfo::isAdvBuffer, RCL_TxBufferInfo::lastEnteredTxBuffer, RCL_TxBufferInfo::lastTxHdr, LRF_getTxFifoWrAddr(), LRF_getTxFifoWritable(), LRF_skipTxFifoWords(), LRF_writeTxFifoWords(), RCL_TxBufferInfo::numBuffers, RCL_TxBufferInfo::numBytes, RCL_Buffer_DataEntry_paddedLen, RCL_BufferStateInUse, RCL_TxBuffer_head(), and RCL_TxBuffer_next().
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_genericTx(), and RCL_Handler_BLE5_scan_init().
|
static |
|
static |
References LRF_EventRxEmpty, LRF_EventRxIgnored, and LRF_EventRxNok.
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_genericRx(), and RCL_Handler_BLE5_scan_init().
|
static |
References LRF_RSSI_INVALID.
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), and RCL_Handler_BLE5_scan_init().
|
static |
References ble5HandlerState.
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), and RCL_Handler_BLE5_scan_init().
|
static |
References LRF_RSSI_INVALID.
Referenced by RCL_Handler_BLE5_conn().
|
static |
References ble5HandlerState.
Referenced by RCL_Handler_BLE5_conn().
|
static |
References LRF_RSSI_INVALID.
Referenced by RCL_Handler_BLE5_genericRx().
|
static |
References ble5HandlerState.
Referenced by RCL_Handler_BLE5_genericRx().
|
static |
References PBE_NUM_FILTER_ENTRIES.
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_scan_init().
|
static |
Referenced by RCL_Handler_BLE5_scan_init().
|
static |
References BLE_CONNECT_INT_UNIT, RCL_BLE5_CONNECT_SUB_INT, and RCL_Handler_BLE5_findConnectTime().
Referenced by RCL_Handler_BLE5_scan_init().
|
static |
References BLE_CONNECT_INT_UNIT.
Referenced by RCL_Handler_BLE5_prepareConnectTime(), and RCL_Handler_BLE5_scan_init().
|
static |
References BLE_1MBPS_PACKET_BASE_TIME, BLE_1MBPS_TIME_PER_BYTE, BLE_2MBPS_PACKET_BASE_TIME, BLE_2MBPS_TIME_PER_BYTE, BLE_CODED_S2_PACKET_BASE_TIME, BLE_CODED_S2_TIME_PER_BYTE, BLE_CODED_S8_PACKET_BASE_TIME, BLE_CODED_S8_TIME_PER_BYTE, BLE_PHY_FEATURE_CODING_S8, BLE_PHY_FEATURE_PHY_1MBPS, BLE_PHY_FEATURE_PHY_2MBPS, BLE_PHY_FEATURE_PHY_CODED, and BLE_PHY_FEATURE_PHY_MASK.
Referenced by RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), and RCL_Handler_BLE5_scan_init().
|
static |
|
static |
References RCL_AuxPtr::auxOffset, RCL_AuxPtr::auxOffsetHighFifoPtr, RCL_AuxPtr::auxOffsetLowFifoPtr, RCL_AuxPtr::auxPhy, BLE_EXTENDED_HEADER_ADI_BM, BLE_EXTENDED_HEADER_ADI_LEN, BLE_EXTENDED_HEADER_ADVA_BM, BLE_EXTENDED_HEADER_ADVA_LEN, BLE_EXTENDED_HEADER_AUXPTR_BM, BLE_EXTENDED_HEADER_CTEINFO_BM, BLE_EXTENDED_HEADER_CTEINFO_LEN, BLE_EXTENDED_HEADER_TARGETA_BM, BLE_EXTENDED_HEADER_TARGETA_LEN, BLE_HEADER_LENGTH, RCL_AuxPtr::chIndex, LRF_getTxFifoWrAddr(), RCL_AuxPtr::offsetUnits, RCL_AuxPtr::pktLen, and RCL_AuxPtr::ptrIndex.
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
|
static |
References RCL_AuxPtr::auxOffset, RCL_AuxPtr::auxOffsetHighFifoPtr, RCL_AuxPtr::auxOffsetLowFifoPtr, ble5HandlerState, BLE_AUX_OFFSET_300_US, BLE_AUX_OFFSET_30_US, BLE_NUM_PRIMARY_ADV_CHANNELS, EXT_ADV_INTERVAL, RCL_AuxPtr::offsetUnits, and RCL_AuxPtr::primaryChPacketsSent.
Referenced by RCL_Handler_BLE5_adv(), and RCL_Handler_BLE5_aux_adv().
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_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_CUSTOM_FREQ_BM, BLE_HEADER_LENGTH, 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, RCL_SchedulerStopInfo::cmdStopEnabled, EXT_ADV_INTERVAL, 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_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, 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_BufferStateFinished, RCL_CommandStatus_Active, RCL_CommandStatus_Connect, RCL_CommandStatus_Error_MissingTxBuffer, RCL_CommandStatus_Error_Param, RCL_CommandStatus_Error_RxBufferCorruption, 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_getAuxPtr(), 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_StopType_Graceful, RCL_StopType_Hard, RCL_TxBuffer_head(), RCL_TxBuffer_next(), rclSchedulerState, RCL_SchedulerState::requestedPhyFeatures, RCL_SchedulerStopInfo::schedStopEnabled, 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_MODE_BM, BLE_ADV_MODE_CONN_NONSCAN, BLE_ADV_MODE_NONCONN_NONSCAN, BLE_ADV_MODE_NONCONN_SCAN, BLE_HEADER_LENGTH, BLE_PDU_ADV_EXTENDED, BLE_PDU_TYPE_BM, RCL_SchedulerStopInfo::cmdStopEnabled, EXT_ADV_INTERVAL, RCL_SchedulerState::gracefulStopInfo, hal_enable_graceful_stop_time_irq(), hal_setup_sync_found_cap(), LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, 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_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_getAuxPtr(), RCL_Handler_BLE5_initAdvScanInitStats(), 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_StopType_Graceful, RCL_StopType_Hard, RCL_TxBuffer_head(), RCL_TxBuffer_next(), rclSchedulerState, 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, BACKOFF_UPPER_MAX, ble5HandlerState, BLE_ADV_LEGACY_MAX_PKT_LEN, BLE_CONNECT_INT_UNIT, BLE_CONNECT_MSG_LEN, BLE_HEADER_LENGTH, BLE_INTERVAL_POS, BLE_T_IFS, 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_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, 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_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_findWhitenInit(), RCL_Handler_BLE5_getRandomNumber(), RCL_Handler_BLE5_initAdvScanInitStats(), RCL_Handler_BLE5_InitializeFilterList(), RCL_Handler_BLE5_maskEventsByFifoConf(), RCL_Handler_BLE5_prepareConnectTime(), RCL_Handler_BLE5_setPhy(), RCL_Handler_BLE5_updateAdvScanInitStats(), 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_setNewStartNow(), RCL_Scheduler_setStartStopTimeEarliestStart(), RCL_StopType_Graceful, RCL_StopType_Hard, RCL_TxBuffer_head(), rclSchedulerState, 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_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, 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_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_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, 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_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_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_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.
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().
void RCL_BLE5_setAccessAddressModification | ( | bool | enable | ) |
References ble5HandlerState.
__attribute__ | ( | (weak) | ) |
struct { ... } ble5HandlerState |
Referenced by RCL_BLE5_getRxRssi(), RCL_BLE5_getRxStatus(), RCL_BLE5_getRxTimestamp(), RCL_BLE5_setAccessAddressModification(), RCL_BLE5_setDefaultRfFrequency(), RCL_BLE5_updateFilterList(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_commitPacket(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_findRfFreq(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_BLE5_setPhy(), RCL_Handler_Ble5_txTest(), RCL_Handler_BLE5_updateAdvScanInitStats(), RCL_Handler_BLE5_updateAuxPtr(), RCL_Handler_BLE5_updateConnStats(), RCL_Handler_BLE5_updateGenericRxStats(), and RCL_Handler_BLE5_updateRxCurBufferAndFifo().