aboutsummaryrefslogtreecommitdiffstats
path: root/nci/jni/NfcTag.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'nci/jni/NfcTag.cpp')
-rwxr-xr-x[-rw-r--r--]nci/jni/NfcTag.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/nci/jni/NfcTag.cpp b/nci/jni/NfcTag.cpp
index 7d6ba77c..0aa16bbd 100644..100755
--- a/nci/jni/NfcTag.cpp
+++ b/nci/jni/NfcTag.cpp
@@ -424,6 +424,18 @@ void NfcTag::discoverTechnologies (tNFA_ACTIVATED& activationData)
}
else if(NFC_PROTOCOL_ISO_DEP == rfDetail.protocol)
{
+ if((rfDetail.rf_tech_param.mode == NFC_DISCOVERY_TYPE_POLL_A) ||
+ (rfDetail.rf_tech_param.mode == NFC_DISCOVERY_TYPE_POLL_A_ACTIVE))
+ {
+ uint8_t fwi = rfDetail.intf_param.intf_param.pa_iso.fwi;
+ if(fwi > 0 && fwi < 15)
+ {
+ // fwt = (((2^fwi) * 256 * 16 ) / (13.56 * 10^6)) * 1000msec
+ double fwt = (((2 << (fwi - 1)) * 256 * 16) / 13560000) * 1000;
+ ALOGD ("Setting the Xceive timeout = %f, fwi = %0#x", fwt, fwi);
+ setTransceiveTimeout(mTechList[mNumTechList], fwt);
+ }
+ }
//type-4 tag uses technology ISO-DEP and technology A or B
mTechList [mNumTechList] = TARGET_TYPE_ISO14443_4; //is TagTechnology.ISO_DEP by Java API
#if(NXP_EXTNS == TRUE)