@@ -87,7 +87,7 @@ int ENVClass::begin()
87
87
readHTS221Calibration ();
88
88
89
89
// enable HTS221
90
- i2cWrite (HTS221_ADDRESS, HTS221_CTRL1_REG, 0x80 );
90
+ i2cWrite (HTS221_ADDRESS, HTS221_CTRL1_REG, 0x84 );
91
91
92
92
// configure VEML6075 for 100 ms
93
93
i2cWriteWord (VEML6075_ADDRESS, VEML6075_UV_CONF_REG, 0x0010 );
@@ -100,8 +100,6 @@ void ENVClass::end()
100
100
// shutdown VEML6075
101
101
i2cWriteWord (VEML6075_ADDRESS, VEML6075_UV_CONF_REG, 0x0001 );
102
102
103
- delay (80 );
104
-
105
103
// disable HTS221
106
104
i2cWrite (HTS221_ADDRESS, HTS221_CTRL1_REG, 0x00 );
107
105
@@ -117,7 +115,7 @@ float ENVClass::readTemperature(int units)
117
115
i2cWrite (HTS221_ADDRESS, HTS221_CTRL2_REG, 0x01 );
118
116
119
117
// wait for completion
120
- while ((i2cRead (HTS221_ADDRESS, HTS221_STATUS_REG) & 0x01 ) == 0 ) {
118
+ while ((i2cRead (HTS221_ADDRESS, HTS221_STATUS_REG) & 0x03 ) == 0 ) {
121
119
yield ();
122
120
}
123
121
@@ -137,14 +135,14 @@ float ENVClass::readHumidity()
137
135
i2cWrite (HTS221_ADDRESS, HTS221_CTRL2_REG, 0x01 );
138
136
139
137
// wait for completion
140
- while ((i2cRead (HTS221_ADDRESS, HTS221_STATUS_REG) & 0x02 ) == 0 ) {
138
+ while ((i2cRead (HTS221_ADDRESS, HTS221_STATUS_REG) & 0x03 ) == 0 ) {
141
139
yield ();
142
140
}
143
141
144
142
// read value and convert
145
143
int16_t hout = i2cRead16 (HTS221_ADDRESS, HTS221_HUMIDITY_OUT_L_REG);
146
-
147
- return (hout * _hts221HumiditySlope + _hts221HumidityZero) ;
144
+ float reading = hout * _hts221HumiditySlope + _hts221HumidityZero;
145
+ return reading ;
148
146
}
149
147
150
148
float ENVClass::readPressure (int units)
0 commit comments