Modules#
RAIL_IEEE802154_RxChannelSwitchingCfg_t
RAIL_IEEE802154_ModeSwitchPhr_t
The IEEE 802.15.4 specific header file for the RAIL library.
License#
Copyright 2020 Silicon Laboratories Inc. www.silabs.com
SPDX-License-Identifier: Zlib
The licensor of this software is Silicon Laboratories Inc.
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
This notice may not be removed or altered from any source distribution.
Macros#
The maximum number of allowed addresses of each type.
RX channel switching buffer size, in bytes.
Fixed-width type indicating the needed alignment for RX channel switching buffer.
Alignment that is needed for RX channel switching buffer.
Maximum numbers of channels supported for RX channel switching.
A value representing no options enabled.
All options disabled by default .
An option to enable/disable 802.15.4E-2012 features needed for GB868.
An option to enable/disable 802.15.4E-2012 features needed for Enhanced ACKs.
An option to enable/disable 802.15.4E-2012 macImplicitBroadcast feature.
A value representing all possible options.
A value representing no options enabled.
All options disabled by default .
An option to enable/disable 802.15.4G-2012 features needed for GB868.
An option to enable/disable 802.15.4G dynamic FEC feature (SUN FSK only).
An option to enable/disable Wi-SUN Mode Switch feature.
A value representing all possible options.
When receiving packets, accept 802.15.4 BEACON frame types.
When receiving packets, accept 802.15.4 DATA frame types.
When receiving packets, accept 802.15.4 ACK frame types.
When receiving packets, accept 802.15.4 COMMAND frame types.
When receiving packets, accept 802.15.4-2015 Multipurpose frame types.
In standard operation, accept BEACON, DATA and COMMAND frames.
Alternate naming for function RAIL_IEEE802154_SetFramePending to depict it is used for changing the default setting specified by RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks in an outgoing ACK.
Backward compatible name for the RAIL_IEEE802154_EnableSignalDetection API.
Enumerations#
Different lengths that an 802.15.4 address can have.
802.15.4 PTI radio configuration mode
802.15.4E-2012 options, in reality a bitmask.
802.15.4G-2012 options, in reality a bitmask.
Available CCA modes.
Available Signal identifier modes.
Variables#
Default PHY to use for 2.4 GHz 802.15.4.
Default PHY to use for 2.4 GHz 802.15.4 with antenna diversity.
Default PHY to use for 2.4 GHz 802.15.4 optimized for coexistence.
Default PHY to use for 2.4 GHz 802.15.4 optimized for coexistence, while supporting antenna diversity.
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module.
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module and antenna diversity.
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module and is optimized for radio coexistence.
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module and antenna diversity, and is optimized for radio coexistence.
Default PHY to use for 2.4 GHz 802.15.4 with custom settings.
Default PHY to use for 863MHz GB868 802.15.4.
Default PHY to use for 915MHz GB868 802.15.4.
Functions#
Initialize RAIL for IEEE802.15.4 features.
Configure the radio for 2.4 GHz 802.15.4 operation.
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity.
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity optimized for radio coexistence.
Configure the radio for 2.4 GHz 802.15.4 operation optimized for radio coexistence.
Configure the radio for 2.4 GHz 802.15.4 operation with a front end module.
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity optimized for a front end module.
Configure the radio for 2.4 GHz 802.15.4 operation optimized for radio coexistence and a front end module.
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity optimized for radio coexistence and a front end module.
Configure the radio for 2.4 GHz 802.15.4 operation with custom settings.
Configure the radio for SubGHz GB868 863 MHz 802.15.4 operation.
Configure the radio for SubGHz GB868 915 MHz 802.15.4 operation.
De-initialize IEEE802.15.4 hardware acceleration.
Return whether IEEE802.15.4 hardware acceleration is currently enabled.
Return IEEE802.15.4 PTI radio config.
Configure the RAIL Address Filter for 802.15.4 filtering.
Set a PAN ID for 802.15.4 address filtering.
Set a short address for 802.15.4 address filtering.
Set a long address for 802.15.4 address filtering.
Set whether the current node is a PAN coordinator.
Set whether to enable 802.15.4 promiscuous mode.
Configure certain 802.15.4E-2012 / 802.15.4-2015 Frame Version 2 features.
Configure certain 802.15.4G-2012 / 802.15.4-2015 SUN PHY features (only for radio configurations designed accordingly).
Compute channel to switch to given a targeted PhyMode ID in the context of Wi-SUN mode switching.
Set which 802.15.4 frame types to accept.
Enable early Frame Pending lookup event notification (RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND).
Enable Frame Pending lookup event notification (RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND) for MAC Data frames.
Change the Frame Pending bit on the outgoing legacy Immediate ACK from the default specified by RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks.
Get the source address of the incoming data request.
Write the AutoACK FIFO for the next outgoing 802.15.4E Enhanced ACK.
Convert RSSI into 802.15.4 Link Quality Indication (LQI) metric compatible with the Silicon Labs Zigbee stack.
Convert RSSI into 802.15.4 Energy Detection (ED) metric compatible with the Silicon Labs Zigbee stack.
Configure signal identifier for 802.15.4 signal detection.
Enable or disable signal identifier for 802.15.4 signal detection.
Set 802.15.4 CCA mode.
Configure RX channel switching for 802.15.4.
Enumeration Documentation#
RAIL_IEEE802154_AddressLength_t#
RAIL_IEEE802154_AddressLength_t
Different lengths that an 802.15.4 address can have.
Enumerator | |
---|---|
RAIL_IEEE802154_ShortAddress | 2 byte short address. |
RAIL_IEEE802154_LongAddress | 8 byte extended address. |
194
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_PtiRadioConfig_t#
RAIL_IEEE802154_PtiRadioConfig_t
802.15.4 PTI radio configuration mode
Enumerator | |
---|---|
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ | Built-in 2.4 GHz 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ_ANTDIV | Built-in 2.4 GHz 802.15.4 radio configuration with RX antenna diversity support. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ_COEX | Built-in 2.4 GHz 802.15.4 radio configuration optimized for radio coexistence. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ_ANTDIV_COEX | Built-in 2.4 GHz 802.15.4 radio configuration with RX antenna diversity support optimized for radio coexistence. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ_FEM | Built-in 2.4 GHz 802.15.4 radio configuration optimized for front end modules. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ_FEM_ANTDIV | Built-in 2.4 GHz 802.15.4 radio configuration with RX antenna diversity support optimized for front end modules. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ_FEM_COEX | Built-in 2.4 GHz 802.15.4 radio configuration optimized for radio coexistence and front end modules. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_2P4GHZ_FEM_ANTDIV_COEX | Built-in 2.4 GHz 802.15.4 radio configuration with RX antenna diversity support optimized for radio coexistence and front end modules. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_863MHZ_GB868 | Built-in 863 MHz GB868 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_915MHZ_GB868 | Built-in 915 MHz GB868 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_915MHZ_R23_NA_EXT | External 915 MHz Zigbee R23 802.15.4 NA radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT1_863MHZ | 863 MHz SUN OFDM Option 1 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT1_902MHZ | 902 MHz SUN OFDM Option 1 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT2_863MHZ | 86 3MHz SUN OFDM Option 2 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT2_902MHZ | 902 MHz SUN OFDM Option 2 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT3_863MHZ | 863 MHz SUN OFDM Option 3 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT3_902MHZ | 902 MHz SUN OFDM Option 3 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT4_863MHZ | 863 MHz SUN OFDM Option 4 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OFDM_OPT4_902MHZ | 902 MHz SUN OFDM Option 4 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OQPSK_868MHZ | 868 MHz SUN OQPSK 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_OQPSK_915MHZ | 915 MHz SUN OQPSK 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_FSK_FEC_863MHZ | 863 MHz SUN FSK FEC 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_FSK_FEC_902MHZ | 902 MHz SUN FSK FEC 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_FSK_NOFEC_863MHZ | 863 MHz SUN FSK NO FEC 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_SUN_FSK_NOFEC_902MHZ | 902 MHz SUN FSK NO FEC 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_LEG_OQPSK_868MHZ | 868 MHz Legacy OQPSK 802.15.4 radio configuration. |
RAIL_IEEE802154_PTI_RADIO_CONFIG_LEG_OQPSK_915MHZ | 915 MHz Legacy OQPSK 802.15.4 radio configuration. |
689
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_EOptions_t#
RAIL_IEEE802154_EOptions_t
802.15.4E-2012 options, in reality a bitmask.
Enumerator | |
---|---|
RAIL_IEEE802154_E_OPTION_GB868_SHIFT | Shift position of RAIL_IEEE802154_E_OPTION_GB868 bit. |
RAIL_IEEE802154_E_OPTION_ENH_ACK_SHIFT | |
RAIL_IEEE802154_E_OPTION_IMPLICIT_BROADCAST_SHIFT |
946
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_GOptions_t#
RAIL_IEEE802154_GOptions_t
802.15.4G-2012 options, in reality a bitmask.
Enumerator | |
---|---|
RAIL_IEEE802154_G_OPTION_GB868_SHIFT | Shift position of RAIL_IEEE802154_G_OPTION_GB868 bit. |
RAIL_IEEE802154_G_OPTION_DYNFEC_SHIFT | Shift position of RAIL_IEEE802154_G_OPTION_DYNFEC bit. |
RAIL_IEEE802154_G_OPTION_WISUN_MODESWITCH_SHIFT | Shift position of RAIL_IEEE802154_G_OPTION_WISUN_MODESWITCH bit. |
1060
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_CcaMode_t#
RAIL_IEEE802154_CcaMode_t
Available CCA modes.
Enumerator | |
---|---|
RAIL_IEEE802154_CCA_MODE_RSSI | RSSI-based CCA. |
RAIL_IEEE802154_CCA_MODE_SIGNAL | Signal Identifier-based CCA. |
RAIL_IEEE802154_CCA_MODE_SIGNAL_OR_RSSI | RSSI or signal identifier-based CCA. |
RAIL_IEEE802154_CCA_MODE_SIGNAL_AND_RSSI | RSSI and signal identifier-based CCA. |
RAIL_IEEE802154_CCA_MODE_ALWAYS_TRANSMIT | ALOHA. |
RAIL_IEEE802154_CCA_MODE_COUNT | Number of CCA modes. |
1461
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SignalIdentifierMode_t#
RAIL_IEEE802154_SignalIdentifierMode_t
Available Signal identifier modes.
Enumerator | |
---|---|
RAIL_IEEE802154_SIGNAL_IDENTIFIER_MODE_DISABLE | |
RAIL_IEEE802154_SIGNAL_IDENTIFIER_MODE_154 |
1511
of file protocol/ieee802154/rail_ieee802154.h
Variable Documentation#
RAIL_IEEE802154_Phy2p4GHz#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHz
Default PHY to use for 2.4 GHz 802.15.4.
Will be NULL if RAIL_SUPPORTS_PROTOCOL_IEEE802154 or RAIL_SUPPORTS_2P4GHZ_BAND is 0.
377
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzAntDiv#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzAntDiv
Default PHY to use for 2.4 GHz 802.15.4 with antenna diversity.
Will be NULL if RAIL_SUPPORTS_PROTOCOL_IEEE802154, RAIL_SUPPORTS_2P4GHZ_BAND, or RAIL_SUPPORTS_ANTENNA_DIVERSITY is 0.
384
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzCoex#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzCoex
Default PHY to use for 2.4 GHz 802.15.4 optimized for coexistence.
Will be NULL if RAIL_IEEE802154_SUPPORTS_COEX_PHY is 0.
390
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzAntDivCoex#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzAntDivCoex
Default PHY to use for 2.4 GHz 802.15.4 optimized for coexistence, while supporting antenna diversity.
Will be NULL if RAIL_SUPPORTS_ANTENNA_DIVERSITY or RAIL_IEEE802154_SUPPORTS_COEX_PHY is 0.
398
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzFem#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzFem
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module.
Will be NULL if RAIL_IEEE802154_SUPPORTS_FEM_PHY is 0.
405
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzAntDivFem#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzAntDivFem
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module and antenna diversity.
Will be NULL if RAIL_IEEE802154_SUPPORTS_FEM_PHY or RAIL_SUPPORTS_ANTENNA_DIVERSITY is 0.
413
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzCoexFem#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzCoexFem
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module and is optimized for radio coexistence.
Will be NULL if RAIL_IEEE802154_SUPPORTS_FEM_PHY or RAIL_IEEE802154_SUPPORTS_COEX_PHY is 0.
421
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzAntDivCoexFem#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzAntDivCoexFem
Default PHY to use for 2.4 GHz 802.15.4 with a configuration that supports a front-end module and antenna diversity, and is optimized for radio coexistence.
Will be NULL if RAIL_IEEE802154_SUPPORTS_FEM_PHY, RAIL_IEEE802154_SUPPORTS_COEX_PHY, or RAIL_SUPPORTS_ANTENNA_DIVERSITY is 0.
430
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Phy2p4GHzCustom1#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_Phy2p4GHzCustom1
Default PHY to use for 2.4 GHz 802.15.4 with custom settings.
Will be NULL if RAIL_IEEE802154_SUPPORTS_CUSTOM1_PHY is 0.
436
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_PhyGB863MHz#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_PhyGB863MHz
Default PHY to use for 863MHz GB868 802.15.4.
Will be NULL if RAIL_IEEE802154_SUPPORTS_G_SUBSET_GB868 is 0.
442
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_PhyGB915MHz#
const RAIL_ChannelConfig_t* const RAIL_IEEE802154_PhyGB915MHz
Default PHY to use for 915MHz GB868 802.15.4.
Will be NULL if RAIL_IEEE802154_SUPPORTS_G_SUBSET_GB868 is 0.
448
of file protocol/ieee802154/rail_ieee802154.h
Function Documentation#
RAIL_IEEE802154_Init#
RAIL_Status_t RAIL_IEEE802154_Init (RAIL_Handle_t railHandle, const RAIL_IEEE802154_Config_t * config)
Initialize RAIL for IEEE802.15.4 features.
[in] | railHandle | A handle of RAIL instance. |
[in] | config | An IEEE802154 configuration structure. |
Returns
A status code indicating success of the function call.
This function calls the following RAIL functions to configure the radio for IEEE802.15.4 features.
Initializes the following:
Enables IEEE802154 hardware acceleration
Configures RAIL Auto ACK functionality
Configures RAIL Address Filter for 802.15.4 address filtering
It saves having to call the following functions individually:
476
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadio#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadio (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
492
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioAntDiv#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioAntDiv (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation, but with a configuration that supports antenna diversity. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
508
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioAntDivCoex#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioAntDivCoex (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity optimized for radio coexistence.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation, but with a configuration that supports antenna diversity optimized for radio coexistence. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
525
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioCoex#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioCoex (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation optimized for radio coexistence.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation, but with a configuration that supports radio coexistence. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
541
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioFem#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioFem (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation with a front end module.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation, but with a configuration that supports a front end module. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
557
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioAntDivFem#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioAntDivFem (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity optimized for a front end module.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation, but with a configuration that supports antenna diversity and a front end module. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
574
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioCoexFem#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioCoexFem (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation optimized for radio coexistence and a front end module.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation, but with a configuration that supports radio coexistence and a front end module. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
591
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioAntDivCoexFem#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioAntDivCoexFem (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation with antenna diversity optimized for radio coexistence and a front end module.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation, but with a configuration that supports antenna diversity, radio coexistence and a front end module. It takes the place of calling RAIL_ConfigChannels. After this call, channels 11-26 will be available, giving the frequencies of those channels on channel page 0, as defined by IEEE 802.15.4-2011 section 8.1.2.2.
Note
This call implicitly disables all RAIL_IEEE802154_GOptions_t.
608
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Config2p4GHzRadioCustom1#
RAIL_Status_t RAIL_IEEE802154_Config2p4GHzRadioCustom1 (RAIL_Handle_t railHandle)
Configure the radio for 2.4 GHz 802.15.4 operation with custom settings.
[in] | railHandle | A handle of RAIL instance. |
It enables better interoperability with some proprietary PHYs, but doesn't guarantee data sheet performance.
Returns
A status code indicating success of the function call.
This initializes the radio for 2.4 GHz operation with custom settings. It replaces needing to call RAIL_ConfigChannels. Do not call this function unless instructed by Silicon Labs.
Note
This feature is only available on platforms where RAIL_IEEE802154_SUPPORTS_CUSTOM1_PHY is true.
626
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConfigGB863MHzRadio#
RAIL_Status_t RAIL_IEEE802154_ConfigGB863MHzRadio (RAIL_Handle_t railHandle)
Configure the radio for SubGHz GB868 863 MHz 802.15.4 operation.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for SubGHz GB868 863 MHz operation. It takes the place of calling RAIL_ConfigChannels. After this call, GB868 channels in the 863 MHz band (channel pages 28, 29, and 30 – logical channels 0x80..0x9A, 0xA0..0xA8, 0xC0..0xDA, respectively) will be available, as defined by Rev 22 of the Zigbee Specification, 2017 document 05-3474-22, section D.10.2.1.3.2.
Note
This call implicitly enables RAIL_IEEE802154_G_OPTION_GB868.
643
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConfigGB915MHzRadio#
RAIL_Status_t RAIL_IEEE802154_ConfigGB915MHzRadio (RAIL_Handle_t railHandle)
Configure the radio for SubGHz GB868 915 MHz 802.15.4 operation.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
This initializes the radio for SubGHz GB868 915 MHz operation. It takes the place of calling RAIL_ConfigChannels. After this call, GB868 channels in the 915 MHz band (channel page 31 – logical channels 0xE0..0xFA) will be available, as defined by Rev 22 of the Zigbee Specification, 2017 document 05-3474-22, section D.10.2.1.3.2.
Note
This call implicitly enables RAIL_IEEE802154_G_OPTION_GB868.
659
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_Deinit#
RAIL_Status_t RAIL_IEEE802154_Deinit (RAIL_Handle_t railHandle)
De-initialize IEEE802.15.4 hardware acceleration.
[in] | railHandle | A handle of RAIL instance. |
Returns
A status code indicating success of the function call.
Disables and resets all IEE802.15.4 hardware acceleration features. This function should only be called when the radio is IDLE. This calls the following:
RAIL_SetStateTiming(), to reset all timings to 100 us
RAIL_EnableAddressFilter(false)
674
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_IsEnabled#
bool RAIL_IEEE802154_IsEnabled (RAIL_Handle_t railHandle)
Return whether IEEE802.15.4 hardware acceleration is currently enabled.
[in] | railHandle | A handle of RAIL instance. |
Returns
True if IEEE802.15.4 hardware acceleration was enabled to start with and false otherwise.
683
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_GetPtiRadioConfig#
RAIL_IEEE802154_PtiRadioConfig_t RAIL_IEEE802154_GetPtiRadioConfig (RAIL_Handle_t railHandle)
Return IEEE802.15.4 PTI radio config.
[in] | railHandle | A handle of RAIL instance. |
Returns
PTI (Packet Trace Information) radio config ID.
826
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SetAddresses#
RAIL_Status_t RAIL_IEEE802154_SetAddresses (RAIL_Handle_t railHandle, const RAIL_IEEE802154_AddrConfig_t * addresses)
Configure the RAIL Address Filter for 802.15.4 filtering.
[in] | railHandle | A handle of RAIL instance. |
[in] | addresses | The address information that should be used. |
Returns
A status code indicating success of the function call. If this returns an error, the 802.15.4 address filter is in an undefined state.
Set up the 802.15.4 address filter to accept messages to the given addresses. This will return false if any of the addresses failed to be set. If NULL is passed in for addresses, all addresses will be set to their reset value.
853
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SetPanId#
RAIL_Status_t RAIL_IEEE802154_SetPanId (RAIL_Handle_t railHandle, uint16_t panId, uint8_t index)
Set a PAN ID for 802.15.4 address filtering.
[in] | railHandle | A handle of RAIL instance. |
[in] | panId | The 16-bit PAN ID information. This will be matched against the destination PAN ID of incoming messages. The PAN ID is sent little endian over the air, meaning panId[7:0] is first in the payload followed by panId[15:8]. Set to 0xFFFF to disable for this index. |
[in] | index | Indicates which PAN ID to set. Must be below RAIL_IEEE802154_MAX_ADDRESSES. |
Returns
A status code indicating success of the function call.
Set up the 802.15.4 address filter to accept messages to the given PAN ID.
870
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SetShortAddress#
RAIL_Status_t RAIL_IEEE802154_SetShortAddress (RAIL_Handle_t railHandle, uint16_t shortAddr, uint8_t index)
Set a short address for 802.15.4 address filtering.
[in] | railHandle | A handle of RAIL instance |
[in] | shortAddr | 16 bit short address value. This will be matched against the destination short address of incoming messages. The short address is sent little endian over the air meaning shortAddr[7:0] is first in the payload followed by shortAddr[15:8]. Set to 0xFFFF to disable for this index. |
[in] | index | Which short address to set. Must be below RAIL_IEEE802154_MAX_ADDRESSES. |
Returns
A status code indicating success of the function call.
Set up the 802.15.4 address filter to accept messages to the given short address.
889
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SetLongAddress#
RAIL_Status_t RAIL_IEEE802154_SetLongAddress (RAIL_Handle_t railHandle, const uint8_t * longAddr, uint8_t index)
Set a long address for 802.15.4 address filtering.
[in] | railHandle | A handle of RAIL instance. |
[in] | longAddr | A pointer to an 8-byte array containing the long address information. The long address must be in over-the-air byte order. This will be matched against the destination long address of incoming messages. Set to 0x00 00 00 00 00 00 00 00 to disable for this index. |
[in] | index | Indicates which long address to set. Must be below RAIL_IEEE802154_MAX_ADDRESSES. |
Returns
A status code indicating success of the function call.
Set up the 802.15.4 address filter to accept messages to the given long address.
908
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SetPanCoordinator#
RAIL_Status_t RAIL_IEEE802154_SetPanCoordinator (RAIL_Handle_t railHandle, bool isPanCoordinator)
Set whether the current node is a PAN coordinator.
[in] | railHandle | A handle of RAIL instance. |
[in] | isPanCoordinator | True if this device is a PAN coordinator. |
Returns
A status code indicating success of the function call.
If the device is a PAN Coordinator, it will accept data and command frames with no destination address. This function will fail if 802.15.4 hardware acceleration is not currently enabled. This setting may be changed at any time when 802.15.4 hardware acceleration is enabled.
924
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SetPromiscuousMode#
RAIL_Status_t RAIL_IEEE802154_SetPromiscuousMode (RAIL_Handle_t railHandle, bool enable)
Set whether to enable 802.15.4 promiscuous mode.
[in] | railHandle | A handle of RAIL instance. |
[in] | enable | True if all frames and addresses should be accepted. |
Returns
A status code indicating success of the function call.
If promiscuous mode is enabled, no frame or address filtering steps will be performed other than checking the CRC. This function will fail if 802.15.4 hardware acceleration is not currently enabled. This setting may be changed at any time when 802.15.4 hardware acceleration is enabled.
939
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConfigEOptions#
RAIL_Status_t RAIL_IEEE802154_ConfigEOptions (RAIL_Handle_t railHandle, RAIL_IEEE802154_EOptions_t mask, RAIL_IEEE802154_EOptions_t options)
Configure certain 802.15.4E-2012 / 802.15.4-2015 Frame Version 2 features.
[in] | railHandle | A handle of RAIL instance. |
[in] | mask | A bitmask containing which options should be modified. |
[in] | options | A bitmask containing desired options settings. Bit positions for each option are found in the RAIL_IEEE802154_EOptions_t. |
Returns
A status code indicating success of the function call.
This function will fail if 802.15.4 hardware acceleration is not currently enabled or the platform does not support the feature(s). These settings may be changed at any time when 802.15.4 hardware acceleration is enabled.
1052
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConfigGOptions#
RAIL_Status_t RAIL_IEEE802154_ConfigGOptions (RAIL_Handle_t railHandle, RAIL_IEEE802154_GOptions_t mask, RAIL_IEEE802154_GOptions_t options)
Configure certain 802.15.4G-2012 / 802.15.4-2015 SUN PHY features (only for radio configurations designed accordingly).
[in] | railHandle | A handle of RAIL instance. |
[in] | mask | A bitmask containing which options should be modified. |
[in] | options | A bitmask containing desired options settings. Bit positions for each option are found in the RAIL_IEEE802154_GOptions_t. |
Returns
A status code indicating success of the function call.
This function will fail if 802.15.4 hardware acceleration is not currently enabled, the platform does not support the feature(s), the radio configuration is not appropriate, or the radio is not idle.
1163
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ComputeChannelFromPhyModeId#
RAIL_Status_t RAIL_IEEE802154_ComputeChannelFromPhyModeId (RAIL_Handle_t railHandle, uint8_t newPhyModeId, uint16_t * pChannel)
Compute channel to switch to given a targeted PhyMode ID in the context of Wi-SUN mode switching.
[in] | railHandle | A handle of RAIL instance. |
[in] | newPhyModeId | A targeted PhyMode ID. |
[out] | pChannel | A pointer to the channel to switch to. |
Returns
A status code indicating success of the function call.
This function will fail if the targeted PhyModeID is the same as the current PhyMode ID, or if called on a platform that lacks RAIL_IEEE802154_SUPPORTS_G_MODESWITCH. For newPhyModeId associated with a FSK FEC_off PHY, if dynamic FEC is activated (see RAIL_IEEE802154_G_OPTION_DYNFEC), the returned channel can correspond to the associated FSK FEC_on PHY corresponding then to PhyModeID = newPhyModeId + 16
1202
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_AcceptFrames#
RAIL_Status_t RAIL_IEEE802154_AcceptFrames (RAIL_Handle_t railHandle, uint8_t framesMask)
Set which 802.15.4 frame types to accept.
[in] | railHandle | A handle of RAIL instance. |
[in] | framesMask | A mask containing which 802.15.4 frame types to receive. |
Returns
A status code indicating success of the function call.
This function will fail if 802.15.4 hardware acceleration is not currently enabled or framesMask requests an unsupported frame type. This setting may be changed at any time when 802.15.4 hardware acceleration is enabled. Only Beacon, Data, ACK, Command, and Multipurpose (except on EFR32XG1) frames may be received. The RAIL_IEEE802154_ACCEPT_XXX_FRAMES defines may be combined to create a bitmask to pass into this function.
RAIL_IEEE802154_ACCEPT_ACK_FRAMES behaves slightly different than the other defines. If RAIL_IEEE802154_ACCEPT_ACK_FRAMES is set, the radio will accept an ACK frame during normal packet reception, but only a truly expected ACK will have its RAIL_RxPacketDetails_t::isAck true. If RAIL_IEEE802154_ACCEPT_ACK_FRAMES is not set, ACK frames will be filtered unless they're expected when the radio is waiting for an ACK.
1278
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_EnableEarlyFramePending#
RAIL_Status_t RAIL_IEEE802154_EnableEarlyFramePending (RAIL_Handle_t railHandle, bool enable)
Enable early Frame Pending lookup event notification (RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND).
[in] | railHandle | A handle of RAIL instance. |
[in] | enable | True to enable, false to disable. |
Returns
A status code indicating success of the function call.
Normally, RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND is triggered after receiving the entire MAC header and MAC command byte for an ACK-requesting MAC command frame. Version 0/1 frames also require that command to be a Data Request for this event to occur. Enabling this feature causes this event to be triggered earlier to allow for more time to determine the type of ACK needed (Immediate or Enhanced) and/or perform frame pending lookup to influence the outgoing ACK by using RAIL_IEEE802154_WriteEnhAck() or RAIL_IEEE802154_ToggleFramePending().
For Frame Version 0/1 packets and for Frame Version 2 packets when RAIL_IEEE802154_E_OPTION_ENH_ACK is not in use, "early" means right after receiving the source address information in the MAC header.
For Frame Version 2 packets when RAIL_IEEE802154_E_OPTION_ENH_ACK is in use, "early" means right after receiving any Auxiliary Security header which follows the source address information in the MAC header.
This feature is useful when the protocol knows an ACK-requesting MAC Command must be a data poll without needing to receive the MAC Command byte, giving it a bit more time to adjust Frame Pending or generate an Enhanced ACK.
This function will fail if 802.15.4 hardware acceleration is not currently enabled, or on platforms that do not support this feature. This setting may be changed at any time when 802.15.4 hardware acceleration is enabled.
1316
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_EnableDataFramePending#
RAIL_Status_t RAIL_IEEE802154_EnableDataFramePending (RAIL_Handle_t railHandle, bool enable)
Enable Frame Pending lookup event notification (RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND) for MAC Data frames.
[in] | railHandle | A handle of RAIL instance. |
[in] | enable | True to enable, false to disable. |
Returns
A status code indicating success of the function call.
Normally RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND is triggered only for ACK-requesting MAC command frames. Enabling this feature causes this event to also be triggered for MAC data frames, at the same point in the packet as RAIL_IEEE802154_EnableEarlyFramePending() would trigger. This feature is necessary to support the Thread Basil-Hayden Enhanced Frame Pending feature in Version 0/1 frames, and to support Version 2 Data frames which require an Enhanced ACK.
This function will fail if 802.15.4 hardware acceleration is not currently enabled. This setting may be changed at any time when 802.15.4 hardware acceleration is enabled.
1340
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_SetFramePending#
RAIL_Status_t RAIL_IEEE802154_SetFramePending (RAIL_Handle_t railHandle)
Change the Frame Pending bit on the outgoing legacy Immediate ACK from the default specified by RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks.
[in] | railHandle | A handle of RAIL instance |
Returns
A status code indicating success of the function call.
This function must only be called while processing the RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND if the ACK for this packet should go out with its Frame Pending bit set differently than what was specified by RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks.
It's intended only for use with 802.15.4 legacy immediate ACKs and not 802.15.4E enhanced ACKs. This will return RAIL_STATUS_INVALID_STATE if it is too late to modify the outgoing Immediate ACK.
Note
This function is used to set the Frame Pending bit but its meaning depends on the value of RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks while transmitting ACK. If RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks is not set, then Frame Pending bit is set in outgoing ACK. Whereas, if RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks is set, then Frame Pending bit is cleared in outgoing ACK.
Therefore, this function is to be called if the frame is pending when RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks is not set or if there is no frame pending when RAIL_IEEE802154_Config_t::defaultFramePendingInOutgoingAcks is set.
1384
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_GetAddress#
RAIL_Status_t RAIL_IEEE802154_GetAddress (RAIL_Handle_t railHandle, RAIL_IEEE802154_Address_t * pAddress)
Get the source address of the incoming data request.
[in] | railHandle | A RAIL instance handle. |
[out] | pAddress | A pointer to RAIL_IEEE802154_Address_t structure to populate with source address information. |
Returns
A status code indicating success of the function call.
This function must only be called when handling the RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND event. This will return RAIL_STATUS_INVALID_STATE if the address information is stale (i.e., it is too late to affect the outgoing ACK).
1399
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_WriteEnhAck#
RAIL_Status_t RAIL_IEEE802154_WriteEnhAck (RAIL_Handle_t railHandle, const uint8_t * ackData, uint8_t ackDataLen)
Write the AutoACK FIFO for the next outgoing 802.15.4E Enhanced ACK.
[in] | railHandle | A handle of RAIL instance. |
[in] | ackData | Pointer to ACK data to transmit |
[in] | ackDataLen | Length of ACK data, in bytes |
Returns
A status code indicating success of the function call.
This function sets the AutoACK data to use in acknowledging the frame being received. It must only be called while processing the RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND, and is intended for use when packet information from RAIL_GetRxIncomingPacketInfo() indicates an 802.15.4E Enhanced ACK must be sent instead of a legacy Immediate ACK. RAIL_IEEE802154_ToggleFramePending() should not be called for an Enhanced ACK; instead the Enhanced ACK's Frame Control Field should have the Frame Pending bit set appropriately in its ackData. This will return RAIL_STATUS_INVALID_STATE if it is too late to write the outgoing ACK – a situation that will likely trigger a RAIL_EVENT_TXACK_UNDERFLOW event. When successful, the Enhanced ackData will only be sent once. Subsequent packets needing an Enhanced ACK will each need to call this function to write their ACK information.
1424
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConvertRssiToLqi#
uint8_t RAIL_IEEE802154_ConvertRssiToLqi (uint8_t origLqi, int8_t rssiDbm)
Convert RSSI into 802.15.4 Link Quality Indication (LQI) metric compatible with the Silicon Labs Zigbee stack.
[in] | origLqi | The original LQI, for example from RAIL_RxPacketDetails_t::lqi. This parameter is not currently used but may be used in the future. |
[in] | rssiDbm | The RSSI in dBm, for example from RAIL_RxPacketDetails_t::rssi. |
Returns
An LQI value (range 0..255 but not all intermediate values are possible) based on the rssiDbm and the chip's RSSI sensitivity range.
This function is compatible with RAIL_ConvertLqiCallback_t and is suitable to pass to RAIL_ConvertLqi().
1443
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConvertRssiToEd#
uint8_t RAIL_IEEE802154_ConvertRssiToEd (int8_t rssiDbm)
Convert RSSI into 802.15.4 Energy Detection (ED) metric compatible with the Silicon Labs Zigbee stack.
[in] | rssiDbm | The RSSI in dBm, for example from RAIL_RxPacketDetails_t::rssi. |
Returns
An Energy Detect value (range 0..255 but not all intermediate values are possible) based on the rssiDbm and the chip's RSSI sensitivity range.
1455
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConfigSignalIdentifier#
RAIL_Status_t RAIL_IEEE802154_ConfigSignalIdentifier (RAIL_Handle_t railHandle, RAIL_IEEE802154_SignalIdentifierMode_t signalIdentifierMode)
Configure signal identifier for 802.15.4 signal detection.
[in] | railHandle | A RAIL instance handle. |
[in] | signalIdentifierMode | Mode of signal identifier operation. |
This features allows detection of 2.4Ghz 802.15.4 signal on air. This function must be called once before RAIL_IEEE802154_EnableSignalDetection to configure and enable signal identifier.
To enable event for signal detection RAIL_ConfigEvents() must be called for enabling RAIL_EVENT_SIGNAL_DETECTED.
This function is only supported by chips where RAIL_IEEE802154_SUPPORTS_SIGNAL_IDENTIFIER and RAIL_IEEE802154_SupportsSignalIdentifier() are true.
Returns
Status code indicating success of the function call.
1543
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_EnableSignalDetection#
RAIL_Status_t RAIL_IEEE802154_EnableSignalDetection (RAIL_Handle_t railHandle, bool enable)
Enable or disable signal identifier for 802.15.4 signal detection.
[in] | railHandle | A RAIL instance handle. |
[in] | enable | Signal detection is enabled if true, disabled if false. |
RAIL_IEEE802154_ConfigSignalIdentifier must be called once before calling this function to configure and enable signal identifier. Once a signal is detected signal detection will be turned off and this function should be called to re-enable the signal detection without needing to call RAIL_IEEE802154_ConfigSignalIdentifier if the signal identifier is already configured and enabled.
This function is only supported by chips where RAIL_IEEE802154_SUPPORTS_SIGNAL_IDENTIFIER and RAIL_IEEE802154_SupportsSignalIdentifier() are true.
Returns
Status code indicating success of the function call.
1565
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConfigCcaMode#
RAIL_Status_t RAIL_IEEE802154_ConfigCcaMode (RAIL_Handle_t railHandle, RAIL_IEEE802154_CcaMode_t ccaMode)
Set 802.15.4 CCA mode.
[in] | railHandle | A RAIL instance handle. |
[in] | ccaMode | Mode of CCA operation. |
This function sets the CCA mode RAIL_IEEE802154_CcaMode_t. If not called, RAIL_IEEE802154_CCA_MODE_RSSI (RSSI-based CCA) is used for CCA.
In RAIL_IEEE802154_CCA_MODE_SIGNAL, RAIL_IEEE802154_CCA_MODE_SIGNAL_OR_RSSI and RAIL_IEEE802154_CCA_MODE_SIGNAL_AND_RSSI signal identifier is enabled for the duration of LBT. If previously enabled by RAIL_IEEE802154_ConfigSignalIdentifier, the signal identifier will remain active until triggered.
This function is only supported by chips where RAIL_IEEE802154_SUPPORTS_SIGNAL_IDENTIFIER and RAIL_IEEE802154_SupportsSignalIdentifier() are true.
Returns
Status code indicating success of the function call. An error should be returned if ccaMode is unsuppported on a given device.
1596
of file protocol/ieee802154/rail_ieee802154.h
RAIL_IEEE802154_ConfigRxChannelSwitching#
RAIL_Status_t RAIL_IEEE802154_ConfigRxChannelSwitching (RAIL_Handle_t railHandle, const RAIL_IEEE802154_RxChannelSwitchingCfg_t * pConfig)
Configure RX channel switching for 802.15.4.
[in] | railHandle | A RAIL instance handle. |
[in] | pConfig | A pointer to RAIL_IEEE802154_RxChannelSwitchingCfg_t structure. |
Returns
Status code indicating success of the function call.
This function configures RX channel switching, allowing reception of 2.4Ghz 802.15.4 signals on two specified radio channels. This function must be called once before RAIL_StartRx and/or enabling RAIL_RX_OPTION_CHANNEL_SWITCHING.
Note
IEEE 802.15.4 must be enabled, RAIL_IEEE802154_Init, and radio must be in idle state when configuring RX channel switching. This function requires a DMA channel, see RAIL_UseDma, and one must be allocated if not done already.
When RX channel switching is active, receive sensitivity and performance are slightly impacted.
1638
of file protocol/ieee802154/rail_ieee802154.h