@@ -79,9 +79,7 @@ int ENVClass::begin()
79
79
}
80
80
81
81
if (i2cReadWord (VEML6075_ADDRESS, VEML6075_ID_REG) != 0x0026 ) {
82
- end ();
83
-
84
- return 0 ;
82
+ _isv2 = true ;
85
83
}
86
84
87
85
readHTS221Calibration ();
@@ -236,6 +234,9 @@ float ENVClass::readUVIndex()
236
234
237
235
int ENVClass::i2cRead (uint8_t address, uint8_t reg)
238
236
{
237
+ if (_isv2 && address == VEML6075_ADDRESS) {
238
+ return 0 ;
239
+ }
239
240
_wire->beginTransmission (address);
240
241
_wire->write (reg);
241
242
if (_wire->endTransmission (false ) != 0 ) {
@@ -251,6 +252,9 @@ int ENVClass::i2cRead(uint8_t address, uint8_t reg)
251
252
252
253
int ENVClass::i2cWrite (uint8_t address, uint8_t reg, uint8_t val)
253
254
{
255
+ if (_isv2 && address == VEML6075_ADDRESS) {
256
+ return 0 ;
257
+ }
254
258
_wire->beginTransmission (address);
255
259
_wire->write (reg);
256
260
_wire->write (val);
@@ -263,6 +267,9 @@ int ENVClass::i2cWrite(uint8_t address, uint8_t reg, uint8_t val)
263
267
264
268
int ENVClass::i2cReadWord (uint8_t address, uint8_t reg)
265
269
{
270
+ if (_isv2 && address == VEML6075_ADDRESS) {
271
+ return 0 ;
272
+ }
266
273
_wire->beginTransmission (address);
267
274
_wire->write (reg);
268
275
if (_wire->endTransmission (false ) != 0 ) {
@@ -278,6 +285,9 @@ int ENVClass::i2cReadWord(uint8_t address, uint8_t reg)
278
285
279
286
int ENVClass::i2cWriteWord (uint8_t address, uint8_t reg, uint16_t val)
280
287
{
288
+ if (_isv2 && address == VEML6075_ADDRESS) {
289
+ return 1 ;
290
+ }
281
291
_wire->beginTransmission (address);
282
292
_wire->write (reg);
283
293
_wire->write (val & 0xff );
0 commit comments