Thermal Protection#
Modules#
Functions#
Enable or disable the thermal protection if RAIL_SUPPORTS_THERMAL_PROTECTION is defined and update the temperature threshold and cool down hysteresis preventing or allowing transmissions.
Get the current thermal configuration parameter and status.
Get the different temperature measurements in Kelvin done by sequencer or host.
Macros#
Number of temperature values provided for HFXO metrics.
Total number of temperature values provided by RAIL_GetTemperature().
Maximum junction temperature in Kelvin.
Default number of Kelvin degrees below threshold needed to allow transmissions.
Number of temperature values provided for the chip thermal protection.
Function Documentation#
RAIL_ConfigThermalProtection#
RAIL_Status_t RAIL_ConfigThermalProtection (RAIL_Handle_t genericRailHandle, const RAIL_ChipTempConfig_t * chipTempConfig)
Enable or disable the thermal protection if RAIL_SUPPORTS_THERMAL_PROTECTION is defined and update the temperature threshold and cool down hysteresis preventing or allowing transmissions.
[in] | genericRailHandle | A radio-generic RAIL handle. |
[in] | chipTempConfig | A pointer to a RAIL_ChipTempConfig_t that contains the configuration to be applied. |
Returns
Status code indicating the result of the function call. Returns RAIL_STATUS_INVALID_PARAMETER if enable field from RAIL_ChipTempConfig_t is set to false when an EFF is present on the board.
When the temperature threshold minus a precise number of degrees specified by the cool down hysteresis parameter is exceeded, any future transmits are blocked until the temperature decreases below that limit. Besides, if the temperature threshold is exceeded, any active transmit is aborted.
By default the threshold is set to RAIL_CHIP_TEMP_THRESHOLD_MAX and the cool down hysteresis is set to RAIL_CHIP_TEMP_COOLDOWN_DEFAULT.
Note
The thermal protection is automatically enabled when an EFF is present on the board. There is no use in calling this API in this case.
6217
of file common/rail.h
RAIL_GetThermalProtection#
RAIL_Status_t RAIL_GetThermalProtection (RAIL_Handle_t genericRailHandle, RAIL_ChipTempConfig_t * chipTempConfig)
Get the current thermal configuration parameter and status.
[in] | genericRailHandle | A radio-generic RAIL handle. |
[out] | chipTempConfig | A non-NULL pointer to a RAIL_ChipTempConfig_t that will by updated with the current configuration. |
Returns
Status code indicating the result of the function call.
6228
of file common/rail.h
RAIL_GetTemperature#
RAIL_Status_t RAIL_GetTemperature (RAIL_Handle_t railHandle, int16_t tempBuffer, bool reset)
Get the different temperature measurements in Kelvin done by sequencer or host.
[in] | railHandle | A RAIL instance handle. |
[in] | tempBuffer | Reset the temperature statistics. |
[out] | reset | The address of the array that will contain temperatures. tempBuffer array must be at least RAIL_TEMP_MEASURE_COUNT int16_t. |
Values that are not populated yet or incorrect are set to 0.
Temperatures, in Kelvin, are stored in tempBuffer such as: tempBuffer[0] is the chip temperature tempBuffer[1] is the minimal chip temperature tempBuffer[2] is the maximal chip temperature
If RAIL_SUPPORTS_HFXO_COMPENSATION tempBuffer[3] is the HFXO temperature
Returns
Status code indicating success of the function call.
6256
of file common/rail.h
Macro Definition Documentation#
RAIL_HFXO_TEMP_MEASURE_COUNT#
#define RAIL_HFXO_TEMP_MEASURE_COUNTValue:
(1U)
Number of temperature values provided for HFXO metrics.
6232
of file common/rail.h
RAIL_TEMP_MEASURE_COUNT#
#define RAIL_TEMP_MEASURE_COUNTValue:
Total number of temperature values provided by RAIL_GetTemperature().
6235
of file common/rail.h
RAIL_CHIP_TEMP_THRESHOLD_MAX#
#define RAIL_CHIP_TEMP_THRESHOLD_MAXValue:
(398U)
Maximum junction temperature in Kelvin.
A margin is subtracted before using it when RAIL_SUPPORTS_THERMAL_PROTECTION is enabled.
5703
of file common/rail_types.h
RAIL_CHIP_TEMP_COOLDOWN_DEFAULT#
#define RAIL_CHIP_TEMP_COOLDOWN_DEFAULTValue:
(7U)
Default number of Kelvin degrees below threshold needed to allow transmissions.
5708
of file common/rail_types.h
RAIL_CHIP_TEMP_MEASURE_COUNT#
#define RAIL_CHIP_TEMP_MEASURE_COUNTValue:
(3U)
Number of temperature values provided for the chip thermal protection.
5724
of file common/rail_types.h