1 2 /* 3 * Copyright (C) 2015-2020 Alibaba Group Holding Limited 4 */ 5 6 #include "aos/hal/i2c.h" 7 #include <math.h> 8 #include <stdbool.h> 9 10 #ifndef SI7006_h 11 #define SI7006_h 12 13 #define SI7006_ADDRESS 0x40 14 #define SI7006_TAG 0x06 15 16 #define SI7006_MEAS_REL_HUMIDITY_MASTER_MODE 0xE5 17 #define SI7006_MEAS_REL_HUMIDITY_NO_MASTER_MODE 0xF5 18 #define SI7006_MEAS_TEMP_MASTER_MODE 0xE3 19 #define SI7006_MEAS_TEMP_NO_MASTER_MODE 0xF3 20 #define SI7006_READ_OLD_TEMP 0xE0 21 #define SI7006_RESET 0xFE 22 #define SI7006_READ_ID_LOW_0 0xFA 23 #define SI7006_READ_ID_LOW_1 0x0F 24 #define SI7006_READ_ID_HIGH_0 0xFC 25 #define SI7006_READ_ID_HIGH_1 0xC9 26 #define SI7006_READ_Firmware_Revision_0 0x84 27 #define SI7006_READ_Firmware_Revision_1 0xB8 28 29 extern void si7006_init(void); 30 extern uint8_t si7006_getVer(void); 31 extern void si7006_getID(uint8_t *id_buf); 32 extern bool si7006_getTemperature(float *temperature); 33 extern bool si7006_getHumidity(float *humidity); 34 extern void si7006_getTempHumidity(float *humidity, float *temperature); 35 extern void si7006_deinit(void); 36 #endif 37