Esempio n. 1
0
 def M1_read_block(self, block_number):
     '''
     @brief: Mifare read block data.
     @param block_number: block number.
     @return: error_code, 0 if succeeded; block_data
     '''
     command_tlv = MifareCommandTLV(COMMAND_TAG_READ_BLOCK)
     command_tlv.set_block_number(block_number)
     command_tlv.set_rw_len(0x10)
     command = command_tlv.serialize()
     response = self.__interface.transmit_sc_command(command)
     response_tlv = MifareResponseTLV(response)
     return response_tlv.get_error(), response_tlv.get_block_data()
Esempio n. 2
0
 def M1_write_block(self, block_number, block_data):
     '''
     @brief: Mifare write block data.
     @param block_number: block number.
     @param block_data: block data to write.
     @return error_code, 0 if succeeded.
     '''
     print(block_number)
     print(len(block_data))
     for i in range(len(block_data)):
         print('%02X' %(ord(block_data[i]))),
     command_tlv = MifareCommandTLV(COMMAND_TAG_WRITE_BLOCK)
     command_tlv.set_block_number(block_number)
     command_tlv.set_block_data(block_data)
     command_tlv.set_rw_len(len(block_data))
     command = command_tlv.serialize()
     response = self.__interface.transmit_sc_command(command)
     response_tlv = MifareResponseTLV(response)
     return response_tlv.get_error()