]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/iclass.c
CHG: added some more token-tags.
[proxmark3-svn] / armsrc / iclass.c
index c0edc1e08db6156c57060a94961efcf93f8d69d6..816cb904108adb8eab227155d63bb78b1abf4f41 100644 (file)
@@ -654,9 +654,8 @@ void RAMFUNC SnoopIClass(void)
     // The DMA buffer, used to stream samples from the FPGA
     uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE);
  
     // The DMA buffer, used to stream samples from the FPGA
     uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE);
  
-    // reset traceLen to 0
-    iso14a_set_tracing(TRUE);
-    iso14a_clear_trace();
+       set_tracing(TRUE);
+       clear_trace();
     iso14a_set_trigger(FALSE);
 
     int lastRxCounter;
     iso14a_set_trigger(FALSE);
 
     int lastRxCounter;
@@ -807,12 +806,12 @@ void RAMFUNC SnoopIClass(void)
     DbpString("COMMAND FINISHED");
 
     Dbprintf("%x %x %x", maxBehindBy, Uart.state, Uart.byteCnt);
     DbpString("COMMAND FINISHED");
 
     Dbprintf("%x %x %x", maxBehindBy, Uart.state, Uart.byteCnt);
-    Dbprintf("%x %x %x", Uart.byteCntMax, traceLen, (int)Uart.output[0]);
+       Dbprintf("%x %x %x", Uart.byteCntMax, BigBuf_get_traceLen(), (int)Uart.output[0]);
 
 done:
     AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS;
     Dbprintf("%x %x %x", maxBehindBy, Uart.state, Uart.byteCnt);
 
 done:
     AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS;
     Dbprintf("%x %x %x", maxBehindBy, Uart.state, Uart.byteCnt);
-    Dbprintf("%x %x %x", Uart.byteCntMax, traceLen, (int)Uart.output[0]);
+       Dbprintf("%x %x %x", Uart.byteCntMax, BigBuf_get_traceLen(), (int)Uart.output[0]);
     LED_A_OFF();
     LED_B_OFF();
     LED_C_OFF();
     LED_A_OFF();
     LED_B_OFF();
     LED_C_OFF();
@@ -989,8 +988,8 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
 
        // Enable and clear the trace
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
 
        // Enable and clear the trace
-       iso14a_set_tracing(TRUE);
-       iso14a_clear_trace();
+       set_tracing(TRUE);
+       clear_trace();
 
        uint8_t csn_crc[] = { 0x03, 0x1f, 0xec, 0x8a, 0xf7, 0xff, 0x12, 0xe0, 0x00, 0x00 };
        if(simType == 0) {
 
        uint8_t csn_crc[] = { 0x03, 0x1f, 0xec, 0x8a, 0xf7, 0xff, 0x12, 0xe0, 0x00, 0x00 };
        if(simType == 0) {
@@ -1490,8 +1489,8 @@ void setupIclassReader()
 {
     FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
     // Reset trace buffer
 {
     FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
     // Reset trace buffer
-    iso14a_set_tracing(TRUE);
-    iso14a_clear_trace();
+       set_tracing(TRUE);
+       clear_trace();
 
     // Setup SSC
     FpgaSetupSsc();
 
     // Setup SSC
     FpgaSetupSsc();
@@ -1587,14 +1586,14 @@ void ReaderIClass(uint8_t arg0) {
     int read_status= 0;
     bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE;
        bool get_cc = arg0 & FLAG_ICLASS_READER_GET_CC;
     int read_status= 0;
     bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE;
        bool get_cc = arg0 & FLAG_ICLASS_READER_GET_CC;
-
+       set_tracing(TRUE);
     setupIclassReader();
 
     size_t datasize = 0;
     while(!BUTTON_PRESS())
     {
 
     setupIclassReader();
 
     size_t datasize = 0;
     while(!BUTTON_PRESS())
     {
 
-               if(traceLen > BigBuf_max_traceLen()) {
+               if(!tracing) {
                        DbpString("Trace full");
                        break;
                }
                        DbpString("Trace full");
                        break;
                }
@@ -1660,13 +1659,13 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
        uint8_t resp[ICLASS_BUFFER_SIZE];
        
     setupIclassReader();
        uint8_t resp[ICLASS_BUFFER_SIZE];
        
     setupIclassReader();
-
+       set_tracing(TRUE);
 
        while(!BUTTON_PRESS()) {
        
                WDT_HIT();
 
 
        while(!BUTTON_PRESS()) {
        
                WDT_HIT();
 
-               if(traceLen > BigBuf_max_traceLen()) {
+               if(!tracing) {
                        DbpString("Trace full");
                        break;
                }
                        DbpString("Trace full");
                        break;
                }
@@ -1707,7 +1706,7 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
                //Set card_data to all zeroes, we'll fill it with data
                memset(card_data,0x0,USB_CMD_DATA_SIZE);
                uint8_t failedRead =0;
                //Set card_data to all zeroes, we'll fill it with data
                memset(card_data,0x0,USB_CMD_DATA_SIZE);
                uint8_t failedRead =0;
-               uint8_t stored_data_length =0;
+               uint32_t stored_data_length =0;
                                //then loop around remaining blocks
                for(int block=0; block < cardsize; block++){
 
                                //then loop around remaining blocks
                for(int block=0; block < cardsize; block++){
 
@@ -1726,7 +1725,6 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
                                //Fill up the buffer
                                memcpy(card_data+stored_data_length,resp,8);
                                stored_data_length += 8;
                                //Fill up the buffer
                                memcpy(card_data+stored_data_length,resp,8);
                                stored_data_length += 8;
-
                                if(stored_data_length +8 > USB_CMD_DATA_SIZE)
                                {//Time to send this off and start afresh
                                        cmd_send(CMD_ACK,
                                if(stored_data_length +8 > USB_CMD_DATA_SIZE)
                                {//Time to send this off and start afresh
                                        cmd_send(CMD_ACK,
@@ -1745,6 +1743,7 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
                                Dbprintf("Failed to dump block %d", block);
                        }
                }
                                Dbprintf("Failed to dump block %d", block);
                        }
                }
+
                //Send off any remaining data
                if(stored_data_length > 0)
                {
                //Send off any remaining data
                if(stored_data_length > 0)
                {
Impressum, Datenschutz