This file contains the type definitions for SIxx3xx chip-specific aspects of RAIL.
License#
Copyright 2024 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.
Modules#
Macros#
SLI_LIBRARY_BUILD.
The RAIL library does not use enumerations because the ARM EABI leaves their size ambiguous, which causes problems if the application is built with different flags than the library.
This macro is a more generic version of the RAIL_ENUM() macro that allows the size of the type to be overridden instead of forcing the use of a uint8_t.
Synonym of RAIL_EFR32_HANDLE for Series 3.
Time it takes to take care of protocol switching.
Indicates the number of 2.4 GHz RF Paths suppported.
Indicates the number of Sub-GHz RF Paths supported.
Indicates the number of RF Paths supported.
Indicates this version of RAIL supports IR calibration on multiple RF paths Needed for backwards compatibility.
The number of PA's on this chip (including Virtual PAs).
Convenience macro to check if the power mode supports raw setting.
The static amount of memory needed per channel for channel hopping, measured in 32 bit words, regardless of the size of radio configuration structures.
Default PRS channel to use when configuring sleep.
Default RTCC channel to use when configuring sleep.
The minimum value for a consistent RAIL transition.
The maximum value for a consistent RAIL transition.
Macro Definition Documentation#
RAIL_ENUM#
#define RAIL_ENUMValue:
(name)
The RAIL library does not use enumerations because the ARM EABI leaves their size ambiguous, which causes problems if the application is built with different flags than the library.
Instead, uint8_t typedefs are used in compiled code for all enumerations. For documentation purposes, this is converted to an actual enumeration since it's much easier to read in Doxygen.
RAIL_ENUM_GENERIC#
#define RAIL_ENUM_GENERICValue:
(name, type)
This macro is a more generic version of the RAIL_ENUM() macro that allows the size of the type to be overridden instead of forcing the use of a uint8_t.
See RAIL_ENUM() for more information.
RAIL_S3LPW_HANDLE#
#define RAIL_S3LPW_HANDLEValue:
RAIL_EFR32_HANDLE
Synonym of RAIL_EFR32_HANDLE for Series 3.
DeprecatedRAIL 2.x. synonym of SL_RAIL_S3LPW_HANDLE.
TRANSITION_TIME_US#
#define TRANSITION_TIME_USValue:
450
Time it takes to take care of protocol switching.
DeprecatedRAIL 2.x. synonym of SL_RAIL_TRANSITION_TIME_US.
RAIL_RF_PATHS_2P4GIG#
#define RAIL_RF_PATHS_2P4GIGValue:
0
Indicates the number of 2.4 GHz RF Paths suppported.
DeprecatedRAIL 2.x. synonym of SL_RAIL_RF_PATHS_2P4_GHZ.
RAIL_RF_PATHS_SUBGIG#
#define RAIL_RF_PATHS_SUBGIGValue:
0
Indicates the number of Sub-GHz RF Paths supported.
DeprecatedRAIL 2.x. synonym of SL_RAIL_RF_PATHS_SUB_GHZ.
RAIL_RF_PATHS#
#define RAIL_RF_PATHSValue:
(RAIL_RF_PATHS_SUBGIG + RAIL_RF_PATHS_2P4GIG)
Indicates the number of RF Paths supported.
DeprecatedRAIL 2.x. synonym of SL_RAIL_RF_PATHS.
RADIO_CONFIG_ENABLE_IRCAL_MULTIPLE_RF_PATHS#
#define RADIO_CONFIG_ENABLE_IRCAL_MULTIPLE_RF_PATHSValue:
0
Indicates this version of RAIL supports IR calibration on multiple RF paths Needed for backwards compatibility.
DeprecatedRAIL 2.x. synonym of SL_RAIL_RADIO_CONFIG_ENABLE_IR_CAL_MULTIPLE_RF_PATHS.
RAIL_POWER_MODE_IS_ANY_DBM_POWERSETTING_MAPPING_TABLE#
#define RAIL_POWER_MODE_IS_ANY_DBM_POWERSETTING_MAPPING_TABLEValue:
The number of PA's on this chip (including Virtual PAs).
DeprecatedRAIL 2.x. synonym of SL_RAIL_NUM_PA.
Convenience macro for any mapping table mode.
DeprecatedRAIL 2.x. synonym of SL_RAIL_POWER_MODE_IS_ANY_DBM_POWERSETTING_MAPPING_TABLE().
RAIL_POWER_MODE_SUPPORTS_RAW_SETTING#
#define RAIL_POWER_MODE_SUPPORTS_RAW_SETTINGValue:
(x)
Convenience macro to check if the power mode supports raw setting.
DeprecatedRAIL 2.x. synonym of SL_RAIL_POWER_MODE_SUPPORTS_RAW_SETTING().
RAIL_CHANNEL_HOPPING_BUFFER_SIZE_PER_CHANNEL#
#define RAIL_CHANNEL_HOPPING_BUFFER_SIZE_PER_CHANNELValue:
(54U)
The static amount of memory needed per channel for channel hopping, measured in 32 bit words, regardless of the size of radio configuration structures.
DeprecatedRAIL 2.x. synonym of SL_RAIL_CHANNEL_HOPPING_BUFFER_WORDS_PER_CHANNEL.
RAILINT_TIMER_SYNC_PRS_CHANNEL_DEFAULT#
#define RAILINT_TIMER_SYNC_PRS_CHANNEL_DEFAULTValue:
(7U)
Default PRS channel to use when configuring sleep.
DeprecatedRAIL 2.x. synonym of SLI_RAIL_TIMER_SYNC_PRS_CHANNEL_DEFAULT.
RAILINT_TIMER_SYNC_RTCC_CHANNEL_DEFAULT#
#define RAILINT_TIMER_SYNC_RTCC_CHANNEL_DEFAULTValue:
(0U)
Default RTCC channel to use when configuring sleep.
DeprecatedRAIL 2.x. synonym of SLI_RAIL_TIMER_SYNC_RTCC_CHANNEL_DEFAULT.
RAIL_MINIMUM_TRANSITION_US#
#define RAIL_MINIMUM_TRANSITION_USValue:
(75U)
The minimum value for a consistent RAIL transition.
Note
Transitions may need to be slower than this when using longer RAIL_TxPowerConfig_t::rampTime values
DeprecatedRAIL 2.x. synonym of SL_RAIL_MINIMUM_TRANSITION_US.
RAIL_MAXIMUM_TRANSITION_US#
#define RAIL_MAXIMUM_TRANSITION_USValue:
(1000000U)
The maximum value for a consistent RAIL transition.
DeprecatedRAIL 2.x. synonym of SL_RAIL_MAXIMUM_TRANSITION_US.