]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhftopaz.c
fix: 32bit tick timer based on TC0 and TC1 (#653)
[proxmark3-svn] / client / cmdhftopaz.c
index bf0f5dcfed6ba762b93659294655eeed7967d303..6058cabe2ab8b8b18d671a00ba5427e6cb38f228 100644 (file)
@@ -8,17 +8,18 @@
 // High frequency Topaz (NFC Type 1) commands
 //-----------------------------------------------------------------------------
 
 // High frequency Topaz (NFC Type 1) commands
 //-----------------------------------------------------------------------------
 
+#include "cmdhftopaz.h"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include "cmdmain.h"
 #include "cmdparser.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include "cmdmain.h"
 #include "cmdparser.h"
-#include "cmdhftopaz.h"
 #include "cmdhf14a.h"
 #include "ui.h"
 #include "mifare.h"
 #include "cmdhf14a.h"
 #include "ui.h"
 #include "mifare.h"
-#include "proxmark3.h"
+#include "comms.h"
 #include "iso14443crc.h"
 #include "protocols.h"
 
 #include "iso14443crc.h"
 #include "protocols.h"
 
@@ -337,7 +338,7 @@ static void topaz_print_control_TLVs(uint8_t *memory)
                if (TLV_type == 0x02) {                 // a Reserved Memory Control TLV
                        uint8_t pages_addr = TLV_value[0] >> 4;
                        uint8_t byte_offset = TLV_value[0] & 0x0f;
                if (TLV_type == 0x02) {                 // a Reserved Memory Control TLV
                        uint8_t pages_addr = TLV_value[0] >> 4;
                        uint8_t byte_offset = TLV_value[0] & 0x0f;
-                       uint8_t size_in_bytes = TLV_value[1] ? TLV_value[1] : 256;
+                       uint16_t size_in_bytes = TLV_value[1] ? TLV_value[1] : 256;
                        uint8_t bytes_per_page = 1 << (TLV_value[2] & 0x0f);
                        uint16_t area_start = pages_addr * bytes_per_page + byte_offset;
                        PrintAndLog("Reserved Memory of %d bytes at byte offset 0x%02x.", 
                        uint8_t bytes_per_page = 1 << (TLV_value[2] & 0x0f);
                        uint16_t area_start = pages_addr * bytes_per_page + byte_offset;
                        PrintAndLog("Reserved Memory of %d bytes at byte offset 0x%02x.", 
@@ -454,7 +455,7 @@ int CmdHFTopazReader(const char *Cmd)
        PrintAndLog("HR0  : %02x (%sa Topaz tag (%scapable of carrying a NDEF message), %s memory map)", rid_response[0], 
                                                (rid_response[0] & 0xF0) == 0x10 ? "" : "not ",
                                                (rid_response[0] & 0xF0) == 0x10 ? "" : "not ",
        PrintAndLog("HR0  : %02x (%sa Topaz tag (%scapable of carrying a NDEF message), %s memory map)", rid_response[0], 
                                                (rid_response[0] & 0xF0) == 0x10 ? "" : "not ",
                                                (rid_response[0] & 0xF0) == 0x10 ? "" : "not ",
-                                               (rid_response[0] & 0x0F) == 0x10 ? "static" : "dynamic");
+                                               (rid_response[0] & 0x0F) == 0x01 ? "static" : "dynamic");
        PrintAndLog("HR1  : %02x", rid_response[1]);
        
        status = topaz_rall(uid_echo, rall_response);
        PrintAndLog("HR1  : %02x", rid_response[1]);
        
        status = topaz_rall(uid_echo, rall_response);
@@ -553,10 +554,7 @@ static command_t CommandTable[] =
 
 
 int CmdHFTopaz(const char *Cmd) {
 
 
 int CmdHFTopaz(const char *Cmd) {
-       // flush
-       WaitForResponseTimeout(CMD_ACK,NULL,100);
-
-       // parse
+       (void)WaitForResponseTimeout(CMD_ACK,NULL,100);
        CmdsParse(CommandTable, Cmd);
        return 0;
 }
        CmdsParse(CommandTable, Cmd);
        return 0;
 }
Impressum, Datenschutz