mirror of
https://github.com/esphome/esphome.git
synced 2025-09-06 21:32:21 +01:00
[i2c] Fix bug write_register16 (#10547)
This commit is contained in:
@@ -47,9 +47,9 @@ ErrorCode I2CDevice::write_register(uint8_t a_register, const uint8_t *data, siz
|
|||||||
|
|
||||||
ErrorCode I2CDevice::write_register16(uint16_t a_register, const uint8_t *data, size_t len) const {
|
ErrorCode I2CDevice::write_register16(uint16_t a_register, const uint8_t *data, size_t len) const {
|
||||||
std::vector<uint8_t> v(len + 2);
|
std::vector<uint8_t> v(len + 2);
|
||||||
v.push_back(a_register >> 8);
|
v[0] = a_register >> 8;
|
||||||
v.push_back(a_register);
|
v[1] = a_register;
|
||||||
v.insert(v.end(), data, data + len);
|
std::copy(data, data + len, v.begin() + 2);
|
||||||
return bus_->write_readv(this->address_, v.data(), v.size(), nullptr, 0);
|
return bus_->write_readv(this->address_, v.data(), v.size(), nullptr, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user