docs: def read_i2c_block_data(self, address, register, length):
          """
          I2C block transactions do not limit the number of bytes transferred
          but the SMBus layer places a limit of 32 bytes.
  
          I2C Block Read:  i2c_smbus_read_i2c_block_data()
          ================================================
  
          This command reads a block of bytes from a device, from a
          designated register that is specified through the Comm byte.
  
          S Addr Wr [A] Comm [A]
                     S Addr Rd [A] [Data] A [Data] A ... A [Data] NA P
  
          Functionality flag: I2C_FUNC_SMBUS_READ_I2C_BLOCK
          """
          return self.smbus.read_i2c_block_data(address, register, length)