Commit Graph
467 Commits
Author SHA1 Message Date
Romuald Conty 476c05cfb4 Cleanup up nfc_initiator_list_passive_targets(): remove attempts to retrieve ATQA when collision occurs, after a lot of tests by Romain and me we are not able to find a way to retrieve all tags ATQA if different card types are on the nfc device. 2010-08-17 10:08:38 +00:00
Romuald Conty 3c57861d6b Improve pn53x_decode_target_data() function: move code from nfc_initiator_select_passive_target() to the right place (pn53x.c). 2010-08-17 10:01:11 +00:00
Romuald Conty ae04479968 Move hardware polling function in pn53x.c/h. 2010-08-17 08:24:38 +00:00
Romuald Conty 41b1455f04 Clean up wrong comments in nfc-poll. 2010-08-16 16:27:50 +00:00
Romain Tartiere 8a75f5b45e Fix wrong comment 2010-08-15 12:42:40 +00:00
Romain Tartiere 655fdb569a Fix nfc_initiator_mifare_cmd() in examples.
In r509, a direct call to pn53x_transceive() was changed into a call to nfc_initiator_transceive_dep_bytes() which is part of the public API. The command to send was updated accordingly, but the code that extracts the response have not.

Update issue 98
This should fix the problem: because the response was not the expected length, the actual card data was not copied to the buffer, so it was always the same 16 uninitialized bytes that where returned for any block.

