diff options
Diffstat (limited to 'nxp/src/com/android/nfc')
-rwxr-xr-x | nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java b/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java index dc6ea7c..0446390 100755 --- a/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java +++ b/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java @@ -38,6 +38,8 @@ public class NativeNfcManager implements DeviceHost { private static final String NFC_CONTROLLER_FIRMWARE_FILE_NAME = "/vendor/firmware/libpn544_fw.so"; + private static final String NFC_CONTROLLER_FIRMWARE_FILE_NAME_2 = "/system/lib/libpn544_fw.so"; + static final String PREF = "NxpDeviceHost"; private static final String PREF_FIRMWARE_MODTIME = "firmware_modtime"; @@ -101,6 +103,9 @@ public class NativeNfcManager implements DeviceHost { int nbRetry = 0; try { firmwareFile = new File(NFC_CONTROLLER_FIRMWARE_FILE_NAME); + if (!firmwareFile.exists()) { + firmwareFile = new File(NFC_CONTROLLER_FIRMWARE_FILE_NAME_2); + } } catch(NullPointerException npe) { Log.e(TAG,"path to firmware file was null"); return; @@ -174,6 +179,19 @@ public class NativeNfcManager implements DeviceHost { public native void disableDiscovery(); @Override + public native void enableCE_A(); + + @Override + public native void disableCE_A(); + + @Override + public native void enableCE_B(); + + @Override + public native void disableCE_B(); + + + @Override public native int[] doGetSecureElementList(); @Override @@ -302,6 +320,8 @@ public class NativeNfcManager implements DeviceHost { return 0; // PN544 does not support transceive of raw NfcB case (TagTechnology.NFC_V): return 253; // PN544 RF buffer = 255 bytes, subtract two for CRC + case (TagTechnology.ISO_PCD_A): + case (TagTechnology.ISO_PCD_B): case (TagTechnology.ISO_DEP): /* The maximum length of a normal IsoDep frame consists of: * CLA, INS, P1, P2, LC, LE + 255 payload bytes = 261 bytes |