code: def read(self, block_address):
          
          buf = []
          buf.append(self.act_read)
          buf.append(block_address)
          crc = self.calculate_crc(buf)
          buf.append(crc[0])
          buf.append(crc[1])
          (error, back_data, back_length) = self.card_write(self.mode_transrec, buf)
  
          if len(back_data) != 16:
              error = True
  
          return (error, back_data)
docs: Reads data from block. You should be authenticated before calling read.
          Returns tuple of (error state, read data).