]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/i2c.c
replace msleep() by thread signalling in comms.c
[proxmark3-svn] / armsrc / i2c.c
index 7ef0c9c035ce767bfe8cd39b7f4e6a2cec021d5e..3d16b42cea10783cfc27fb7b9b646ffdf58f0a70 100644 (file)
@@ -18,6 +18,7 @@
 #include "mifareutil.h" // for MF_DBGLEVEL
 #include "BigBuf.h"
 #include "apps.h"
+#include "usb_cdc.h"
 
 #ifdef WITH_SMARTCARD
 #include "smartcard.h"
@@ -257,10 +258,11 @@ static void I2C_Reset_EnterBootloader(void) {
        WaitMS(10);
 }
 
-// Wait max 300ms or until SCL goes LOW.
+// Wait max 1800ms or until SCL goes LOW.
+// It timeout reading response from card
 // Which ever comes first
-static bool WaitSCL_L_300ms(void) {
-       volatile uint16_t delay = 310;
+bool WaitSCL_L_timeout(void){
+       volatile uint16_t delay = 1800;
        while ( delay-- ) {
                // exit on SCL LOW
                if (!SCL_read)
@@ -272,8 +274,8 @@ static bool WaitSCL_L_300ms(void) {
 }
 
 static bool I2C_WaitForSim() {
-       // variable delay here.
-       if (!WaitSCL_L_300ms())
+       // wait for data from card
+       if (!WaitSCL_L_timeout())
                return false;
 
        // 8051 speaks with smart card.
Impressum, Datenschutz