STTS751 Module

This module contains the driver for STMicroelectronics STTS751 temperature sensor.

Its highlight is that it outputs its measurement in a 9-bit to 12-bit (configurable) resolution. (datasheet).

class STTS751(drvsel, address=0x48, clk=400000)

Creates an intance of a new STTS751.

Parameters:
  • drvsel – I2C Bus used ( I2C0 )
  • address – Slave address, default 0x48
  • clk – Clock speed, default 400kHz

Example:

from stm.stts751 import stts751

temp_sens = stts751.STTS751( I2C0 )
temp = temp_sens.get_temp()
enable(odr=ODR_AVAILABLE["ODR_125mHz"], resolution=STTS751_RES_12)

Sets the device’s configuration registers.

Parameters:

  • odr : sets the Output Data Rate of the device. Available values are:

    Value Output Data Rate Constant Name
    0x00 62,5 Mhz ODR_AVAILABLE[“ODR_62mHz5”]
    0x01 125 MHz ODR_AVAILABLE[“ODR_125mHz”]
    0x02 250 MHz ODR_AVAILABLE[“ODR_250mHz”]
    0x03 500 MHz ODR_AVAILABLE[“ODR_500mHz”]
    0x04 1 Hz ODR_AVAILABLE[“ODR_1Hz”]
    0x05 2 Hz ODR_AVAILABLE[“ODR_2Hz”]
    0x06 4 Hz ODR_AVAILABLE[“ODR_4Hz”]
    0x07 8 Hz ODR_AVAILABLE[“ODR_8Hz”]
    0x08 16 Hz ODR_AVAILABLE[“ODR_16Hz”]
    0x09 32 Hz ODR_AVAILABLE[“ODR_32Hz”]
    0x80 OFF ODR_AVAILABLE[“ODR_OFF”]
    0x90 ONE SHOT ODR_AVAILABLE[“ODR_ONE_SHOT”]
  • resolution : sets the Resolution in bit of the conversion. Available values are:

    Value N bit Costant Name in °C/LSB
    0x08 9 STTS751_RES_9 0.5 °C/LSB
    0x00 10 STTS751_RES_10 0.25 °C/LSB
    0x04 11 STTS751_RES_11 0.125 °C/LSB
    0x0c 12 STTS751_RES_12 0.0625 °C/LSB

Returns True if configuration is successful, False otherwise.

disable()

Disables the sensor.

Returns True if configuration is successful, False otherwise.

get_status()

Retrieves the sensor flag status.

Returns a dictionary with following key/value pairs:

Key Note
busy If True, Sensor is Busy
t_low If True, Temp under threshold
t_high If True, Temp over threshold
therm If True, High internal Temp
get_sensor_id()

Retrieves product_id, manufacturer_id, revision_id in one call.

Returns product_id, manufacturer_id, revision_id

get_temp(raw=False)

Retrieves temperature in one call; if raw flag is enabled, returns raw register values.

Returns temp

set_low_temp_threshold(level)

Sets the low temperature threshold. When real temperature goes down the low temperature level, if interrupt is enabled, the sensor send an interrupt signal in its interrupt pin.

set_high_temp_threshold(level)

Sets the high temperature threshold. When real temperature goes up the high temperature level, if interrupt is enabled, the sensor send an interrupt signal in its interrupt pin.

set_event_interrupt(enable)

Enables the interrupt pin. Available values for ‘enable’ flag are ‘True’ or ‘False’.

set_therm_limit(level)

Sets the Thermal threshold. Whenever the temperature exceeds the value of the therm limit, the Addr/Therm output will be asserted (low) Available ‘level’ values are from -127 to 127 range.

set_therm_hysteresis_limit(level)

Sets the Thermal hysteresis threshold. Once Therm output has asserted, it will not de-assert until the temperature has fallen below the respective therm limit minus the therm hysteresis value. Available ‘level’ values are from -127 to 127 range.

set_timeout(enable)

Enables the timeout for the sensor readings (from 25 to 35 ms). Available values for ‘enable’ flag are ‘True’ or ‘False’.