upm  1.7.1
Sensor/Actuator repository for libmraa (v2.0.0)
sht1x_defs.h
1 /*
2  * Author: Jon Trulson <jtrulson@ics.com>
3  * Copyright (c) 2016 Intel Corporation.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be
14  * included in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24 
25 #pragma once
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 
32  // SHT1X commands. The first 3 msb's are the address, which are
33  // always 0. The following 5 bits are the actual command.
34  typedef enum {
35  SHT1X_CMD_MEAS_TEMPERATURE = 0x03,
36  SHT1X_CMD_MEAS_HUMIDITY = 0x05,
37  SHT1X_CMD_WRITE_STATUS = 0x06,
38  SHT1X_CMD_READ_STATUS = 0x07,
39  SHT1X_CMD_SOFT_RESET = 0x1e
40  } SHT1X_CMD_T;
41 
42  // status register bits
43  typedef enum {
44  SHT1X_STATUS_RESOLUTION_LOW = 0x01, // 0=12b RH/14b temp (dflt)
45  SHT1X_STATUS_NO_RELOAD_FROM_OTP = 0x02,
46  SHT1X_STATUS_HEATER_EN = 0x04,
47 
48  // 0x08-0x20 reserved
49 
50  SHT1X_STATUS_LOW_VOLT = 0x40 // low battery
51 
52  // 0x80 reserved
53  } SHT1X_STATUS_BITS_T;
54 
55  // The Vdd voltage can affect the temperature coefficients, so we
56  // provide a way to indicate the closest voltage and set up the
57  // compensation accordingly.
58  typedef enum {
59  SHT1X_VOLTS_5 = 0, // 5 volts
60  SHT1X_VOLTS_4 = 1,
61  SHT1X_VOLTS_3_5 = 2, // 3.5v
62  SHT1X_VOLTS_3 = 3,
63  SHT1X_VOLTS_2_5 = 4
64  } SHT1X_VOLTS_T;
65 
66 #ifdef __cplusplus
67 }
68 #endif