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()
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()