8 static const char *
const TAG =
"i2c";
19 ErrorCode const err = this->
write(reinterpret_cast<const uint8_t *>(&a_register), 2, stop);
27 buffers[0].
data = &a_register;
29 buffers[1].
data = data;
37 buffers[0].
data =
reinterpret_cast<const uint8_t *
>(&a_register);
39 buffers[1].
data = data;
47 for (
size_t i = 0; i <
len; i++)
54 std::unique_ptr<uint16_t[]> temp{
new uint16_t[
len]};
55 for (
size_t i = 0; i <
len; i++)
61 this->parent_->write_register(this->register_, &value, 1);
66 this->parent_->write_register(this->register_, &value, 1);
71 this->parent_->write_register(this->register_, &value, 1);
77 this->parent_->read_register(this->register_, &value, 1);
82 this->parent_->write_register16(this->register_, &value, 1);
87 this->parent_->write_register16(this->register_, &value, 1);
92 this->parent_->write_register16(this->register_, &value, 1);
98 this->parent_->read_register16(this->register_, &value, 1);
uint16_t i2ctohs(uint16_t i2cshort)
ErrorCode read_register(uint8_t a_register, uint8_t *data, size_t len, bool stop=true)
bool write_bytes_16(uint8_t a_register, const uint16_t *data, uint8_t len)
uint16_t htoi2cs(uint16_t hostshort)
I2CRegister & operator|=(uint8_t value)
virtual ErrorCode writev(uint8_t address, WriteBuffer *buffers, size_t cnt)
constexpr14 T convert_big_endian(T val)
Convert a value between host byte order and big endian (most significant byte first) order...
ErrorCode write(const uint8_t *data, uint8_t len, bool stop=true)
ErrorCode write_register16(uint16_t a_register, const uint8_t *data, size_t len, bool stop=true)
virtual ErrorCode read(uint8_t address, uint8_t *buffer, size_t len)
I2CRegister16 & operator=(uint8_t value)
I2CRegister16 & operator &=(uint8_t value)
I2CRegister16 & operator|=(uint8_t value)
Implementation of SPI Controller mode.
ErrorCode write_register(uint8_t a_register, const uint8_t *data, size_t len, bool stop=true)
I2CRegister & operator &=(uint8_t value)
ErrorCode read_register16(uint16_t a_register, uint8_t *data, size_t len, bool stop=true)
I2CRegister & operator=(uint8_t value)
bool read_bytes_16(uint8_t a_register, uint16_t *data, uint8_t len)