Digital Humidity Sensor SHT2x (RH/T)
SHT2X.h@2:5893455b8c6c, 2018-09-04 (annotated)
- Committer:
- mcm
- Date:
- Tue Sep 04 11:07:22 2018 +0000
- Revision:
- 2:5893455b8c6c
- Parent:
- 1:9f1fcd1e4c9c
This driver was completed and tested ( NUCLEO-L152RE ), it works as expected.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mcm | 0:c4740c726844 | 1 | /** |
mcm | 0:c4740c726844 | 2 | * @brief SHT2X.h |
mcm | 0:c4740c726844 | 3 | * @details Humidity and Temperature Sensor IC. |
mcm | 0:c4740c726844 | 4 | * Header file. |
mcm | 0:c4740c726844 | 5 | * |
mcm | 0:c4740c726844 | 6 | * |
mcm | 0:c4740c726844 | 7 | * @return N/A |
mcm | 0:c4740c726844 | 8 | * |
mcm | 0:c4740c726844 | 9 | * @author Manuel Caballero |
mcm | 0:c4740c726844 | 10 | * @date 3/September/2018 |
mcm | 0:c4740c726844 | 11 | * @version 3/September/2018 The ORIGIN |
mcm | 0:c4740c726844 | 12 | * @pre N/A |
mcm | 0:c4740c726844 | 13 | * @warning N/A |
mcm | 0:c4740c726844 | 14 | * @pre This code belongs to Nimbus Centre ( http://www.nimbus.cit.ie ). |
mcm | 0:c4740c726844 | 15 | */ |
mcm | 0:c4740c726844 | 16 | #ifndef SHT2X_H_ |
mcm | 0:c4740c726844 | 17 | #define SHT2X_H_ |
mcm | 0:c4740c726844 | 18 | |
mcm | 0:c4740c726844 | 19 | #include "mbed.h" |
mcm | 0:c4740c726844 | 20 | |
mcm | 0:c4740c726844 | 21 | |
mcm | 0:c4740c726844 | 22 | /** |
mcm | 0:c4740c726844 | 23 | Example: |
mcm | 0:c4740c726844 | 24 | |
mcm | 0:c4740c726844 | 25 | @code |
mcm | 2:5893455b8c6c | 26 | #include "mbed.h" |
mcm | 2:5893455b8c6c | 27 | #include "SHT2X.h" |
mcm | 0:c4740c726844 | 28 | |
mcm | 2:5893455b8c6c | 29 | SHT2X mySHT2X ( I2C_SDA, I2C_SCL, SHT2X::SHT2X_ADDRESS, 400000 ); |
mcm | 2:5893455b8c6c | 30 | Serial pc ( USBTX, USBRX ); // tx, rx |
mcm | 2:5893455b8c6c | 31 | |
mcm | 2:5893455b8c6c | 32 | DigitalOut myled ( LED1 ); |
mcm | 2:5893455b8c6c | 33 | Ticker newAction; |
mcm | 2:5893455b8c6c | 34 | |
mcm | 2:5893455b8c6c | 35 | |
mcm | 2:5893455b8c6c | 36 | //@brief Constants. |
mcm | 2:5893455b8c6c | 37 | // |
mcm | 2:5893455b8c6c | 38 | #define TX_BUFF_SIZE 64 // UART buffer size |
mcm | 2:5893455b8c6c | 39 | |
mcm | 2:5893455b8c6c | 40 | |
mcm | 2:5893455b8c6c | 41 | //@brief Variables. |
mcm | 2:5893455b8c6c | 42 | // |
mcm | 2:5893455b8c6c | 43 | volatile uint32_t myState; // State that indicates when to perform an ADC sample |
mcm | 2:5893455b8c6c | 44 | |
mcm | 2:5893455b8c6c | 45 | |
mcm | 2:5893455b8c6c | 46 | // |
mcm | 2:5893455b8c6c | 47 | // @brief FUNCTION PROTOTYPES |
mcm | 2:5893455b8c6c | 48 | // |
mcm | 2:5893455b8c6c | 49 | void changeDATA ( void ); |
mcm | 2:5893455b8c6c | 50 | |
mcm | 2:5893455b8c6c | 51 | |
mcm | 2:5893455b8c6c | 52 | //@brief FUNCTION FOR APPLICATION MAIN ENTRY. |
mcm | 2:5893455b8c6c | 53 | // |
mcm | 2:5893455b8c6c | 54 | int main() |
mcm | 2:5893455b8c6c | 55 | { |
mcm | 2:5893455b8c6c | 56 | char myBatteryMessage[5] = ""; |
mcm | 2:5893455b8c6c | 57 | uint32_t aux; |
mcm | 2:5893455b8c6c | 58 | SHT2X::SHT2X_vector_data_t mySHT2X_Data; |
mcm | 2:5893455b8c6c | 59 | |
mcm | 2:5893455b8c6c | 60 | pc.baud ( 115200 ); |
mcm | 2:5893455b8c6c | 61 | |
mcm | 2:5893455b8c6c | 62 | |
mcm | 2:5893455b8c6c | 63 | myled = 1; |
mcm | 2:5893455b8c6c | 64 | wait(3); |
mcm | 2:5893455b8c6c | 65 | myled = 0; |
mcm | 2:5893455b8c6c | 66 | |
mcm | 2:5893455b8c6c | 67 | // Perform a software reset |
mcm | 2:5893455b8c6c | 68 | aux = mySHT2X.SHT2X_SoftReset (); |
mcm | 2:5893455b8c6c | 69 | wait_ms ( 15 ); |
mcm | 2:5893455b8c6c | 70 | |
mcm | 2:5893455b8c6c | 71 | // Configure the device: Resolution Temperature: 14-bit and Humidity: 12-bit, Heater is disabled |
mcm | 2:5893455b8c6c | 72 | aux = mySHT2X.SHT2X_Conf ( SHT2X::USER_REGISTER_RESOLUTION_12RH_14TEMP, SHT2X::USER_REGISTER_HEATER_DISABLED ); |
mcm | 2:5893455b8c6c | 73 | |
mcm | 2:5893455b8c6c | 74 | // Get the serial number |
mcm | 2:5893455b8c6c | 75 | aux = mySHT2X.SHT2X_GetSerialNumber ( &mySHT2X_Data ); |
mcm | 2:5893455b8c6c | 76 | |
mcm | 2:5893455b8c6c | 77 | // Transmit result through the UART |
mcm | 2:5893455b8c6c | 78 | pc.printf( "ID: %ld\r\n", mySHT2X_Data.SerialNumber ); |
mcm | 2:5893455b8c6c | 79 | |
mcm | 2:5893455b8c6c | 80 | myState = 0UL; // Reset the variable |
mcm | 2:5893455b8c6c | 81 | newAction.attach( &changeDATA, 0.5f ); // the address of the function to be attached ( changeDATA ) and the interval ( 0.5s ) |
mcm | 2:5893455b8c6c | 82 | |
mcm | 2:5893455b8c6c | 83 | // Let the callbacks take care of everything |
mcm | 2:5893455b8c6c | 84 | while(1) { |
mcm | 2:5893455b8c6c | 85 | sleep(); |
mcm | 2:5893455b8c6c | 86 | |
mcm | 2:5893455b8c6c | 87 | switch ( myState ) { |
mcm | 2:5893455b8c6c | 88 | default: |
mcm | 2:5893455b8c6c | 89 | case 1: |
mcm | 2:5893455b8c6c | 90 | myled = 1; |
mcm | 2:5893455b8c6c | 91 | |
mcm | 2:5893455b8c6c | 92 | // Trigger a new temperature measurement |
mcm | 2:5893455b8c6c | 93 | aux = mySHT2X.SHT2X_TriggerTemperature ( SHT2X::SHT2X_NO_HOLD_MASTER_MODE ); |
mcm | 2:5893455b8c6c | 94 | break; |
mcm | 2:5893455b8c6c | 95 | |
mcm | 2:5893455b8c6c | 96 | case 2: |
mcm | 2:5893455b8c6c | 97 | // Get the temperature |
mcm | 2:5893455b8c6c | 98 | aux = mySHT2X.SHT2X_ReadTemperature ( &mySHT2X_Data ); |
mcm | 2:5893455b8c6c | 99 | |
mcm | 2:5893455b8c6c | 100 | // Trigger a new relative humidity measurement |
mcm | 2:5893455b8c6c | 101 | aux = mySHT2X.SHT2X_TriggerHumidity ( SHT2X::SHT2X_NO_HOLD_MASTER_MODE ); |
mcm | 2:5893455b8c6c | 102 | break; |
mcm | 2:5893455b8c6c | 103 | |
mcm | 2:5893455b8c6c | 104 | case 3: |
mcm | 2:5893455b8c6c | 105 | // Get the relative humidity |
mcm | 2:5893455b8c6c | 106 | aux = mySHT2X.SHT2X_ReadHumidity ( &mySHT2X_Data ); |
mcm | 2:5893455b8c6c | 107 | |
mcm | 2:5893455b8c6c | 108 | // Get the battery status |
mcm | 2:5893455b8c6c | 109 | aux = mySHT2X.SHT2X_BatteryStatus ( &mySHT2X_Data ); |
mcm | 2:5893455b8c6c | 110 | |
mcm | 2:5893455b8c6c | 111 | // Prepare the message for the battery status |
mcm | 2:5893455b8c6c | 112 | if ( ( mySHT2X_Data.BatteryStatus & SHT2X::USER_REGISTER_STATUS_END_BATTERY_MASK ) == SHT2X::USER_REGISTER_STATUS_END_BATTERY_HIGH_2V25 ) { |
mcm | 2:5893455b8c6c | 113 | strcpy( myBatteryMessage, "GOOD" ); |
mcm | 2:5893455b8c6c | 114 | } else { |
mcm | 2:5893455b8c6c | 115 | strcpy( myBatteryMessage, "BAD" ); |
mcm | 2:5893455b8c6c | 116 | } |
mcm | 2:5893455b8c6c | 117 | |
mcm | 2:5893455b8c6c | 118 | // Transmit result through the UART |
mcm | 2:5893455b8c6c | 119 | pc.printf ( "Temperature: %0.2f C | RH: %0.2f | Battery: %s\r\n", mySHT2X_Data.Temperature, mySHT2X_Data.RelativeHumidity, myBatteryMessage ); |
mcm | 2:5893455b8c6c | 120 | |
mcm | 2:5893455b8c6c | 121 | |
mcm | 2:5893455b8c6c | 122 | // Reset the variables |
mcm | 2:5893455b8c6c | 123 | myState = 0UL; |
mcm | 2:5893455b8c6c | 124 | myled = 0; |
mcm | 2:5893455b8c6c | 125 | break; |
mcm | 2:5893455b8c6c | 126 | } |
mcm | 2:5893455b8c6c | 127 | } |
mcm | 2:5893455b8c6c | 128 | } |
mcm | 2:5893455b8c6c | 129 | |
mcm | 2:5893455b8c6c | 130 | |
mcm | 2:5893455b8c6c | 131 | // @brief changeDATA ( void ) |
mcm | 2:5893455b8c6c | 132 | // |
mcm | 2:5893455b8c6c | 133 | // @details It changes myState variable |
mcm | 2:5893455b8c6c | 134 | // |
mcm | 2:5893455b8c6c | 135 | // @param[in] N/A |
mcm | 2:5893455b8c6c | 136 | // |
mcm | 2:5893455b8c6c | 137 | // @param[out] N/A. |
mcm | 2:5893455b8c6c | 138 | // |
mcm | 2:5893455b8c6c | 139 | // |
mcm | 2:5893455b8c6c | 140 | // @return N/A.. |
mcm | 2:5893455b8c6c | 141 | // |
mcm | 2:5893455b8c6c | 142 | // |
mcm | 2:5893455b8c6c | 143 | // @author Manuel Caballero |
mcm | 2:5893455b8c6c | 144 | // @date 3/September/2018 |
mcm | 2:5893455b8c6c | 145 | // @version 3/September/2018 The ORIGIN |
mcm | 2:5893455b8c6c | 146 | // @pre N/A |
mcm | 2:5893455b8c6c | 147 | // @warning N/A. |
mcm | 2:5893455b8c6c | 148 | void changeDATA ( void ) |
mcm | 2:5893455b8c6c | 149 | { |
mcm | 2:5893455b8c6c | 150 | myState++; |
mcm | 2:5893455b8c6c | 151 | } |
mcm | 0:c4740c726844 | 152 | @endcode |
mcm | 0:c4740c726844 | 153 | */ |
mcm | 0:c4740c726844 | 154 | |
mcm | 0:c4740c726844 | 155 | |
mcm | 0:c4740c726844 | 156 | /*! |
mcm | 0:c4740c726844 | 157 | Library for the SHT2X Humidity and Temperature Sensor IC. |
mcm | 0:c4740c726844 | 158 | */ |
mcm | 0:c4740c726844 | 159 | class SHT2X |
mcm | 0:c4740c726844 | 160 | { |
mcm | 0:c4740c726844 | 161 | public: |
mcm | 0:c4740c726844 | 162 | /** |
mcm | 0:c4740c726844 | 163 | * @brief DEFAULT ADDRESS |
mcm | 0:c4740c726844 | 164 | */ |
mcm | 0:c4740c726844 | 165 | typedef enum { |
mcm | 1:9f1fcd1e4c9c | 166 | SHT2X_ADDRESS = ( 0b1000000 << 1U ) /*!< SHT2X I2C Address */ |
mcm | 0:c4740c726844 | 167 | } SHT2X_address_t; |
mcm | 0:c4740c726844 | 168 | |
mcm | 0:c4740c726844 | 169 | |
mcm | 0:c4740c726844 | 170 | |
mcm | 0:c4740c726844 | 171 | /** |
mcm | 0:c4740c726844 | 172 | * @brief COMMAND REGISTERS |
mcm | 0:c4740c726844 | 173 | */ |
mcm | 0:c4740c726844 | 174 | typedef enum { |
mcm | 0:c4740c726844 | 175 | SHT2X_TRIGGER_TEMPERATURE_MEASUREMENT_HOLD_MASTER = 0xE3, /*!< Hold master */ |
mcm | 0:c4740c726844 | 176 | SHT2X_TRIGGER_HUMIDITY_MEASUREMENT_HOLD_MASTER = 0xE5, /*!< Hold master */ |
mcm | 0:c4740c726844 | 177 | SHT2X_TRIGGER_TEMPERATURE_MEASUREMENT_NO_HOLD_MASTER = 0xF3, /*!< No Hold master */ |
mcm | 0:c4740c726844 | 178 | SHT2X_TRIGGER_HUMIDITY_MEASUREMENT_NO_HOLD_MASTER = 0xF5, /*!< No Hold master */ |
mcm | 0:c4740c726844 | 179 | SHT2X_WRITE_USER_REGISTER = 0xE6, /*!< Write user register */ |
mcm | 0:c4740c726844 | 180 | SHT2X_READ_USER_REGISTER = 0xE7, /*!< Read user register */ |
mcm | 0:c4740c726844 | 181 | SHT2X_SOFT_RESET = 0xFE, /*!< Software reset */ |
mcm | 0:c4740c726844 | 182 | SHT2X_SERIAL_NUMBER_FIRST_MEMORY_ACCESS_MSB = 0xFA, /*!< Serial number first memory access */ |
mcm | 0:c4740c726844 | 183 | SHT2X_SERIAL_NUMBER_FIRST_MEMORY_ACCESS_LSB = 0x0F, /*!< Serial number first memory access */ |
mcm | 0:c4740c726844 | 184 | SHT2X_SERIAL_NUMBER_SECOND_MEMORY_ACCESS_MSB = 0xFC, /*!< Serial number second memory access */ |
mcm | 0:c4740c726844 | 185 | SHT2X_SERIAL_NUMBER_SECOND_MEMORY_ACCESS_LSB = 0xC9 /*!< Serial number second memory access */ |
mcm | 0:c4740c726844 | 186 | } SHT2X_command_registers_t; |
mcm | 0:c4740c726844 | 187 | |
mcm | 0:c4740c726844 | 188 | |
mcm | 0:c4740c726844 | 189 | |
mcm | 0:c4740c726844 | 190 | // MASTER MODE |
mcm | 0:c4740c726844 | 191 | /** |
mcm | 0:c4740c726844 | 192 | * @brief MODE |
mcm | 0:c4740c726844 | 193 | */ |
mcm | 0:c4740c726844 | 194 | typedef enum { |
mcm | 0:c4740c726844 | 195 | SHT2X_HOLD_MASTER_MODE = 0x01, /*!< SHT2X HOLD MASTER MODE enabled */ |
mcm | 0:c4740c726844 | 196 | SHT2X_NO_HOLD_MASTER_MODE = 0x00 /*!< SHT2X NO HOLD MASTER MODE enabled */ |
mcm | 0:c4740c726844 | 197 | } SHT2X_master_mode_t; |
mcm | 0:c4740c726844 | 198 | |
mcm | 0:c4740c726844 | 199 | |
mcm | 0:c4740c726844 | 200 | |
mcm | 0:c4740c726844 | 201 | // USER REGISTER |
mcm | 0:c4740c726844 | 202 | /* |
mcm | 0:c4740c726844 | 203 | NOTE: Reserved bits must not be changed and default |
mcm | 0:c4740c726844 | 204 | values of respective reserved bits may change over time without prior notice. Therefore, for any writing to user |
mcm | 0:c4740c726844 | 205 | register, default values of reserved bits must be read first. |
mcm | 0:c4740c726844 | 206 | */ |
mcm | 0:c4740c726844 | 207 | /** |
mcm | 0:c4740c726844 | 208 | * @brief RESOLUTION |
mcm | 0:c4740c726844 | 209 | */ |
mcm | 0:c4740c726844 | 210 | typedef enum { |
mcm | 0:c4740c726844 | 211 | USER_REGISTER_RESOLUTION_MASK = 0x81, /*!< SHT2X Measurement Resolution */ |
mcm | 0:c4740c726844 | 212 | USER_REGISTER_RESOLUTION_12RH_14TEMP = 0x00, /*!< SHT2X 12b RH 14b Temp. */ |
mcm | 0:c4740c726844 | 213 | USER_REGISTER_RESOLUTION_8RH_12TEMP = 0x01, /*!< SHT2X 9b RH 12b Temp. */ |
mcm | 0:c4740c726844 | 214 | USER_REGISTER_RESOLUTION_10RH_13TEMP = 0x80, /*!< SHT2X 10b RH 13b Temp. */ |
mcm | 0:c4740c726844 | 215 | USER_REGISTER_RESOLUTION_11RH_11TEMP = 0x81 /*!< SHT2X 11b RH 11b Temp. */ |
mcm | 0:c4740c726844 | 216 | } SHT2X_measurement_resolution_t; |
mcm | 0:c4740c726844 | 217 | |
mcm | 0:c4740c726844 | 218 | |
mcm | 0:c4740c726844 | 219 | |
mcm | 0:c4740c726844 | 220 | /** |
mcm | 0:c4740c726844 | 221 | * @brief STATUS END OF BATTERY |
mcm | 0:c4740c726844 | 222 | */ |
mcm | 0:c4740c726844 | 223 | typedef enum { |
mcm | 0:c4740c726844 | 224 | USER_REGISTER_STATUS_END_BATTERY_MASK = 0x40, /*!< End battery mask */ |
mcm | 0:c4740c726844 | 225 | USER_REGISTER_STATUS_END_BATTERY_HIGH_2V25 = 0x00, /*!< VDD > 2.25V. */ |
mcm | 0:c4740c726844 | 226 | USER_REGISTER_STATUS_END_BATTERY_LOW_2V25 = 0x40 /*!< VDD < 2.25V. */ |
mcm | 0:c4740c726844 | 227 | } SHT2X_status_end_battery_t; |
mcm | 0:c4740c726844 | 228 | |
mcm | 0:c4740c726844 | 229 | |
mcm | 0:c4740c726844 | 230 | |
mcm | 0:c4740c726844 | 231 | /** |
mcm | 0:c4740c726844 | 232 | * @brief ON-CHIP HEATER |
mcm | 0:c4740c726844 | 233 | */ |
mcm | 0:c4740c726844 | 234 | typedef enum { |
mcm | 0:c4740c726844 | 235 | USER_REGISTER_HEATER_MASK = 0x04, /*!< ON-chip heater mask */ |
mcm | 0:c4740c726844 | 236 | USER_REGISTER_HEATER_ENABLED = 0x04, /*!< Heater enabled. */ |
mcm | 0:c4740c726844 | 237 | USER_REGISTER_HEATER_DISABLED = 0x00 /*!< Heater disabled. */ |
mcm | 0:c4740c726844 | 238 | } SHT2X_on_chip_heater_t; |
mcm | 0:c4740c726844 | 239 | |
mcm | 0:c4740c726844 | 240 | |
mcm | 0:c4740c726844 | 241 | |
mcm | 0:c4740c726844 | 242 | /** |
mcm | 0:c4740c726844 | 243 | * @brief OTP RELOAD |
mcm | 0:c4740c726844 | 244 | */ |
mcm | 0:c4740c726844 | 245 | typedef enum { |
mcm | 0:c4740c726844 | 246 | USER_REGISTER_OTP_MASK = 0x02, /*!< OTP heater mask */ |
mcm | 0:c4740c726844 | 247 | USER_REGISTER_OTP_ENABLED = 0x00, /*!< OTP enabled. */ |
mcm | 0:c4740c726844 | 248 | USER_REGISTER_OTP_DISABLED = 0x02 /*!< OTP disabled. */ |
mcm | 0:c4740c726844 | 249 | } SHT2X_otp_t; |
mcm | 0:c4740c726844 | 250 | |
mcm | 0:c4740c726844 | 251 | |
mcm | 0:c4740c726844 | 252 | |
mcm | 0:c4740c726844 | 253 | #ifndef SHT2X_VECTOR_STRUCT_H |
mcm | 0:c4740c726844 | 254 | #define SHT2X_VECTOR_STRUCT_H |
mcm | 0:c4740c726844 | 255 | typedef struct { |
mcm | 0:c4740c726844 | 256 | float RelativeHumidity; |
mcm | 0:c4740c726844 | 257 | float Temperature; |
mcm | 0:c4740c726844 | 258 | |
mcm | 0:c4740c726844 | 259 | uint16_t RawRelativeHumidity; |
mcm | 0:c4740c726844 | 260 | uint16_t RawTemperature; |
mcm | 0:c4740c726844 | 261 | |
mcm | 0:c4740c726844 | 262 | uint8_t BatteryStatus; |
mcm | 0:c4740c726844 | 263 | uint64_t SerialNumber; |
mcm | 0:c4740c726844 | 264 | } SHT2X_vector_data_t; |
mcm | 0:c4740c726844 | 265 | #endif |
mcm | 0:c4740c726844 | 266 | |
mcm | 0:c4740c726844 | 267 | |
mcm | 0:c4740c726844 | 268 | /** |
mcm | 0:c4740c726844 | 269 | * @brief INTERNAL CONSTANTS |
mcm | 0:c4740c726844 | 270 | */ |
mcm | 0:c4740c726844 | 271 | typedef enum { |
mcm | 0:c4740c726844 | 272 | SHT2X_SUCCESS = 0, |
mcm | 0:c4740c726844 | 273 | SHT2X_FAILURE = 1, |
mcm | 0:c4740c726844 | 274 | I2C_SUCCESS = 0 /*!< I2C communication was fine */ |
mcm | 0:c4740c726844 | 275 | } SHT2X_status_t; |
mcm | 0:c4740c726844 | 276 | |
mcm | 0:c4740c726844 | 277 | |
mcm | 0:c4740c726844 | 278 | |
mcm | 0:c4740c726844 | 279 | |
mcm | 0:c4740c726844 | 280 | /** Create an SHT2X object connected to the specified I2C pins. |
mcm | 0:c4740c726844 | 281 | * |
mcm | 0:c4740c726844 | 282 | * @param sda I2C data pin |
mcm | 0:c4740c726844 | 283 | * @param scl I2C clock pin |
mcm | 0:c4740c726844 | 284 | * @param addr I2C slave address |
mcm | 0:c4740c726844 | 285 | * @param freq I2C frequency in Hz. |
mcm | 0:c4740c726844 | 286 | */ |
mcm | 0:c4740c726844 | 287 | SHT2X ( PinName sda, PinName scl, uint32_t addr, uint32_t freq ); |
mcm | 0:c4740c726844 | 288 | |
mcm | 0:c4740c726844 | 289 | /** Delete SHT2X object. |
mcm | 0:c4740c726844 | 290 | */ |
mcm | 0:c4740c726844 | 291 | ~SHT2X(); |
mcm | 0:c4740c726844 | 292 | |
mcm | 0:c4740c726844 | 293 | /** It configures the SHT2X device. |
mcm | 0:c4740c726844 | 294 | */ |
mcm | 0:c4740c726844 | 295 | SHT2X_status_t SHT2X_Conf ( SHT2X_measurement_resolution_t myResolution, SHT2X_on_chip_heater_t myHeater ); |
mcm | 0:c4740c726844 | 296 | |
mcm | 0:c4740c726844 | 297 | /** Rebooting the SHT2X sensor switching the power off and on again. |
mcm | 0:c4740c726844 | 298 | */ |
mcm | 0:c4740c726844 | 299 | SHT2X_status_t SHT2X_SoftReset ( void ); |
mcm | 0:c4740c726844 | 300 | |
mcm | 0:c4740c726844 | 301 | /** It triggers a new temperature measurement. |
mcm | 0:c4740c726844 | 302 | */ |
mcm | 0:c4740c726844 | 303 | SHT2X_status_t SHT2X_TriggerTemperature ( SHT2X_master_mode_t myMode ); |
mcm | 0:c4740c726844 | 304 | |
mcm | 0:c4740c726844 | 305 | /** It reads a new temperature measurement. |
mcm | 0:c4740c726844 | 306 | */ |
mcm | 0:c4740c726844 | 307 | SHT2X_status_t SHT2X_ReadTemperature ( SHT2X_vector_data_t* myTemperature ); |
mcm | 0:c4740c726844 | 308 | |
mcm | 0:c4740c726844 | 309 | /** It reads a new raw temperature measurement. |
mcm | 0:c4740c726844 | 310 | */ |
mcm | 0:c4740c726844 | 311 | SHT2X_status_t SHT2X_ReadRawTemperature ( SHT2X_vector_data_t* myRawTemperature ); |
mcm | 0:c4740c726844 | 312 | |
mcm | 0:c4740c726844 | 313 | /** It triggers a new humidity measurement. |
mcm | 0:c4740c726844 | 314 | */ |
mcm | 0:c4740c726844 | 315 | SHT2X_status_t SHT2X_TriggerHumidity ( SHT2X_master_mode_t myMode ); |
mcm | 0:c4740c726844 | 316 | |
mcm | 0:c4740c726844 | 317 | /** It reads a new humidity measurement. |
mcm | 0:c4740c726844 | 318 | */ |
mcm | 0:c4740c726844 | 319 | SHT2X_status_t SHT2X_ReadHumidity ( SHT2X_vector_data_t* myHumidity ); |
mcm | 0:c4740c726844 | 320 | |
mcm | 0:c4740c726844 | 321 | /** It reads a new raw humidity measurement. |
mcm | 0:c4740c726844 | 322 | */ |
mcm | 0:c4740c726844 | 323 | SHT2X_status_t SHT2X_ReadRawHumidity ( SHT2X_vector_data_t* myRawHumidity ); |
mcm | 0:c4740c726844 | 324 | |
mcm | 0:c4740c726844 | 325 | /** It reads the user register to check the battery status. |
mcm | 0:c4740c726844 | 326 | */ |
mcm | 0:c4740c726844 | 327 | SHT2X_status_t SHT2X_BatteryStatus ( SHT2X_vector_data_t* myBattStatus ); |
mcm | 0:c4740c726844 | 328 | |
mcm | 0:c4740c726844 | 329 | /** It gets the serial number ( Electronic Identification Code ). |
mcm | 0:c4740c726844 | 330 | */ |
mcm | 0:c4740c726844 | 331 | SHT2X_status_t SHT2X_GetSerialNumber ( SHT2X_vector_data_t* mySerialNumber ); |
mcm | 0:c4740c726844 | 332 | |
mcm | 0:c4740c726844 | 333 | private: |
mcm | 1:9f1fcd1e4c9c | 334 | I2C _i2c; |
mcm | 1:9f1fcd1e4c9c | 335 | uint32_t _SHT2X_Addr; |
mcm | 0:c4740c726844 | 336 | }; |
mcm | 0:c4740c726844 | 337 | |
mcm | 0:c4740c726844 | 338 | #endif /* SHT2X_H */ |