def write(self, buf, **kwargs):
    '\n        Write the bytes from ``buffer`` to the device. Transmits a stop bit if\n        ``stop`` is set.\n\n        If ``start`` or ``end`` is provided, then the buffer will be sliced\n        as if ``buffer[start:end]``. This will not cause an allocation like\n        ``buffer[start:end]`` will so it saves memory.\n\n        :param bytearray buffer: buffer containing the bytes to write\n        :param int start: Index to start writing from\n        :param int end: Index to read up to but not include\n        :param bool stop: If true, output an I2C stop condition after the buffer is written\n        '
    self.i2c.writeto(self.device_address, buf, **kwargs)
Write the bytes from ``buffer`` to the device. Transmits a stop bit if
``stop`` is set.

If ``start`` or ``end`` is provided, then the buffer will be sliced
as if ``buffer[start:end]``. This will not cause an allocation like
``buffer[start:end]`` will so it saves memory.

:param bytearray buffer: buffer containing the bytes to write
:param int start: Index to start writing from
:param int end: Index to read up to but not include
:param bool stop: If true, output an I2C stop condition after the buffer is written
def write(self, buf, **kwargs):
    '\n        Write the bytes from ``buffer`` to the device. Transmits a stop bit if\n        ``stop`` is set.\n\n        If ``start`` or ``end`` is provided, then the buffer will be sliced\n        as if ``buffer[start:end]``. This will not cause an allocation like\n        ``buffer[start:end]`` will so it saves memory.\n\n        :param bytearray buffer: buffer containing the bytes to write\n        :param int start: Index to start writing from\n        :param int end: Index to read up to but not include\n        :param bool stop: If true, output an I2C stop condition after the buffer is written\n        '
    self.i2c.writeto(self.device_address, buf, **kwargs)