def data(self, data):
        """
        Sends a data byte or sequence of data bytes to the I²C address.
        If the bus is in managed mode backed by smbus2, the i2c_rdwr
        method will be used to avoid having to send in chunks.
        For SMBus devices the maximum allowed in one transaction is
        32 bytes, so if data is larger than this, it is sent in chunks.

        :param data: A data sequence.
        :type data: list, bytearray
        """
        if self._managed:
            self._bus.i2c_rdwr(self._i2c_msg_write(self._addr, [self._data_mode] + data))
        else:
            i = 0
            n = len(data)
            write = self._bus.write_i2c_block_data
            while i < n:
                write(self._addr, self._data_mode, list(data[i:i + 32]))
                i += 32
Sends a data byte or sequence of data bytes to the I²C address.
        If the bus is in managed mode backed by smbus2, the i2c_rdwr
        method will be used to avoid having to send in chunks.
        For SMBus devices the maximum allowed in one transaction is
        32 bytes, so if data is larger than this, it is sent in chunks.

        :param data: A data sequence.
        :type data: list, bytearray