]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/iso15693.c
CHG: Added @icsom 's changes to his legic.lua script.
[proxmark3-svn] / armsrc / iso15693.c
index 94040a85796a36eb38b7e5976b2339123845234f..1750152678da3aba436d41d553e42f7538a7cef8 100644 (file)
@@ -689,8 +689,8 @@ void RecordRawAdcSamplesIso15693(void)
        FpgaSetupSsc();
 
        // Start from off (no field generated)
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelay(200);
+       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+       SpinDelay(200);
 
        SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
 
@@ -877,12 +877,12 @@ int SendDataTag(uint8_t *send, int sendlen, int init, int speed, uint8_t **recv)
        LED_C_OFF();
        LED_D_OFF();
        
+       if (init) Iso15693InitReader();
+
        int answerLen=0;
        uint8_t *answer = BigBuf_get_addr() + 3660;
        if (recv != NULL) memset(answer, 0, 100);
 
-       if (init) Iso15693InitReader();
-       
        if (!speed) {
                // low speed (1 out of 256)
                CodeIso15693AsReader256(send, sendlen);
@@ -903,10 +903,7 @@ int SendDataTag(uint8_t *send, int sendlen, int init, int speed, uint8_t **recv)
                *recv=answer;
        }
 
-       LED_A_OFF();
-       LED_B_OFF();
-       LED_C_OFF();
-       LED_D_OFF();
+       LEDsoff();
        
        return answerLen;
 }
@@ -999,10 +996,6 @@ void ReaderIso15693(uint32_t parameter)
        LED_C_OFF();
        LED_D_OFF();
 
-       uint8_t *answer1 = BigBuf_get_addr() + 3660;
-       uint8_t *answer2 = BigBuf_get_addr() + 3760;
-       uint8_t *answer3 = BigBuf_get_addr() + 3860;
-
        int answerLen1 = 0;
        int answerLen2 = 0;
        int answerLen3 = 0;
@@ -1013,19 +1006,21 @@ void ReaderIso15693(uint32_t parameter)
        int elapsed = 0;
        uint8_t TagUID[8] = {0x00};
 
+       FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
 
+       uint8_t *answer1 = BigBuf_get_addr() + 3660;
+       uint8_t *answer2 = BigBuf_get_addr() + 3760;
+       uint8_t *answer3 = BigBuf_get_addr() + 3860;
        // Blank arrays
        memset(answer1, 0x00, 300);
 
-       FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
-
        SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
        // Setup SSC
        FpgaSetupSsc();
 
        // Start from off (no field generated)
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelay(200);
+       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+       SpinDelay(200);
 
        // Give the tags time to energize
        FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR);
@@ -1111,24 +1106,22 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid)
        LED_C_OFF();
        LED_D_OFF();
 
-       uint8_t *buf = BigBuf_get_addr() + 3660;
-       
        int answerLen1 = 0;
        int samples = 0;
        int tsamples = 0;
        int wait = 0;
        int elapsed = 0;
 
-       memset(buf, 0x00, 100);
-
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
 
-       SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
+       uint8_t *buf = BigBuf_get_addr() + 3660;
+       memset(buf, 0x00, 100);
 
+       SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
        FpgaSetupSsc();
 
        // Start from off (no field generated)
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
        SpinDelay(200);
 
        LED_A_OFF();
Impressum, Datenschutz