From c3006581089e66801200b4392e2345399f2d93c8 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Mon, 15 Mar 2021 09:15:48 +0100 Subject: [PATCH] Adapt to v2 hardware Make all operations on v2 hardware and VEML6075 address no-ops --- src/MKRENV.cpp | 16 +++++++++++++--- src/MKRENV.h | 1 + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/MKRENV.cpp b/src/MKRENV.cpp index 4fda387..1d9c6d7 100644 --- a/src/MKRENV.cpp +++ b/src/MKRENV.cpp @@ -79,9 +79,7 @@ int ENVClass::begin() } if (i2cReadWord(VEML6075_ADDRESS, VEML6075_ID_REG) != 0x0026) { - end(); - - return 0; + _isv2 = true; } readHTS221Calibration(); @@ -236,6 +234,9 @@ float ENVClass::readUVIndex() int ENVClass::i2cRead(uint8_t address, uint8_t reg) { + if (_isv2 && address == VEML6075_ADDRESS) { + return 0; + } _wire->beginTransmission(address); _wire->write(reg); if (_wire->endTransmission(false) != 0) { @@ -251,6 +252,9 @@ int ENVClass::i2cRead(uint8_t address, uint8_t reg) int ENVClass::i2cWrite(uint8_t address, uint8_t reg, uint8_t val) { + if (_isv2 && address == VEML6075_ADDRESS) { + return 0; + } _wire->beginTransmission(address); _wire->write(reg); _wire->write(val); @@ -263,6 +267,9 @@ int ENVClass::i2cWrite(uint8_t address, uint8_t reg, uint8_t val) int ENVClass::i2cReadWord(uint8_t address, uint8_t reg) { + if (_isv2 && address == VEML6075_ADDRESS) { + return 0; + } _wire->beginTransmission(address); _wire->write(reg); if (_wire->endTransmission(false) != 0) { @@ -278,6 +285,9 @@ int ENVClass::i2cReadWord(uint8_t address, uint8_t reg) int ENVClass::i2cWriteWord(uint8_t address, uint8_t reg, uint16_t val) { + if (_isv2 && address == VEML6075_ADDRESS) { + return 1; + } _wire->beginTransmission(address); _wire->write(reg); _wire->write(val & 0xff); diff --git a/src/MKRENV.h b/src/MKRENV.h index 5446d11..27bb69f 100644 --- a/src/MKRENV.h +++ b/src/MKRENV.h @@ -67,6 +67,7 @@ class ENVClass { private: TwoWire* _wire; int _lightSensorPin; + bool _isv2 = false; float _hts221HumiditySlope; float _hts221HumidityZero;