|
Radio Control Layer (RCL)
|
#include <ti/drivers/rcl/RCL_Command.h>#include <ti/drivers/rcl/RCL_Buffer.h>#include <ti/drivers/utils/List.h>#include <ti/drivers/rcl/handlers/ieee.h>
Include dependency graph for ieee.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| union | RCL_CmdIeee_RxPktStatus |
| Appended packet status field from RX buffer. More... | |
| struct | RCL_CmdIeeeRxTx |
| IEEE 802.15.4 Receive and transmit command. More... | |
| union | RCL_CmdIeee_PanIdAddr |
| struct | RCL_CmdIeee_SourceMatchingTableShort |
| struct | RCL_CmdIeee_SourceMatchingTableExt |
| struct | RCL_CmdIeee_SourceMatchingEntryControl |
| Enable and frame pending bits of updated source matching entry. More... | |
| struct | RCL_CmdIeee_PanConfig |
| struct | RCL_CmdIeee_RxAction |
| struct | RCL_CmdIeee_TxAction |
| struct | RCL_CmdIeeeTxTest |
| IEEE 802.15.4 transmitter test command. More... | |
| struct | RCL_StatsIeee |
| struct | RCL_CmdIeee_RxPktStatus.__unnamed__ |
| struct | RCL_CmdIeee_PanIdAddr.__unnamed__ |
| struct | RCL_CMD_IEEE_TX_TEST_t.config |
| struct | RCL_STATS_IEEE_t.config |
| union RCL_CmdIeee_RxPktStatus |
Appended packet status field from RX buffer.
| Data Fields | ||
|---|---|---|
| struct RCL_CmdIeee_RxPktStatus | __unnamed__ | |
| uint8_t | value | |
| struct RCL_CMD_IEEE_RX_TX_t |
IEEE 802.15.4 Receive and transmit command.
Command to receive or transmit a packet
Collaboration diagram for RCL_CmdIeeeRxTx:| Data Fields | ||
|---|---|---|
| RCL_Command | common | |
| uint32_t | rfFrequency |
RF frequency in Hz to program |
| RCL_Command_TxPower | txPower |
Transmit power |
| RCL_Command_CoexControl | coexControl |
Enable coexistence lines as needed |
| RCL_CmdIeee_RxAction * | rxAction |
Configuration of receive part of command. NULL: Transmit only |
| RCL_CmdIeee_TxAction * | txAction |
Configuration of transmit part of command. NULL: No transmission configured |
| RCL_StatsIeee * | stats |
Statistics |
| union RCL_CmdIeee_PanIdAddr |
| Data Fields | ||
|---|---|---|
| struct RCL_CmdIeee_PanIdAddr | __unnamed__ | |
| uint32_t | combined | |
| struct RCL_CmdIeee_SourceMatchingTableShort |
Collaboration diagram for RCL_CmdIeee_SourceMatchingTableShort:| Data Fields | ||
|---|---|---|
| uint32_t | numEntries |
Number of entries in the list |
| uint16_t | entryEnable[RCL_CMD_IEEE_SOURCE_MATCH_TABLE_SHORT_NUM_WORDS] |
Bits indicating which entires are enabled for matching (1 means enabled) |
| uint16_t | framePending[RCL_CMD_IEEE_SOURCE_MATCH_TABLE_SHORT_NUM_WORDS] |
Frame pending bits for the entries |
| RCL_CmdIeee_PanIdAddr | shortEntry[] |
PAN ID and short address for the entry |
| struct RCL_CmdIeee_SourceMatchingTableExt |
| Data Fields | ||
|---|---|---|
| uint32_t | numEntries |
Number of entries in the list |
| uint16_t | entryEnable[RCL_CMD_IEEE_SOURCE_MATCH_TABLE_EXT_NUM_WORDS] |
Bits indicating which entires are enabled for matching (1 means enabled) |
| uint16_t | framePending[RCL_CMD_IEEE_SOURCE_MATCH_TABLE_EXT_NUM_WORDS] |
Frame pending bits for the entries |
| uint64_t | extEntry[] |
Extended address for the entry |
| struct RCL_CmdIeee_SourceMatchingEntryControl |
| struct RCL_CmdIeee_PanConfig |
Collaboration diagram for RCL_CmdIeee_PanConfig:| Data Fields | ||
|---|---|---|
| uint64_t | localExtAddr |
Extended address of device |
| uint16_t | localPanId |
PAN ID of device |
| uint16_t | localShortAddr |
Short address of device |
| RCL_CmdIeee_AutoAckMode | autoAckMode: 3 |
Auto-ACK mode |
| uint8_t | defaultPend: 1 |
Default value of frame pending bit |
| uint8_t | panCoord: 1 |
0: Device is not pan coordinator. 1: Device is PAN coordinator |
| uint8_t | maxFrameVersion: 2 |
Maximum frame version to accept |
| RCL_CmdIeee_SourceMatchingTableShort * | sourceMatchingTableShort |
Source matching table for short addresses |
| RCL_CmdIeee_SourceMatchingTableExt * | sourceMatchingTableExt |
Source matching table for extended addresses (not supported in this version) |
| struct RCL_CmdIeee_RxAction_t |
Collaboration diagram for RCL_CmdIeee_RxAction:| Data Fields | ||
|---|---|---|
| List_List | rxBuffers |
Linked list of buffers for storing received packets |
| uint8_t | numPan |
Number of PANs to support. 0: Frame filtering disabled (promiscuous mode). 1: Single PAN. 2: Dual PAN (not supported in this version). |
| bool | frameFiltStop |
0: Receive frame to the end on frame filtering mismatch. 1: Go back to sync search on frame filtering mismatch. |
| bool | disableSync |
0: Receive packets normally. 1: Do not sync to received SFD |
| bool | alwaysStoreAck |
0: Store ACKs received after transmission only. 1: Store all received ACKs. |
| RCL_CmdIeee_PanConfig | panConfig[RCL_CMD_IEEE_MAX_NUM_PAN] |
PAN configuration for the supplied PANs |
| struct RCL_CmdIeee_TxAction_t |
| Data Fields | ||
|---|---|---|
| RCL_CommandStatus | txStatus |
Returned status of TX operation |
| int8_t | rssiLimit |
RSSI limit (dBm) for energy based CCA |
| RCL_ScheduleType | ccaScheduling: 1 |
Schedule type for the CCA part |
| uint16_t | allowDelay: 1 |
0: Give error if CCA time is in the past. 1: Start immediately if CCA time is in the past |
| RCL_CmdIeee_CcaMode | ccaMode: 3 |
CCA mode |
| uint16_t | ccaCorrThresh: 3 |
Correlation threshold for signal based CCA (0-7; correlation tops in 128 us window) |
| uint16_t | ccaContentionWindow: 2 |
Initial contention window value for CCA |
| uint16_t | expectImmAck: 1 |
0: Immediate ACK not expected. 1: Immediate ACK expected |
| uint16_t | expectEnhAck: 1 |
0: Enhanced ACK not expected. 1: Enhanced ACK expected |
| uint16_t | allowTxDelay: 1 |
0: Give error if TX time is in the past. 1: Send TX packet immediately if TX time is in the past |
| uint16_t | endCmdWhenDone: 1 |
0: Keep command and RX action alive after TX action is done. 1: End command after TX action is done |
| RCL_Command_CoexPriority | coexPriority: 1 |
Coex priority to use during TX action |
| uint32_t | absCcaStartTime |
Absolute start time of the CCA part |
| uint16_t | relativeTxStartTime |
Start time of TX packet relative to the CCA start time |
| uint16_t | ackTimeout |
Timeout for getting sync on ACK relative to end of transmitted packet |
| RCL_Buffer_DataEntry * | txEntry |
Entry holding frame to be transmitted |
| uint32_t | txTimeStamp |
Returned time stamp of transmitted packet (0.25 us units) |
| struct RCL_CMD_IEEE_TX_TEST_t |
IEEE 802.15.4 transmitter test command.
Command to transmit continuously, either a modulated signal or continuous wave
Collaboration diagram for RCL_CmdIeeeTxTest:| Data Fields | ||
|---|---|---|
| RCL_Command | common | |
| uint32_t | rfFrequency |
RF frequency in Hz to program |
| RCL_Command_TxPower | txPower |
Transmit power |
| uint16_t | txWord |
Repeated word to transmit |
| struct RCL_CMD_IEEE_TX_TEST_t | config | |
| struct RCL_STATS_IEEE_t |
| Data Fields | ||
|---|---|---|
| struct RCL_STATS_IEEE_t | config |
Configuration provided to RCL |
| uint8_t | timestampValid |
Returns 1 if lastTimestamp is updated; 0 otherwise |
| int8_t | lastRssi |
RSSI of last received packet |
| int8_t | maxRssi |
Highest RSSI observed during the operation (only updated after packets and at the end of operation) |
| uint32_t | lastTimestamp |
Timestamp of last successfully received packet (0.25 us units) |
| uint16_t | nRxNok |
Number of packets received with CRC error |
| uint16_t | nRxFifoFull |
Number of packets received that did not fit in RX FIFO |
| uint16_t | nRxOk |
Number of correctly received packets |
| uint16_t | nRxIgnored |
Number of ignored packets received |
| uint16_t | nTxImmAck |
Number of Imm-ACKs transmitted |
| uint16_t | nTxEnhAck |
Number of Enh-ACKs transmitted |
| uint16_t | nTx |
Number of frames transmitted |
| struct RCL_CmdIeee_RxPktStatus.__unnamed__ |
| struct RCL_CmdIeee_PanIdAddr.__unnamed__ |
| struct RCL_CMD_IEEE_TX_TEST_t.config |
| struct RCL_STATS_IEEE_t.config |
| #define RCL_CMDID_IEEE_RX_TX 0x2001U |
Referenced by RCL_IEEE_updateRxAction(), RCL_IEEE_updateSourceMatchingTableShort(), and RCL_IEEE_updateTxPower().
| #define RCL_CMDID_IEEE_TX_TEST 0x2002U |
Macro for finding RF frequency from channel
| #define RCL_CmdIeeeRxTx_Default | ( | ) |
| #define RCL_CmdIeeeRxTx_DefaultRuntime | ( | ) | (RCL_CmdIeeeRxTx) RCL_CmdIeeeRxTx_Default() |
| #define RCL_CMD_IEEE_SOURCE_MATCH_TABLE_SHORT_MAX_LEN 64 |
Maximum number of entries in RCL_CmdIeee_SourceMatchingTableShort (assuming no extended entry)
Referenced by RCL_Handler_Ieee_processRxAction().
| #define RCL_CMD_IEEE_SOURCE_MATCH_TABLE_SHORT_WITH_EXT_MAX_LEN 32 |
Maximum number of entries in RCL_CmdIeee_SourceMatchingTableShort if an extended table is present
| #define RCL_CMD_IEEE_SOURCE_MATCH_TABLE_SHORT_NUM_WORDS (((RCL_CMD_IEEE_SOURCE_MATCH_TABLE_SHORT_MAX_LEN) + ((8 * sizeof(uint16_t)) - 1)) / (8 * sizeof(uint16_t))) |
Referenced by RCL_Handler_Ieee_processRxAction().
| #define RCL_CMD_IEEE_SOURCE_MATCH_TABLE_EXT_MAX_LEN 16 |
Maximum number of entries in RCL_CmdIeee_SourceMatchingTableExt
| #define RCL_CMD_IEEE_SOURCE_MATCH_TABLE_EXT_NUM_WORDS (((RCL_CMD_IEEE_SOURCE_MATCH_TABLE_EXT_MAX_LEN) + ((8 * sizeof(uint16_t)) - 1)) / (8 * sizeof(uint16_t))) |
| #define RCL_CmdIeee_PanConfig_Default | ( | ) |
| #define RCL_CmdIeee_PanConfig_DefaultRuntime | ( | ) | (RCL_CmdIeee_PanConfig) RCL_CmdIeee_PanConfig_Default() |
| #define RCL_CMD_IEEE_MAX_NUM_PAN 1 /* Maximum number of PANs; will be updated to 2 when dual PAN support is added */ |
Maximum number of simultaneously supported PANs
Referenced by RCL_Handler_Ieee_RxTx().
| #define RCL_CmdIeee_RxAction_Default | ( | ) |
| #define RCL_CmdIeee_RxAction_DefaultRuntime | ( | ) | (RCL_CmdIeee_RxAction) RCL_CmdIeee_RxAction_Default() |
| #define RCL_CmdIeee_TxAction_Default | ( | ) |
| #define RCL_CmdIeee_TxAction_DefaultRuntime | ( | ) | (RCL_CmdIeee_TxAction) RCL_CmdIeee_TxAction_Default() |
| #define RCL_CmdIeeeTxTest_Default | ( | ) |
| #define RCL_CmdIeeeTxTest_DefaultRuntime | ( | ) | (RCL_CmdIeeeTxTest) RCL_CmdIeeeTxTest_Default() |
| #define RCL_CMD_IEEE_WH_MODE_OFF 0 |
config.whitenMode: No whitening
Referenced by RCL_Handler_Ieee_TxTest().
| #define RCL_CMD_IEEE_WH_MODE_PRBS9 1 |
config.whitenMode: PRBS-9
Referenced by RCL_Handler_Ieee_TxTest().
| #define RCL_CMD_IEEE_WH_MODE_PRBS15 2 |
config.whitenMode: PRBS-15
Referenced by RCL_Handler_Ieee_TxTest().
| #define RCL_CMD_IEEE_WH_MODE_PRBS32 3 |
config.whitenMode: PRBS-32
Referenced by RCL_Handler_Ieee_TxTest().
| #define RCL_StatsIeee_Default | ( | ) |
| #define RCL_StatsIeee_DefaultRuntime | ( | ) | (RCL_StatsIeee) RCL_StatsIeee_Default() |
| enum RCL_CmdIeee_CcaMode |