diff --git a/Adafruit_BusIO_Register.cpp b/Adafruit_BusIO_Register.cpp index 33d98bd..127bf5a 100644 --- a/Adafruit_BusIO_Register.cpp +++ b/Adafruit_BusIO_Register.cpp @@ -104,6 +104,9 @@ bool Adafruit_BusIO_Register::write(uint8_t *buffer, uint8_t len) { if (_spiregtype == ADDRBIT8_HIGH_TOREAD) { addrbuffer[0] &= ~0x80; } + if (_spiregtype == ADDRBIT8_HIGH_TOWRITE) { + addrbuffer[0] |= 0x80; + } if (_spiregtype == AD8_HIGH_TOREAD_AD7_HIGH_TOINC) { addrbuffer[0] &= ~0x80; addrbuffer[0] |= 0x40; @@ -181,6 +184,9 @@ bool Adafruit_BusIO_Register::read(uint8_t *buffer, uint8_t len) { if (_spiregtype == ADDRBIT8_HIGH_TOREAD) { addrbuffer[0] |= 0x80; } + if (_spiregtype == ADDRBIT8_HIGH_TOWRITE) { + addrbuffer[0] &= ~0x80; + } if (_spiregtype == AD8_HIGH_TOREAD_AD7_HIGH_TOINC) { addrbuffer[0] |= 0x80 | 0x40; } diff --git a/Adafruit_BusIO_Register.h b/Adafruit_BusIO_Register.h index 72ac780..c76944b 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, + ADDRBIT8_HIGH_TOWRITE = 2, } Adafruit_BusIO_SPIRegType; /*!