docs: def create_from_response_pdu(resp_pdu, req_pdu):
          """ Create instance from response PDU.
  
          Response PDU is required together with the quantity of coils read.
  
          :param resp_pdu: Byte array with request PDU.
          :param quantity: Number of coils read.
          :return: Instance of :class:`ReadCoils`.
          """
          read_coils = ReadCoils()
          read_coils.quantity = struct.unpack('>H', req_pdu[-2:])[0]
          byte_count = struct.unpack('>B', resp_pdu[1:2])[0]
  
          fmt = '>' + ('B' * byte_count)
          bytes_ = struct.unpack(fmt, resp_pdu[2:])
  
          data = list()
  
          for i, value in enumerate(bytes_):
              padding = 8 if (read_coils.quantity - (8 * i)) // 8 > 0 \
                  else read_coils.quantity % 8
  
              fmt = '{{0:0{padding}b}}'.format(padding=padding)
  
              # Create binary representation of integer, convert it to a list
              # and reverse the list.
              data = data + [int(i) for i in fmt.format(value)][::-1]
  
          read_coils.data = data
          return read_coils