Commit Graph

67 Commits

Author SHA1 Message Date
Romuald Conty
68879ba255 Fix bad indent.
Update issue 84
Status: Reopened
Currently, indent trucate long line which make the code almost unreadable.
2010-09-30 08:14:21 +00:00
Romuald Conty
0c72e7ed1a Workaround to prevent from USB toogle bit issue discussed on Issue 114.
Update issue 114
Status: Fixed
Owner: yobibe
This workaround allow to use PN533 USB (like SCL3711) without toogle bit issue (on OSes that care about this toogle bit: e.g. GNU/Linux, MacOS).
libfreefare tests suite now works as expected, enjoy!
2010-09-29 09:57:50 +00:00
Romuald Conty
7a7687b3b8 Hack that allow to re-use PN53x (connected in USB) when something goes wrong.
New issue
Summary: Implement the abort mechanism (PCD->PICC ACK)
Currently, this issue is motivated by the need to reconnect to the device after a failure: ie. Issue 114.
BTW, this feature could also be useful to break an infinite polling or to cancel a previously sent command.
2010-09-28 15:15:36 +00:00
Romuald Conty
868919107a Fix Zero Lenght Packet problem on USB (Thanks to Phil) 2010-09-23 10:28:35 +00:00
Romuald Conty
18cc86a613 Indent whole code using make indent. (Fixes issue 84). 2010-09-07 17:51:03 +00:00
Romain Tartiere
b9cb5b22c8 Fix build on Microsoft Windows. 2010-09-07 09:59:12 +00:00
Romain Tartiere
ec58634a67 Fix build on Microsoft Windows. 2010-09-07 08:45:03 +00:00
Romuald Conty
fbee88b63e Prevent from warning: implicit declaration of function ‘bzero’. 2010-09-06 09:09:52 +00:00
Romuald Conty
d49439246c Fix ARYGON driver. 2010-08-31 12:55:45 +00:00
Romuald Conty
16330c2f65 Minor code clean up in pn532_uart 2010-08-31 12:54:59 +00:00
Romain Tartiere
af291c5a16 Report errors of ACR122 devices in the transceive function. 2010-08-28 14:25:49 +00:00
Romuald Conty
6a6ae42a97 Fix minor compilation warnings 2010-08-20 10:42:31 +00:00
Romain Tartiere
fd337dd0cc Also detect error frames in pn532_uart (tested) and arygon drivers (not tested). 2010-08-20 10:40:00 +00:00
Romuald Conty
dadaee4cc0 Fix ARYGON compilation 2010-08-20 10:28:11 +00:00
Romuald Conty
bd8a46c3c8 Fix pn532_uart compilation 2010-08-20 10:25:37 +00:00
Romain Tartiere
f4aa4edc94 Rework and fix error frames detection.
While here, rename the pn53x_transceive_callback() function to
pn53x_transceive_check_ack_frame_callback() to make it more obvious what it is
supposed to do.
2010-08-20 10:06:19 +00:00
Romain Tartiere
5744c67039 Fix build on Microsoft Windows (not tested, no hardware). 2010-08-19 18:19:40 +00:00
Romuald Conty
edba53c5da Fix pn532_uart driver. 2010-08-19 09:01:39 +00:00
Romain Tartiere
769eef20f7 Merge r520-546 from trunk. 2010-08-18 14:32:01 +00:00
Romuald Conty
d0fe1f8255 Fix debug trace of pn532_uart driver. 2010-08-18 13:56:31 +00:00
Romuald Conty
c021a50768 Oups, r534 was not a joke... just a mistake ;-) This commit fix my r534. 2010-08-17 13:50:49 +00:00
Romuald Conty
88002bf977 Code cleaning: driver_connect() is never executed with pndd==NULL. 2010-08-17 13:31:32 +00:00
Romuald Conty
7788c33da8 Default serial-port paths are now fully hardcoded instead of half-hardcoded and soft-expanded. 2010-08-17 13:29:01 +00:00
Romain Tartiere
08eb21aa9d Second part of error handling.
- Define two sets of DE<FOOBAR> macros: the first one for 'generic' errors
  which could be encountered regardless of the NFC device the library is acting
  with (0xX000), and ont set for device-dependant errors (0x0X00).
