- 18 Jan, 2011 9 commits
-
-
Sylvain Fonteneau authored
With the latest libnfc-nxp library, the LLCP socket internals are initialized when configuring the LLCP link parameters because it must be the first LLCP function called. Due to this, these parameters are now set only once at the NFC service startup instead of each peer discovery. As a consequence, the NFC Manager initialization now use the application properties (which contains link parameters) so these properties are loaded before initialization. Change-Id: I8e04c3135646a12a48c392d47cb47d09cd234ea1
-
Sylvain Fonteneau authored
Until now, the NFC native library (libnfc-nxp) had some limitations on the socket life cycle that made impossible to ensure the local server socket was listening before the remote client was trying to connect. The RegisteredSocket class was created to workaround this by enabling socket creation at the Java layer prior to link establishment. This solution was not fully satisfactory since there were still some race conditions. A fix for these limitations has been submitted in the library project in a commit named "Allow LLCP socket creation before link establishment" and this patch takes advantage of it to remove the RegisteredSocket class and all the associated code. As a consequence, the socket creation methods have been simplified, the link activation processes is lighter (no need to recreate native sockets on link activation). This patch also includes some cleaning (removed unused variables). Change-Id: I643509d620105ae7d3ba24ea68eae37f05bc6ef3
-
daniel_tomas authored
Change-Id: I7ad0fc608c2dd81b42dcbca994759352ffae9360
-
Sylvain Fonteneau authored
Change-Id: I691f1568ae83f2483bd6c60489d427cf62b1c9c8
-
Nick Pelly authored
-
Nick Pelly authored
-
Martijn Coenen authored
Change-Id: Ic6c04d2ab7543a3a40023e96c7860157792340c9
-
Martijn Coenen authored
Added interface to the NFC service for (re-)setting the IsoDep transaction timeout. Internally, this is mapped to both the ISO XCHG timer and the HCI watchdog timer in libnfc (see comments in code). The timers are reset when the application closes the IsoDep technology. But they must also be reset if the application crashes (and cannot close the technology). To cover these cases, whenever discovery is (re)started or whenever a tag is disconnected, the timeouts are reset to the default values. Change-Id: I596ef311c3c3b21666b487d16a08642e8a6fc4af
-
Jeff Hamilton authored
The protocol allows pushing NDEF messages over LLCP in order to simulate a card read wihtout having to use card emulation. This also allows for 2 way transfer of meesages. The protocol allows for a single immediate message, to be dispatched upon arrival as if it were read from a tag, and any number of deferred dispatch messages. The handling of deferred dispatch messages is up to the receiver and not implemented in this patch. Change-Id: Ib99e4fc01532cc741debab370a417f94669b62ac
-
- 15 Jan, 2011 2 commits
-
-
Martijn Coenen authored
Previously, any ISO14443-4 tag would get the NDEF_FORMATABLE technology, indicating that a format on these tags is possible. In fact libNFC only supports formatting the DESFire subset of -4, and MF UL / Classic. These changes do a check for DESFire before adding the FORMATABLE technology. Change-Id: Ife15a0bd42e1b024bf262788859c88e4ac1dcabe
-
Martijn Coenen authored
The presence check timer is not supposed to run during "other" operations such as transceive. Previously, the presence check timer was simply reset. If an operation would take longer than the presence check time to complete, the presence check would run immediately after the operation has released the concurrency lock. This is undesirable and not necessary - the app may want to do a long series of transceives, in which case the presence check gets in the way and delays the app. This fix will pause() the watchdog completely, and only resume() when the presence checking is done. Change-Id: I06b1ab10c015861415cd91d6d5536d27145a885f
-
- 13 Jan, 2011 2 commits
-
-
Jeff Hamilton authored
Change-Id: I1f20036dd45cd6af8f0e2a5199427f403272ee8a
-
daniel_tomas authored
Change-Id: Ie32d36949c3520f9ece9bcb3c6f7bab2f9b24023
-
- 06 Jan, 2011 2 commits
-
-
Martijn Coenen authored
These were previously set many times (both in connect()/reconnect()). In fact they only need to be set once at discovery time. Also fixed two JNI memory leaks I came across. Change-Id: I5a9ecba78f5e5b18d3664566c9f90ffcfbd606b0
-
daniel_tomas authored
Change-Id: I63af03e79da263993db5a35df7602ae0b1c48c56
-
- 05 Jan, 2011 3 commits
-
-
daniel_tomas authored
Secure Element notification improved with a filter in the evt type and with only a notification when a start of transaction event is detected Change-Id: I3b55174fa006160798914b933430ef1298f49ff2
-
Martijn Coenen authored
libNFC has two sets of constants to express this, be sure to use the right one. Change-Id: Ia6bceeef05551ebe9d9e071e83e96d9f114ae152
-
Martijn Coenen authored
Change-Id: Id712405901b7dbf0c2834e8dc13d79dbfd056e2c
-
- 04 Jan, 2011 4 commits
-
-
Martijn Coenen authored
This will improve the responsiveness of apps a lot when scanning tags in rapid succession. The consequence is of course more frequent access to the tag, but only when it is in the field. Change-Id: Ic7410d86c3a3af76a3c400fef67b44ae0c26571e
-
Martijn Coenen authored
Change-Id: Ib05f25a80cab1e97d6c3d34a6fcd44043240337d
-
Martijn Coenen authored
Change-Id: I2ac67f2a947704722328e7b2e576b8561e726fa2
-
Martijn Coenen authored
When a tag is disconnected, first the watchdog is stopped, then disconnect is called. However, the watchdog stop also did a disconnect() itself. Now that is only done if the watchdog itself concludes the tag is gone. Also made sure we catch an early return when the handle is -1; in that case, just restart the discovery. Also removed some old code. Change-Id: Ib851115eecaea65d88cffc7771e273258a404f87
-
- 17 Dec, 2010 2 commits
-
-
Martijn Coenen authored
Change-Id: I2681d7408bfc5b5388eb22dd620ba24a5e26c286
-
Martijn Coenen authored
Change-Id: I08ea357e96ed70cc62ba190422e31d93f3162ceb
-
- 16 Dec, 2010 1 commit
-
-
Martijn Coenen authored
(Depends on libnfc change!) Change-Id: I946f2a7e7d75322da568b499b5129a4072012803
-
- 15 Dec, 2010 4 commits
-
-
Martijn Coenen authored
Some functionality in libnfc is different for some technologies (e.g. reconnect(), transceive()). For these cases, we'll use the libnfc tag type to deal with them. We don't want to distinguish these cases based on the Java API technology types, since they may be changed and even mapped to different libnfc types. Ideally libnfc should abstract this away for us, but that is not the case now. Change-Id: I33ea04ca48d16ccf186e3f0882cafdd38a8adb34
-
Martijn Coenen authored
Change-Id: Id88f443d83a99f422aebd7aeb0af8c05c2631ac8
-
Martijn Coenen authored
- The MULTIPLE_TAGS return value from libnfc is now handled: in case of multiple tags, we just pick and report the first. - Removed all obsolete calls to nfc_jni_get_nfc_tag_handle; - Added some safety to CRC checking; - NfcService interface now allows connecting to a (different) technology; Still todo: - Get rid of global reference to connected handle; - Remove dependency on tech list ordering. Change-Id: I7176c3c0edf369a8f33f64280dace1c7b1f2b598
-
Martijn Coenen authored
Change-Id: I04d01ce0c597baaa14d30bb022890e69722e1c87
-
- 13 Dec, 2010 5 commits
-
-
Sylvain Fonteneau authored
Also fixed the way the MIU is used. The MIU is the maximum payload a local socket can receive in a single packet. The MIU may be different for each side of a socket connection. When sending data, the application have to make sure the payload size does NOT exceed the MIU announced by the remote peer for the current socket. Change-Id: I3bed94b3042a9383088290de49a81d7ac855c92c
-
Sylvain Fonteneau authored
Change-Id: I27a2b8742726b7ea49129270afe264248626af55
-
Sylvain Fonteneau authored
Change-Id: I3cbde125d87ef2da6f36073e391e0c3fdb524631
-
Sylvain Fonteneau authored
Change-Id: I3dfe3c65d5343bea56648479541674992ae4f0d5
-
Martijn Coenen authored
- Connect() now takes a technology as an argument. - NativeNfcTag now knows to which technology it is connected. The default connected handle is for now always the first in the tech list; also, NDEF is only checked on the first tech. Still to be done: - Check ndef on other techs if not found on first - Expose the connect(technology) API to the framework - Fix some calls that still use nfc_jni_get_tag_handle and need to work on the selected technology instead. - Get rid of mHandle and the globals for keeping tag handles Change-Id: If76d4d458565ab0be7ca986c080a59ed8fd0668f
-
- 12 Dec, 2010 1 commit
-
-
Jeff Hamilton authored
Change-Id: I8469af074325fc8731aace1c9681bbddfa55dc89
-
- 11 Dec, 2010 4 commits
-
-
Martijn Coenen authored
This allows applications to reset the "tag" state when they call close(). Change-Id: Iae78d5d0b714b53d52db9a0c21ad084d7a2010ba
-
Martijn Coenen authored
Change-Id: Iefd7ddfe2a9e2d32fe48a4c7fc03f2b48fb4b928
-
Martijn Coenen authored
Change-Id: Ib0e16961b376a1d796dc8dc394be80b967119ff2
-
Martijn Coenen authored
- Tech tree properly does multi-protocol - Implemented a handle list, where we can link each tech to a libnfc handle Change-Id: Id9522d505cb158f5163e866b686758c269390cde
-
- 10 Dec, 2010 1 commit
-
-
Nick Pelly authored
Change-Id: Idc938d32a8afbc4b93f1f3eea2abe8d056eec4e4
-