]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/lfops.c
Implemented usb_poll() within LF sim. This means the LF sim will be aborted whenever...
[proxmark3-svn] / armsrc / lfops.c
index a5c4a64dc7dea4e29109ce3afa06db38d054ab1b..16c428554a348be12ee5f648afae634243d74144 100644 (file)
@@ -16,6 +16,7 @@
 #include "string.h"
 #include "lfdemod.h"
 #include "lfsampling.h"
+#include "usb_cdc.h"
 
 
 /**
@@ -401,7 +402,7 @@ void SimulateTagLowFrequency(int period, int gap, int ledcontrol)
     for(;;) {
         //wait until SSC_CLK goes HIGH
         while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) {
-            if(BUTTON_PRESS()) {
+                       if(BUTTON_PRESS() || usb_poll()) {
                 DbpString("Stopped");
                 return;
             }
@@ -642,6 +643,11 @@ void CmdASKsimTag(uint16_t arg1, uint16_t arg2, size_t size, uint8_t *BitStream)
     for (i=0; i<size; i++){
         askSimBit(BitStream[i]^invert, &n, clk, manchester);
     }
+    if (manchester==0 && BitStream[0]==BitStream[size-1]){ //run a second set inverted (for biphase phase)
+        for (i=0; i<size; i++){
+            askSimBit(BitStream[i]^invert^1, &n, clk, manchester);
+        }    
+    }
     if (separator==1) Dbprintf("sorry but separator option not yet available"); 
 
     Dbprintf("Simulating with clk: %d, invert: %d, manchester: %d, separator: %d, n: %d",clk, invert, manchester, separator, n);
Impressum, Datenschutz