- Make some more functions accept a nfc_device_t* as first argument to have
  access to the iLastError;
- Reset errors when entering public API functions;
- Save errors when applicable;
- Distinguish system-level errors (e.g. I/O error) and operational errors (the
  PCD returns an unexpected value);
- Minor tweaks.

Update issue 65
Status: Feedback

New review:
Owner: rconty@il4p.fr
Cc: rtartiere@il4p.fr
Summary: Review the error-handling code.
Branch: /branches/libnfc-error-handling

For this development, a strong emphasis has been set on making changes that
will not go through our way on the way to libnfc-1.6+.  For this reason, some
constructs are not natural (e.g. error codes defined in two different places),
please keep this in mind when reviewing.
2010-08-15 14:08:29 +00:00
Romain Tartiere
57b775bae2 Always ACK on transmission.
New issue
Summary: Make sending ACK on message transmission skipable.
Owner: rtartiere@il4p.fr
Cc: rtartiere@il4p.fr
Status: New
I guess that for performance reasons, some advance users would prefer to skip
sending the non-mandatory ACK on data transmission.  They may also perform a
quicker check of the ACK returned by the chip after sending the command and
before receiving the response (not sure about this one).

It will probably be a ./configure option disabled by default that allows some "shortcuts" to perform NFC hacking.
2010-08-13 16:02:18 +00:00
Romain Tartiere
b289784359 Merge r511-519 from trunk. 2010-08-11 16:59:09 +00:00
Romuald Conty
2029e0c66f Remove usb_reset() call: this function always failed. 2010-08-11 16:44:34 +00:00
Romain Tartiere
caa594eba8 Remove deprecated code.
Reported by:	rconty@il4p.fr
2010-08-11 09:46:14 +00:00
Romain Tartiere
dfb82f8893 Merge r499-510 from trunk. 2010-08-10 21:14:13 +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
8fef257d16 Also use pn53x_transceive_callback() in the arygon driver.
While here, remove unneeded header in pn532_uart.c.
2010-08-08 15:25:06 +00:00
Romain Tartiere
d7c16d6d1a Factorise UART-relative macros definitions. 2010-08-08 09:34:18 +00:00
Romain Tartiere
d0357cf3aa Merge r486-498 from trunk. 2010-07-31 14:23:33 +00:00
Romain Tartiere
79aeaa6287 Factorise code.
Avoid redundant code in PN53x usb and uart drivers.  Since it makes sense to
report errors at the nfc_device_t level, pass it directly to
pn53x_transceive().

Programs using the libnfc MAY use pn53x_transceive() to communicate with a NFC
device, and SHALL not use anymore pnd->pdc->transceive().  Code in the library
itself SHOULD avoid calling pnd->pdc->transceive(), so such construct have been
updated accordingly.
2010-07-31 14:20:15 +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
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
5ac580a241 Code cleanup: remove many debug prints, enhance comments and documentation. 2010-07-30 11:30:19 +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
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
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
Romuald Conty
2e39e56e17 Return value of pn53x_usb_list_devices() must bool, not void* 2010-05-28 09:55:13 +00:00
Romuald Conty
8c1815fbea Move variable declarations in order to compile using non-C99 compiler. Fix Issue 80. 2010-05-18 08:27:50 +00:00
Romuald Conty
404dfba6e8 usb_release() must be called before usb_reset(). Fix Issue 81 (Thanks to thaolx). 2010-05-18 08:13:26 +00:00
Romain Tartiere
9941191cfc Fix build when configured with --enable-debug. 2010-04-28 12:55:00 +00:00
Romain Tartiere
b28abd77b0 Merge the libnfc-less-bitutils-more-ponies branch into trunk. 2010-04-26 13:13:13 +00:00
Romuald Conty
854cfe15ec Fix ARYGON detection. Rename acConnect to acPort. Now use snprintf and strncpy (see Issue 78) 2010-04-22 10:22:41 +00:00
Romuald Conty
367e14dcc0 Prevent from potential buffer-overflows. 2010-04-21 10:58:04 +00:00