basically what the title says, my current modification is to set the register address to "None" and change the _i2c_read / _i2c_write methods:
def _i2c_write(self, register, value, bit_width):
values = _int_to_bytes(value, bit_width // self._bit_width, 'big')
values = list(values)
if register is None:
self._i2c.write_byte(self._i2c_address, values[0])
else:
self._i2c.write_i2c_block_data(self._i2c_address, register, values)
def _i2c_read(self, register, bit_width):
value = 0
if register is None:
return self._i2c.read_byte(self._i2c_address)
else:
for x in self._i2c.read_i2c_block_data(self._i2c_address, register, bit_width // self._bit_width):
value <<= 8
value |= x
return value