.. module:: stts751 ************** 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. :param drvsel: I2C Bus used `( I2C0 )` :param address: Slave address, default 0x48 :param clk: Clock speed, default 400kHz Example: :: from stm.stts751 import stts751 temp_sens = stts751.STTS751( I2C0 ) temp = temp_sens.get_temp() .. method:: 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. .. method:: disable() Disables the sensor. Returns True if configuration is successful, False otherwise. .. method:: 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 ====== =============================== .. method:: get_sensor_id() Retrieves product_id, manufacturer_id, revision_id in one call. Returns product_id, manufacturer_id, revision_id .. method:: get_temp(raw=False) Retrieves temperature in one call; if raw flag is enabled, returns raw register values. Returns temp .. method:: 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. .. method:: 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. .. method:: set_event_interrupt(enable) Enables the interrupt pin. Available values for 'enable' flag are 'True' or 'False'. .. method:: 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. .. method:: 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. .. method:: set_timeout(enable) Enables the timeout for the sensor readings (from 25 to 35 ms). Available values for 'enable' flag are 'True' or 'False'.