@@ -79,9 +79,7 @@ int ENVClass::begin()
7979 }
8080
8181 if (i2cReadWord (VEML6075_ADDRESS, VEML6075_ID_REG) != 0x0026 ) {
82- end ();
83-
84- return 0 ;
82+ _isv2 = true ;
8583 }
8684
8785 readHTS221Calibration ();
@@ -236,6 +234,9 @@ float ENVClass::readUVIndex()
236234
237235int ENVClass::i2cRead (uint8_t address, uint8_t reg)
238236{
237+ if (_isv2 && address == VEML6075_ADDRESS) {
238+ return 0 ;
239+ }
239240 _wire->beginTransmission (address);
240241 _wire->write (reg);
241242 if (_wire->endTransmission (false ) != 0 ) {
@@ -251,6 +252,9 @@ int ENVClass::i2cRead(uint8_t address, uint8_t reg)
251252
252253int ENVClass::i2cWrite (uint8_t address, uint8_t reg, uint8_t val)
253254{
255+ if (_isv2 && address == VEML6075_ADDRESS) {
256+ return 0 ;
257+ }
254258 _wire->beginTransmission (address);
255259 _wire->write (reg);
256260 _wire->write (val);
@@ -263,6 +267,9 @@ int ENVClass::i2cWrite(uint8_t address, uint8_t reg, uint8_t val)
263267
264268int ENVClass::i2cReadWord (uint8_t address, uint8_t reg)
265269{
270+ if (_isv2 && address == VEML6075_ADDRESS) {
271+ return 0 ;
272+ }
266273 _wire->beginTransmission (address);
267274 _wire->write (reg);
268275 if (_wire->endTransmission (false ) != 0 ) {
@@ -278,6 +285,9 @@ int ENVClass::i2cReadWord(uint8_t address, uint8_t reg)
278285
279286int ENVClass::i2cWriteWord (uint8_t address, uint8_t reg, uint16_t val)
280287{
288+ if (_isv2 && address == VEML6075_ADDRESS) {
289+ return 1 ;
290+ }
281291 _wire->beginTransmission (address);
282292 _wire->write (reg);
283293 _wire->write (val & 0xff );
0 commit comments