diff --git a/Adafruit_BusIO_Register.cpp b/Adafruit_BusIO_Register.cpp index 2c2b22e..259c76b 100644 --- a/Adafruit_BusIO_Register.cpp +++ b/Adafruit_BusIO_Register.cpp @@ -80,6 +80,10 @@ bool Adafruit_BusIO_Register::write(uint8_t *buffer, uint8_t len) { if (_spiregtype == ADDRBIT8_HIGH_TOREAD) { addrbuffer[0] &= ~0x80; } + if (_spiregtype == AD8_HIGH_TOREAD_AD7_HIGH_TOINC) { + addrbuffer[0] &= ~0x80; + addrbuffer[0] |= 0x40; + } return _spidevice->write( buffer, len, addrbuffer, _addrwidth); } return false; @@ -150,6 +154,9 @@ bool Adafruit_BusIO_Register::read(uint8_t *buffer, uint8_t len) { if (_spiregtype == ADDRBIT8_HIGH_TOREAD) { addrbuffer[0] |= 0x80; } + if (_spiregtype == AD8_HIGH_TOREAD_AD7_HIGH_TOINC) { + addrbuffer[0] |= 0x80 | 0x40; + } return _spidevice->write_then_read(addrbuffer, _addrwidth, buffer, len); } return false; diff --git a/Adafruit_BusIO_Register.h b/Adafruit_BusIO_Register.h index 45ae1e1..1509d6f 100644 --- a/Adafruit_BusIO_Register.h +++ b/Adafruit_BusIO_Register.h @@ -8,6 +8,7 @@ typedef enum _Adafruit_BusIO_SPIRegType { ADDRBIT8_HIGH_TOREAD = 0, + AD8_HIGH_TOREAD_AD7_HIGH_TOINC = 1, } Adafruit_BusIO_SPIRegType; /*! diff --git a/Adafruit_I2CDevice.cpp b/Adafruit_I2CDevice.cpp index 7813a6d..dfa1394 100644 --- a/Adafruit_I2CDevice.cpp +++ b/Adafruit_I2CDevice.cpp @@ -117,12 +117,12 @@ bool Adafruit_I2CDevice::write(uint8_t *buffer, size_t len, bool stop, uint8_t * #endif #ifdef DEBUG_SERIAL - DEBUG_SERIAL.print("Stop: "); DEBUG_SERIAL.println(stop); + //DEBUG_SERIAL.print("Stop: "); DEBUG_SERIAL.println(stop); #endif if (_wire->endTransmission(stop) == 0) { #ifdef DEBUG_SERIAL - DEBUG_SERIAL.println("Sent!"); + //DEBUG_SERIAL.println("Sent!"); #endif return true; } else {