code: def data(self, data):
          
          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
docs: 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