RO Temperature Sensor#

Enumerations#

enum
SL_RO_REF_CLK
SL_RO_FSM_CLK
SL_RO_CLK_LAST
}

RO temperature sensor reference clock.

enum
SL_RO_TEMPERATURE_DISABLE
SL_RO_TEMPERATURE_ENABLE
SL_RO_TEMPERATURE_LAST
}

Enable/Disable RO temperature sensor.

enum
SL_RO_TEMP_BJT_UPDATE_ENABLE
SL_RO_TEMP_SPI_UPDATE_ENABLE
SL_RO_TEMP_BJT_UPDATE_LAST
}

Enable/Disable BJT based temperature update.

enum
SL_RO_TEMPERATURE_PERIODIC_DISABLE
SL_RO_TEMPERATURE_PERIODIC_ENABLE
SL_RO_TEMPERATURE_PERIODIC_LAST
}

Enable/Disable RO periodic temperature checking.

enum
SL_RO_TEMPERATURE_TRIGGER_1SEC
SL_RO_TEMPERATURE_TRIGGER_2SEC
SL_RO_TEMPERATURE_TRIGGER_4SEC
SL_RO_TEMPERATURE_TRIGGER_5SEC
SL_RO_TEMPERATURE_TRIGGER_LAST
}

RO temperature periodic check time.

Functions#

sl_status_t

Set reference clock count for RO temperature sensor.

sl_status_t
sl_si91x_ro_temperature_select_reference_clock(sl_ro_reference_clock_t ref_clk)

Select reference clock for RO temperature sensor.

sl_status_t
sl_si91x_ro_temperature_enable(sl_ro_temperature_state_t state)

Enable/disable RO temperature sensor.

sl_status_t

Set nominal value for RO temperature sensor.

sl_status_t
sl_si91x_ro_temperature_read(int32_t *temperature)

Read value from RO temperature sensor.

sl_status_t
sl_si91x_ro_temperature_based_update(sl_ro_temperature_update_t enable)

Calculate temperature from RO temperature sensor reading.

sl_status_t
sl_si91x_ro_temperature_load(uint8_t temperature)

Update temperature for RO temperature sensor.

sl_status_t

Get reference clock count for RO temperature sensor.

sl_status_t

Get ptat clock count for RO temperature sensor.

sl_status_t
sl_si91x_ro_temperature_periodic_update(sl_ro_temperature_periodic_check_t periodic_check, sl_ro_temperature_trigger_time_t trigger_time)

Update temperature periodically for RO temperature sensor.

Enumeration Documentation#

sl_ro_reference_clock_t#

sl_ro_reference_clock_t

RO temperature sensor reference clock.

Enumerator
SL_RO_REF_CLK

Enable RO kHz clock from analog as reference clock.

SL_RO_FSM_CLK

Enable MCU FSM clock as reference clock.

SL_RO_CLK_LAST

Last member of enum for validation.


sl_ro_temperature_state_t#

sl_ro_temperature_state_t

Enable/Disable RO temperature sensor.

Enumerator
SL_RO_TEMPERATURE_DISABLE

Temperature sensing disable.

SL_RO_TEMPERATURE_ENABLE

Temperature sensing enable.

SL_RO_TEMPERATURE_LAST

Last member of enum for validation.


sl_ro_temperature_update_t#

sl_ro_temperature_update_t

Enable/Disable BJT based temperature update.

Enumerator
SL_RO_TEMP_BJT_UPDATE_ENABLE

Enable BJT based temperature through RO calculation.

SL_RO_TEMP_SPI_UPDATE_ENABLE

Disable BJT based temperature through RO calculation and Enable update through SPI.

SL_RO_TEMP_BJT_UPDATE_LAST

Last member of enum for validation.


sl_ro_temperature_periodic_check_t#

sl_ro_temperature_periodic_check_t

Enable/Disable RO periodic temperature checking.

Enumerator
SL_RO_TEMPERATURE_PERIODIC_DISABLE

Periodic temperature checking disable.

SL_RO_TEMPERATURE_PERIODIC_ENABLE

Periodic temperature checking enable.

SL_RO_TEMPERATURE_PERIODIC_LAST

Last member of enum for validation.


sl_ro_temperature_trigger_time_t#

sl_ro_temperature_trigger_time_t

RO temperature periodic check time.

