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

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 6371 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 be updated with the current configuration.

Returns

  • Status code indicating the result of the function call.


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

Parameters
[in]railHandle

A RAIL instance handle.

[out]tempBuffer

The address of the array that will contain temperatures. This array must have at least RAIL_TEMP_MEASURE_COUNT entries.

[in]reset

true to reset the temperature statistics, false otherwise.

Returns

  • Status code indicating success of the function call.

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

Values that are not populated yet or incorrect are set to 0.

If RAIL_SUPPORTS_HFXO_COMPENSATION tempBuffer[3] is the HFXO temperature


Definition at line 6411 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 6386 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 6389 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 5759 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 5764 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 5780 of file common/rail_types.h