]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlft55xx.c
hf topaz reader implementation:
[proxmark3-svn] / client / cmdlft55xx.c
index b357e71c30c50e327f42cbe346475614685da428..2291735cb8ecd46cd74986eb628cbc978b170f59 100644 (file)
@@ -242,6 +242,7 @@ int CmdT55xxReadBlock(const char *Cmd) {
                c.d.asBytes[0] = 0x1; \r
        }\r
 \r
+       clearCommandBuffer();\r
        SendCommand(&c);\r
        if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) {\r
                PrintAndLog("command execution time out");\r
@@ -670,6 +671,7 @@ int CmdT55xxWriteBlock(const char *Cmd)
        }\r
        \r
        UsbCommand c = {CMD_T55XX_WRITE_BLOCK, {data, block, 0}};\r
+       UsbCommand resp;\r
        c.d.asBytes[0] = 0x0; \r
 \r
        PrintAndLog("Writing to block: %d  data  : 0x%08X", block, data);\r
@@ -680,7 +682,12 @@ int CmdT55xxWriteBlock(const char *Cmd)
                c.d.asBytes[0] = 0x1; \r
                PrintAndLog("pwd   : 0x%08X", password);\r
        }\r
+       clearCommandBuffer();\r
        SendCommand(&c);\r
+       if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){\r
+               PrintAndLog("Error occurred, device did not ACK write operation. (May be due to old firmware)");\r
+               return -1;\r
+       }\r
        return 0;\r
 }\r
 \r
@@ -878,6 +885,7 @@ int AquireData( uint8_t block ){
                // c.d.asBytes[0] = 0x1; \r
        // }\r
 \r
+       clearCommandBuffer();\r
        SendCommand(&c);\r
        if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) {\r
                PrintAndLog("command execution time out");\r
Impressum, Datenschutz