Thermal Protection#

Modules#

RAIL_ChipTempConfig_t

RAIL_ChipTempMetrics_t

Functions#

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.

RAIL_GetThermalProtection(RAIL_Handle_t genericRailHandle, RAIL_ChipTempConfig_t *chipTempConfig)

Get the current thermal configuration parameter and status.

RAIL_GetTemperature(RAIL_Handle_t railHandle, int16_t tempBuffer[((3U)+(1U))], bool reset)

Get the different temperature measurements in Kelvin done by sequencer or host.

Macros#

#define

Number of temperature values provided for HFXO metrics.

#define

Total number of temperature values provided by RAIL_GetTemperature().

#define

Maximum junction temperature in Kelvin.

#define

Default number of Kelvin degrees below threshold needed to allow transmissions.

#define

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.

Parameters
[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.


Definition at line 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.

Parameters
[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.


Definition at line 6228 of file common/rail.h

RAIL_GetTemperature#

RAIL_Status_t RAIL_GetTemperature (RAIL_Handle_t railHandle, int16_t tempBuffer[((3U)+(1U))], bool reset)

Get the different temperature measurements in Kelvin done by sequencer or host.

Parameters
[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.


Definition at line 6256 of file common/rail.h

Macro Definition Documentation#

RAIL_HFXO_TEMP_MEASURE_COUNT#

#define RAIL_HFXO_TEMP_MEASURE_COUNT
Value:
(1U)

Number of temperature values provided for HFXO metrics.


Definition at line 6232 of file common/rail.h

RAIL_TEMP_MEASURE_COUNT#

#define RAIL_TEMP_MEASURE_COUNT
Value:
(RAIL_CHIP_TEMP_MEASURE_COUNT \
+ RAIL_HFXO_TEMP_MEASURE_COUNT)

Total number of temperature values provided by RAIL_GetTemperature().


Definition at line 6235 of file common/rail.h

RAIL_CHIP_TEMP_THRESHOLD_MAX#

#define RAIL_CHIP_TEMP_THRESHOLD_MAX
Value:
(398U)

Maximum junction temperature in Kelvin.

A margin is subtracted before using it when RAIL_SUPPORTS_THERMAL_PROTECTION is enabled.


Definition at line 5703 of file common/rail_types.h

RAIL_CHIP_TEMP_COOLDOWN_DEFAULT#

#define RAIL_CHIP_TEMP_COOLDOWN_DEFAULT
Value:
(7U)

Default number of Kelvin degrees below threshold needed to allow transmissions.


Definition at line 5708 of file common/rail_types.h

RAIL_CHIP_TEMP_MEASURE_COUNT#

#define RAIL_CHIP_TEMP_MEASURE_COUNT
Value:
(3U)

Number of temperature values provided for the chip thermal protection.


Definition at line 5724 of file common/rail_types.h