add setWidth(), setAddress(), setAddressWidth()

This commit is contained in:
hathach 2021-06-09 15:59:48 +07:00
parent 13bd6906a6
commit 6f7ce9f3ee
2 changed files with 24 additions and 0 deletions

View File

@ -310,3 +310,22 @@ bool Adafruit_BusIO_RegisterBits::write(uint32_t data) {
* @returns The data width used when initializing the register * @returns The data width used when initializing the register
*/ */
uint8_t Adafruit_BusIO_Register::width(void) { return _width; } uint8_t Adafruit_BusIO_Register::width(void) { return _width; }
/*!
* @brief Set the width of the register data
*/
void Adafruit_BusIO_Register::setWidth(uint8_t width) { _width = width; }
/*!
* @brief Set register address
*/
void Adafruit_BusIO_Register::setAddress(uint16_t address) {
_address = address;
}
/*!
* @brief Set the width of register address
*/
void Adafruit_BusIO_Register::setAddressWidth(uint16_t adress_width) {
_addrwidth = adress_width;
}

View File

@ -33,6 +33,7 @@ public:
Adafruit_BusIO_Register(Adafruit_I2CDevice *i2cdevice, uint16_t reg_addr, Adafruit_BusIO_Register(Adafruit_I2CDevice *i2cdevice, uint16_t reg_addr,
uint8_t width = 1, uint8_t byteorder = LSBFIRST, uint8_t width = 1, uint8_t byteorder = LSBFIRST,
uint8_t address_width = 1); uint8_t address_width = 1);
Adafruit_BusIO_Register(Adafruit_SPIDevice *spidevice, uint16_t reg_addr, Adafruit_BusIO_Register(Adafruit_SPIDevice *spidevice, uint16_t reg_addr,
Adafruit_BusIO_SPIRegType type, uint8_t width = 1, Adafruit_BusIO_SPIRegType type, uint8_t width = 1,
uint8_t byteorder = LSBFIRST, uint8_t byteorder = LSBFIRST,
@ -54,6 +55,10 @@ public:
uint8_t width(void); uint8_t width(void);
void setWidth(uint8_t width);
void setAddress(uint16_t address);
void setAddressWidth(uint16_t adress_width);
void print(Stream *s = &Serial); void print(Stream *s = &Serial);
void println(Stream *s = &Serial); void println(Stream *s = &Serial);