Enumerator
SL_RO_TEMPERATURE_TRIGGER_1SEC

RO temperature update for every 1second.

SL_RO_TEMPERATURE_TRIGGER_2SEC

RO temperature update for every 2seconds.

SL_RO_TEMPERATURE_TRIGGER_4SEC

RO temperature update for every 4seconds.

SL_RO_TEMPERATURE_TRIGGER_5SEC

RO temperature update for every 5seconds.

SL_RO_TEMPERATURE_TRIGGER_LAST

Last member of enum for validation.


Function Documentation#

sl_si91x_ro_temperature_set_count#

sl_status_t sl_si91x_ro_temperature_set_count (uint32_t count)

Set reference clock count for RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
uint32_t[in]count

Count of reference clock on which ptat clock counts

This API is used to set the count of reference clock on which ptat clock counts.

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_INVALID_PARAMETER (0x0021) , The parameter is invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_select_reference_clock#

sl_status_t sl_si91x_ro_temperature_select_reference_clock (sl_ro_reference_clock_t ref_clk)

Select reference clock for RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
sl_ro_reference_clock_t[in]ref_clk

Reference clock selection:

  • 0 - reference RO clock from analog

  • 1 - MCU FSM clock

This API is used to select the reference clock to the temperature sensor

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_INVALID_PARAMETER (0x0021) , The parameter is invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_enable#

sl_status_t sl_si91x_ro_temperature_enable (sl_ro_temperature_state_t state)

Enable/disable RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
sl_ro_temperature_state_t[in]state

Enable / disable the temperature sensor:

  • 0 - Disable

  • 1 - Enable

This API is used to enable / disable the temperature sensor

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_INVALID_PARAMETER (0x0021) , The parameter is invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_nominal#

sl_status_t sl_si91x_ro_temperature_nominal (uint32_t value)

Set nominal value for RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
uint32_t[in]value

Calibrated temperature value

This API is used to set the nominal value of the temperature sensor

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_INVALID_PARAMETER (0x0021) , The parameter is invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_read#

sl_status_t sl_si91x_ro_temperature_read (int32_t * temperature)

Read value from RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
int32_t *[out]temperature

Temperature value reading

This API is used to read the temperature value

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_based_update#

sl_status_t sl_si91x_ro_temperature_based_update (sl_ro_temperature_update_t enable)

Calculate temperature from RO temperature sensor reading.

Parameters
TypeDirectionArgument NameDescription
sl_ro_temperature_update_t[in]enable

Enable RO based BJT temperature update

This API is used to updating temperature through RO based calculation

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_INVALID_PARAMETER (0x0021) , The parameter is invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_load#

sl_status_t sl_si91x_ro_temperature_load (uint8_t temperature)

Update temperature for RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]temperature

Known temperature

This API is used to updating temperature

Returns

  • SL_STATUS_OK on success


sl_si91x_ro_temperature_get_reference_clk_count#

sl_status_t sl_si91x_ro_temperature_get_reference_clk_count (uint32_t * ref_count)

Get reference clock count for RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
uint32_t *[out]ref_count

Count of f1 clock cycles

This API is used to read the reference clock count

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_get_ptat_clk_count#

sl_status_t sl_si91x_ro_temperature_get_ptat_clk_count (uint32_t * ptat_count)

Get ptat clock count for RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
uint32_t *[out]ptat_count

Count of f2 clock cycles

This API is used to read the ptat clock count

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer


sl_si91x_ro_temperature_periodic_update#

sl_status_t sl_si91x_ro_temperature_periodic_update (sl_ro_temperature_periodic_check_t periodic_check, sl_ro_temperature_trigger_time_t trigger_time)

Update temperature periodically for RO temperature sensor.

Parameters
TypeDirectionArgument NameDescription
sl_ro_temperature_periodic_check_t[in]periodic_check

Enable periodic checking of temperature

sl_ro_temperature_trigger_time_t[in]trigger_time

Periodic check time in sec:

  • 0 - for every 1 sec

  • 1 - for every 2 secs

  • 2 - for every 4 secs

  • 3 - for every 5 secs

This API is used to update the temperature periodically after some time

Returns

  • Status 0 if successful, else error code:

    • SL_STATUS_OK on success

    • SL_STATUS_INVALID_PARAMETER (0x0021) , The parameter is invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) , The parameter is null pointer