PR:		Issue 98
Submitted by:	zamby.ing
Pointy hat to:  me
2010-08-13 19:53:13 +00:00
Romain Tartiere fab08a3951 Fix doxygen comment: the string SHALL NOT be freed (it's const BTW).
Or maybe I would rather have removed the const and called strdup(3)?

New issue
Summary: Sync code and comments
Owner: rconty@il4p.fr
Status: New
Romuald, can you please review this changeset and fix the code if I corrected
the wrong way (i.e. the comment was Okay and the code bogus while I fixed the
comment thinking the cod was right).

Thanks!
2010-08-13 19:10:31 +00:00
Romuald Conty 2029e0c66f Remove usb_reset() call: this function always failed. 2010-08-11 16:44:34 +00:00
Romuald Conty d11e7a1320 Prevent from segfault when nfc_disconnect() on NULL pointer 2010-08-11 16:38:22 +00:00
Romain Tartiere 9cc31f6aad Add a regression test directory. 2010-08-11 16:36:35 +00:00
Romain Tartiere f237d44339 Take care of 16-blocks-long sectors of Mifare Classic 4K in the nfc-mfclassic example's blocks counting routine. 2010-08-11 09:26:22 +00:00
Romain Tartiere 3ec0b9376c Make Mifare example use only the libnfc public API. 2010-08-10 21:36:57 +00:00
Romain Tartiere bda739eb8f Hey! r509 also fixed that! 2010-08-10 21:02:26 +00:00
Romain Tartiere eece496351 Use nfc_initiator_transceive_dep_bytes() instead of pn53x_transceive() in example. 2010-08-10 21:00:08 +00:00
Romain Tartiere fd0efd4a62 Fix build on Microsoft Windows.
Windows users: I hate you in secret.
2010-08-10 19:50:29 +00:00
Romain Tartiere d7c16d6d1a Factorise UART-relative macros definitions. 2010-08-08 09:34:18 +00:00
Romain Tartiere 8e5d235cd2 Implement pn53x_InRelease().
I used it for some experiments and guess that it should be part of the API.
2010-08-06 07:29:57 +00:00
Romain Tartiere d77c25224a After a bazillion tests, make the Debian-5-year-outdated-and-buggy autotools happy with some weird m4 syntax and hope it will not fail on a much more recent autolol suite. 2010-07-31 15:37:27 +00:00
Romain Tartiere b60d045537 Remove another deprecated test that '^#ifdef' did not matched for previous commit. 2010-07-31 13:46:32 +00:00
Romain Tartiere cd53efb038 Enforce ISO C conformance about empty files.
ISO C forbids empty source files.  Instead of compiling possibly empty source
files depending on the compiler parameters, only compile required files to
build the library as requested at the ./configure stage.

Windows users (and more precisely non-autotools users), you may have to update
whatever you use to build the libnfc to fit your needs.  The Makefile shipped
in the windows directory compiles all drivers as it is written so you should
not notice any difference, but if you don't use _that_ makefile, then you will
have to do some adjustment.

For now, keep the defines in CFLAGS just in case.  Planned for removal in circa
one week.

While here, pet `./configure` output (--help format and summary).
2010-07-31 13:21:56 +00:00
Romain Tartiere bb06d45a05 Really silent down gcc with -Wextra. 2010-07-31 12:57:02 +00:00
Romain Tartiere 93494aad24 Fix serial string for FreeBSD.
I am sure we don't have /dev/ttyUSB*, and since I use /dev/cuau0 with a
cross-over cable to connect 2 machines and have a serial console, I guess
"/dev/cuau" is the SERIAL_STRING that's expected to work for me.  A quick test
would be cool however, but I don't own a serial NFC device.
2010-07-31 10:13:18 +00:00
Romuald Conty 0afaf656fa Attempt to provide target listing function (WARNING: this function is actually incomplete)
New issue
Summary: Provide a target listing function
Labels: Milestone-1.4.x
Libnfc lacks of target listing function. Actually, applications or libraries based on libnfc have to wrote their own listing function which can provide side effect if two or more of theses libraries are used together in the same application. Plus, some kind of problem could appears during listing multiples targets (i.e. collisions) and this problem should be solved in libnfc (i.e. using NFC chip capabilities), not in applications based on libnfc.
2010-07-30 13:27:03 +00:00
Romuald Conty 7113d1418b Add FIXME to raise an E_NOTSUPPORTED error in future,
New issue
Summary: Catch unsupported command before sending to chip
Labels: Milestone-1.6.x
Actually, libnfc support PN531, PN532 and PN533 NFC chips, but the devices does not the same features. e.g. PN531 does not support ISO14443B modulation.
It should great to catch theses unsuported commands before sending to chip in order to prevent a chip error.
2010-07-30 11:45:59 +00:00
Romuald Conty 5ac580a241 Code cleanup: remove many debug prints, enhance comments and documentation. 2010-07-30 11:30:19 +00:00
Romuald Conty 18e6e1bc7c Add documentation for pn53x_InListPassiveTarget() 2010-07-29 12:48:59 +00:00
Romuald Conty fc15146bf2 Minor code cleanning. 2010-07-29 12:47:51 +00:00
Romain Tartiere f01b73ab32 Move usb_reset(3) call.
As the documentation states, and as reported in isssue 81 (fixed in r421),
usb_reset()'s argument is invalid after the call and so usb_close(3) must be
called before usb_reset(3).
2010-07-29 10:47:53 +00:00
Emanuele Bertoldi f7e8ec0a95 nfc-sam: cleanup and Windows support improvements. 2010-07-29 10:18:19 +00:00
Roel Verdult 5129a37ec8 fixed typo, missed closing bracket ;) 2010-07-28 12:56:40 +00:00
Roel Verdult 20ed5e1a52 fixed wakeup preamble, change PN532 chip to normal mode after wakeup 2010-07-28 12:52:39 +00:00
Emanuele Bertoldi 9a7ffc38a1 Small improvements to nfc-sam stuff. 2010-07-26 08:55:43 +00:00
Romain Tartiere af584bd474 Fix packet length checksum computation.
The doc says LCS (aka abtTx[4]) must be set so that the lower byte of LCS+LEN
(aka abtTx[3]) is 0x00.  This has not to be related to the USB buffer size, so
that we can adjust it without breaking down the libnfc.
2010-07-25 16:31:53 +00:00
Romain Tartiere 7f9f907bc2 Silent down compiler. 2010-07-24 18:54:50 +00:00
Romain Tartiere e6d079d87a Fix a regression introduced at r461.
This prevents the ATR_REQ from being processed and some tags detection fails in
libfreefare.
2010-07-24 17:20:48 +00:00
Romain Tartiere 4ff66d125f Fix a regression introduced at r458.
Both abtInit and szInitLen are initialised using pbtInitData and szInitDataLen,
so we must use them when calling pn53x_InListPassiveTarget().
2010-07-24 16:30:44 +00:00
Romuald Conty 544bda197e Fix minor warning. 2010-07-23 13:31:33 +00:00
Romuald Conty edb62bd1cb Create pn53x_InDeselect function. 2010-07-23 13:30:06 +00:00
Romuald Conty 7eeb46ab68 Minor indentation fix. 2010-07-23 12:48:30 +00:00
Romuald Conty 7dd1053d03 Fix incorrect selected targets size in pn53x_InListPassive(). 2010-07-23 12:45:21 +00:00
Romuald Conty 3f17e5e032 Minor indentation fix. 2010-07-23 12:41:29 +00:00
Romuald Conty aca1eb40a8 Comment out extern symbol related to PN53x in nfc.c; The goal is to remove all of them from nfc.c 2010-07-22 16:24:24 +00:00
Romuald Conty d932cd8450 Move some PN53x related code from nfc.c to pn53x.c 2010-07-22 16:21:59 +00:00
Romuald Conty 424a48714f Minor documentation improvements. 2010-07-22 16:16:37 +00:00
Romuald Conty c4bb23631b Do not export nfc_parse_device_desc() in libnfc API. 2010-07-22 16:13:02 +00:00
Emanuele Bertoldi 4bc522cd1e First prototype of argument parsing for device description (issue #87). 2010-07-22 13:41:20 +00:00
Romain Tartiere 7945dd18fa Enhance 'make indent'.
- Complete indent(1)'s arguments list;
  - Ensure files to be indented have no local edit;
  - Hide indent command-line details.  Since everything is static, no need for V=1 support.
2010-07-21 22:32:02 +00:00
Romain Tartiere 67fb1330f8 Rework the indent target.
- Check indent is present at ./configure stage;
  - If gindent(1) is installed, use it instead of indent(1);
2010-07-21 13:09:48 +00:00
Romuald Conty 2688de6500 API change: nfc_initiator_select_tag() is now nfc_initiator_select_passive_target() AND nfc_initiator_deselect_tag() is now nfc_initiator_deselect_target() 2010-07-21 10:37:37 +00:00
Romuald Conty d97876714c Add indent directive in root Makefile. 2010-07-20 13:38:58 +00:00