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.
Enable or disable the thermal protection if SL_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.
Number of temperature values provided for HFXO metrics.
Total number of temperature values provided by sl_rail_get_temperature().
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.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| RAIL_Handle_t | [in] | genericRailHandle | A radio-generic RAIL handle. |
| const RAIL_ChipTempConfig_t * | [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.
DeprecatedRAIL 2.x synonym of sl_rail_config_thermal_protection().
RAIL_GetThermalProtection#
RAIL_Status_t RAIL_GetThermalProtection (RAIL_Handle_t genericRailHandle, RAIL_ChipTempConfig_t * chipTempConfig)
Get the current thermal configuration parameter and status.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| RAIL_Handle_t | [in] | genericRailHandle | A radio-generic RAIL handle. |
| RAIL_ChipTempConfig_t * | [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.
DeprecatedRAIL 2.x synonym of sl_rail_get_thermal_protection().
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.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| RAIL_Handle_t | [in] | railHandle | A RAIL instance handle. |
| int16_t | [out] | tempBuffer | The address of the array that will contain temperatures. This array must have at least RAIL_TEMP_MEASURE_COUNT entries. |
| bool | [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
DeprecatedRAIL 2.x synonym of sl_rail_get_temperature().
sl_rail_config_thermal_protection#
sl_rail_status_t sl_rail_config_thermal_protection (sl_rail_handle_t radio_handle, const sl_rail_chip_temp_config_t * p_chip_temp_config)
Enable or disable the thermal protection if SL_RAIL_SUPPORTS_THERMAL_PROTECTION is defined and update the temperature threshold and cool down hysteresis preventing or allowing transmissions.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_rail_handle_t | [in] | radio_handle | A radio-generic RAIL handle. |
| const sl_rail_chip_temp_config_t * | [in] | p_chip_temp_config | A pointer to a sl_rail_chip_temp_config_t that contains the configuration to be applied. |
Returns
Status code indicating the result of the function call. Returns SL_RAIL_STATUS_INVALID_PARAMETER if enable field from sl_rail_chip_temp_config_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 SL_RAIL_CHIP_TEMP_THRESHOLD_MAX and the cool down hysteresis is set to SL_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.
sl_rail_get_thermal_protection#
sl_rail_status_t sl_rail_get_thermal_protection (sl_rail_handle_t radio_handle, sl_rail_chip_temp_config_t * p_chip_temp_config)
Get the current thermal configuration parameter and status.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_rail_handle_t | [in] | radio_handle | A radio-generic RAIL handle. |
| sl_rail_chip_temp_config_t * | [out] | p_chip_temp_config | A non-NULL pointer to a sl_rail_chip_temp_config_t that will be updated with the current configuration. |
Returns
Status code indicating the result of the function call.
sl_rail_get_temperature#
sl_rail_status_t sl_rail_get_temperature (sl_rail_handle_t radio_handle, int16_t temp_buffer, bool reset)
Get the different temperature measurements in Kelvin done by sequencer or host.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_rail_handle_t | [in] | radio_handle | A radio-generic RAIL handle. |
| int16_t | [out] | temp_buffer | The array to be populated with temperatures (pointer). This array must have at least SL_RAIL_TEMP_MEASURE_COUNT entries. |
| bool | [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 temp_buffer[] such as:
temp_buffer[0] is the chip temperature
temp_buffer[1] is the minimal chip temperature
temp_buffer[2] is the maximal chip temperature
Values that are not populated yet or incorrect are set to 0.
If SL_RAIL_SUPPORTS_HFXO_COMPENSATION temp_buffer[3] is the HFXO temperature