92 #define BUS                         (dev->p.i2c)  
   93 #define ADDR                        (dev->p.addr)  
  108 #ifndef CONFIG_TMP00X_I2C_ADDRESS 
  109 #define CONFIG_TMP00X_I2C_ADDRESS         (0x40) 
  119 #if IS_ACTIVE(CONFIG_TMP00X_CONVERSION_TIME_0_25S) 
  120 #define CONFIG_TMP00X_CONVERSION_TIME                   (25E4) 
  121 #elif IS_ACTIVE(CONFIG_TMP00X_CONVERSION_TIME_0_5S) 
  122 #define CONFIG_TMP00X_CONVERSION_TIME                   (5E5) 
  123 #elif IS_ACTIVE(CONFIG_TMP00X_CONVERSION_TIME_1S) 
  124 #define CONFIG_TMP00X_CONVERSION_TIME                   (1E6) 
  125 #elif IS_ACTIVE(CONFIG_TMP00X_CONVERSION_TIME_2S) 
  126 #define CONFIG_TMP00X_CONVERSION_TIME                   (2E6) 
  127 #elif IS_ACTIVE(CONFIG_TMP00X_CONVERSION_TIME_4S) 
  128 #define CONFIG_TMP00X_CONVERSION_TIME                   (4E6) 
  131 #ifndef CONFIG_TMP00X_CONVERSION_TIME 
  132 #define CONFIG_TMP00X_CONVERSION_TIME                   (1E6) 
  144 #define CONFIG_TMP00X_USE_LOW_POWER 
  154 #define CONFIG_TMP00X_USE_RAW_VALUES 
  162 #define TMP00X_CONFIG_CR_AS1       (0x00)    
  163 #define TMP00X_CONFIG_CR_AS2       (0x01)    
  164 #define TMP00X_CONFIG_CR_AS4       (0x02)    
  165 #define TMP00X_CONFIG_CR_AS8       (0x03)    
  166 #define TMP00X_CONFIG_CR_AS16      (0x04)    
  167 #define TMP00X_CONFIG_CR_DEF       TMP00X_CONFIG_CR_AS4  
  174 #ifndef TMP00X_CCONST_S0 
  175 #define TMP00X_CCONST_S0           (6.4E-14)     
  177 #define TMP00X_CCONST_A1           (1.75E-3)     
  178 #define TMP00X_CCONST_A2           (-1.678E-5)   
  179 #define TMP00X_CCONST_TREF         (298.15)      
  180 #define TMP00X_CCONST_B0           (-2.94E-5)    
  181 #define TMP00X_CCONST_B1           (-5.7E-7)     
  182 #define TMP00X_CCONST_B2           (4.63E-9)     
  183 #define TMP00X_CCONST_C2           (13.4)        
  184 #define TMP00X_CCONST_LSB_SIZE     (156.25E-9)   
uint_fast8_t i2c_t
Default i2c_t type definition.
 
int tmp00x_read(const tmp00x_t *dev, int16_t *rawv, int16_t *rawt, uint16_t *drdy)
Read sensor's data.
 
int tmp00x_set_standby(const tmp00x_t *dev)
Set standby mode.
 
int tmp00x_read_temperature(const tmp00x_t *dev, int16_t *ta, int16_t *to)
Convenience function to get ambient and object temperatures in [°C].
 
void tmp00x_convert(int16_t rawv, int16_t rawt, float *tamb, float *tobj)
Convert raw sensor values to temperature.
 
int tmp00x_init(tmp00x_t *dev, const tmp00x_params_t *params)
Initialize the TMP00X sensor driver.
 
int tmp00x_reset(const tmp00x_t *dev)
Reset the TMP00X sensor, afterwards it should be reinitialized.
 
int tmp00x_set_active(const tmp00x_t *dev)
Set active mode, this enables periodic measurements.
 
@ TMP00X_ERROR_DEV
internal device error
 
@ TMP00X_ERROR_CONF
invalid device configuration
 
@ TMP00X_ERROR
general error
 
@ TMP00X_OK
Success, no error.
 
@ TMP00X_ERROR_BUS
I2C bus error.
 
Low-level I2C peripheral driver interface definition.
 
Common macros and compiler attributes/pragmas configuration.
 
Parameters needed for device initialization.
 
i2c_t i2c
I2C device, the sensor is connected to.
 
uint8_t rate
number of averaged samples
 
uint8_t addr
the sensor's slave address on the I2C bus
 
Device descriptor for TMP00X sensors.
 
tmp00x_params_t p
Configuration parameters.