From 8206325bc6b3a60aed3c5cce157369ec2989437a Mon Sep 17 00:00:00 2001 From: Sunil Jogi Date: Tue, 10 Apr 2012 11:37:25 -0700 Subject: Added recovery function when SE wired mode selected Added a recovery function with delay when SE wired mode selected. This function will add extra delay before any abort when SE is in wired mode. This will allow SE to complete any operation and do not power off the SE immediately when wired mode transaction is on going. --- src/phLibNfc.c | 12 ++++++++++++ src/phLibNfc.h | 4 ++++ 2 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/phLibNfc.c b/src/phLibNfc.c index 1012acb..c7c37c8 100644 --- a/src/phLibNfc.c +++ b/src/phLibNfc.c @@ -129,6 +129,18 @@ int phLibNfc_Load_Firmware_Image () return status; } +// Function for delay the recovery in case wired mode is set +// to complete the possible pending transaction with SE +void phLibNfc_Mgt_Recovery () +{ + /* Wait before recovery if wired mode */ + if (gpphLibContext->sSeContext.eActivatedMode == phLibNfc_SE_ActModeWired) + { + usleep (12000000); + } + + return; +} extern uint8_t nxp_nfc_isoxchg_timeout; NFCSTATUS phLibNfc_SetIsoXchgTimeout(uint8_t timeout) { diff --git a/src/phLibNfc.h b/src/phLibNfc.h index 1eb62ae..6111a93 100644 --- a/src/phLibNfc.h +++ b/src/phLibNfc.h @@ -856,6 +856,10 @@ NFCSTATUS phLibNfc_Download_Mode (); int phLibNfc_Load_Firmware_Image (); +// Function for delay the recovery in case wired mode is set +// to complete the possible pending transaction with SE +void phLibNfc_Mgt_Recovery (); + // timeout is 8 bits // bits [0..3] => timeout value, (256*16/13.56*10^6) * 2^value // [0] -> 0.0003s -- cgit v1.2.3