Audrey Diacre
5a9a778879
Remove whitespace after star symbol for pointers
2011-11-25 13:32:29 +00:00
Audrey Diacre
90b5961b40
Rename fixed_timeout to timeout_tv and cleam useless allocation.
2011-11-25 13:30:13 +00:00
Audrey Diacre
5c7454a2f7
Timeout is now integer.
2011-11-25 11:37:30 +00:00
Audrey Diacre
784a2f86a2
Change byte_t type to uint8_t (Fixes Issue 147)
2011-11-24 10:54:42 +00:00
Audrey Diacre
322eec6fb1
Define macro to cast to serial_port_unix.
2011-11-24 10:20:36 +00:00
Audrey Diacre
c718fafee7
Massive code clean up: (Fixes Issue 161)
...
- Remove typedef from internal structs
- Remove _t suffix from types
- Fix tests using connstrings
2011-11-23 15:55:40 +00:00
Anugrah Redja Kusuma
136cfdf48d
Implement driver for ACR122S device
2011-11-23 03:05:12 +00:00
Romuald Conty
63f168440b
Provide a (poor) logging capability when log4c is not available but DEBUG is enabled.
2011-10-27 15:14:18 +00:00
Romuald Conty
b4ebb4510d
Removes libusb types workaround (r200) as it seems to not be needed anymore but may disturb compiler.
2011-10-18 11:03:54 +00:00
Romuald Conty
55daa29a7c
Allow to connect to a device using a connection string:
...
- Provide a nfc_get_default_device() that allow to grab the connstring stored
in LIBNFC_DEFAULT_DEVICE environnement variable or returns the first
available device if not set;
- nfc_connect(NULL) now takes the default device (see
nfc_get_default_device());
- Removes nfc_driver_desc_t from public types
- Defines nfc_connstring as char[1024]
- examples/*: use nfc_connstring
- examples/nfc-poll: now uses only the default device (instead of all devices
availables)
- Removes parse_args() from nfc-utils.[hc]
2011-10-17 13:03:56 +00:00
Romuald Conty
dc842a844c
examples/nfc-read-forum-tag3: add new example to read a NFC Forum Tag Type 3
2011-10-10 00:40:34 +00:00
Romuald Conty
b24191a9b9
Fix compilation using cmake
2011-10-04 21:43:05 +00:00
Romuald Conty
8fa83ac70f
Fix infinite software polling
2011-10-04 21:42:06 +00:00
Romuald Conty
dccfd65c80
Add software polling for non-PN532 equipped device (Fixes Issue 136)
2011-10-03 11:19:08 +00:00
Romuald Conty
b1a30e3e3b
drivers/pn53x_usb: fix timeout computing
2011-10-03 08:59:21 +00:00
Romuald Conty
b2666dea15
windows port improved:
...
- PCSC headers/libs are not a requierement sif you dont select ACR122 driver
- uart_win32 implementation now handles timeouts
2011-10-01 14:50:53 +00:00
Romuald Conty
5ecf382dfc
windows: Oups... timeout is a pointer...
2011-10-01 09:59:27 +00:00
Romuald Conty
afd015f1b7
Attempt to provide a Windows implementation of timeouts handling in UART
2011-09-30 14:02:51 +00:00
Romain Tartiere
311d12feef
Make a copy of the provided timeout before calling select(2).
2011-09-29 15:01:48 +00:00
Romuald Conty
8f7834c625
drivers/arygon,pn532_uart,pn53x_usb: all PN53x commands are now cancelable
2011-09-29 14:53:52 +00:00
Romuald Conty
49ab6a7f31
raise up loggin level when PCSC context is not found (e.g. under POSIX system, pcscd is not running)
2011-09-29 11:59:34 +00:00
Romuald Conty
590e3910de
Document new timeout parameter
2011-09-29 09:49:08 +00:00
Romuald Conty
87c13825af
drivers/pn53x_usb: rework timeout usage
2011-09-22 16:21:22 +00:00
Romain Tartiere
481fb4943f
- Add timeout capablities to nfc_initiator_transceive_bytes(), nfc_target_send_bytes() and nfc_target_receive_bytes();
...
- Bump version to 1.5.1.
2011-09-22 13:03:47 +00:00
Romuald Conty
f6b582cf2b
windows: Remove DGB/WARN/ERROR obsolete macros usage.
2011-09-21 06:54:53 +00:00
Romuald Conty
e4524bc810
chips/pn53x: add RFConfiguration wrappers
2011-09-20 22:43:45 +00:00
Romuald Conty
b33fb81234
logging: fix LOG_CATEGORY and show the last command status.
2011-09-20 18:22:47 +00:00
Romuald Conty
cf99796a77
Removes semaphore.h depends.
2011-09-20 16:23:48 +00:00
Romuald Conty
ca8bd1df91
logging: remove semaphore usage since libnfc is not threaded and log4c does handle threaded cases itself. (Should ease Windows compiling)
2011-09-20 14:07:40 +00:00
Romain Tartiere
f6fc637d77
Soooo fragile :-))))
2011-09-12 17:05:00 +00:00
Romuald Conty
e8eec583ed
Enhance logging system:
...
* Removes internal DBG/WARN/ERR macros (but keep them in examples);
* Removes almost all DEBUG define references;
* Uses the flexible log4c library to log all messages.
2011-09-12 14:50:01 +00:00
Romuald Conty
fa7084fa77
removes the libusb-win32 workaround: libusb-win32 project released a new stable version which fixes the infinite timeout issue. (Thanks to Ergeerts Glenn)
2011-08-08 10:02:47 +00:00
Romuald Conty
676477e20c
rework the way to determine which command is needed to send/receive a frame as target.
2011-06-30 17:05:59 +00:00
Romain Tartiere
84918fd075
Fix invalid memory access when a new driver is probing for hardware and the number of requested devices was already reached.
...
The probing functions assume that at least one device should be found and
passed to the caller, and only after finding such a device they will check that
they should eventually stop looking for more devices. While we could make each
probing function capable of handling the special-case of finding 0 devices, it
is much more consistent to perform the check from the calling function.
2011-06-30 13:35:40 +00:00
Romuald Conty
fd19773c21
drivers/pn53x_usb: Make valgrind more happy :)
2011-06-28 14:05:40 +00:00
Romuald Conty
eec2794d2d
drivers/pn532_uart,arygon: Make valgrind happy with UART-based drivers
2011-06-28 13:16:44 +00:00
Romuald Conty
e6051ceca4
chip/pn53x: clean up SAMConfiguration usage.
2011-06-27 17:12:25 +00:00
Romuald Conty
eb70f3842e
Error handling improvement:
...
- Attempt to sort errors depending their source
- Rename DE* errors to differenciate Device-Error and Driver-Error
- Add ENOTIMPL error to raise a error when a feature is not (yet) implemented in libnfc
2011-06-27 16:31:10 +00:00
Romuald Conty
9c314d5652
Shrink InJumpForDEP frame size according to user manual.
2011-06-27 12:33:55 +00:00
Romuald Conty
904f41e0f7
drivers/pn53x*: use shared pn53x_ack_frame[] and pn53x_nack_frame[] instead of local declaration.
2011-06-27 10:33:55 +00:00
Romuald Conty
699e9008d1
Move ISO14443-3 UID cascading in a dedicated function.
2011-06-27 10:19:00 +00:00
Romuald Conty
0b42cbfb8f
examples/nfc-emulate-forum-tag4: this example now fails with ENOTSUPP when used with a non-PN532 chip.
2011-06-27 09:14:19 +00:00
Romuald Conty
c40319c7b4
Windows: implement automatic uart port detection and input flush (Thanks to Edwin Evans)
2011-06-16 11:50:39 +00:00
Romain Tartiere
a8394caed5
Fix comparison between signed and unsigned.
2011-06-13 21:46:01 +00:00
Romuald Conty
29856a67a0
Rename USB_TIMEOUT to USB_INFINITE_TIMEOUT and use it each time bulk read need to be infinite. (Thanks to Guty)
2011-06-10 10:04:31 +00:00
Romuald Conty
850b3c2375
Improve USB support:
...
- All USB errors are now reported in text format;
- USB drivers now relies on libusb-win32 with version >= 1.2.4.x (1.2.4.6 recommended) (Many thanks to Glenn)
2011-06-09 14:00:45 +00:00
Philippe Teuwen
7c88fc27b5
RC-S360, work-in-progress
2011-06-09 08:59:06 +00:00
Philippe Teuwen
082edbf598
More attempt to support Sony RC-S360 reader
...
Adapt InDeselect & InRelease to RC-S360
nfc-list now supports discovery of several typeA tags properly
Current status of RC-S360 support is:
- nfc-list => ok except for B' & 3B
- nfc-anticol => fails to send raw frames before select
- nfc-mfultralight => ok
- nfc-mfclassic => ok
- pn53x-tamashell => ok
- pn53x-diagnose => ok
- nfc-dep-initiator => ok
- nfc-dep-target => fails in InitAsTarget
- nfc-emulate-* => fails in InitAsTarget
Commands momentarily disabled for RC-S360:
- select_passive_target for B'& 3B
2011-06-08 00:09:57 +00:00
Philippe Teuwen
80a5ad1fd6
More attempt to support Sony S360 reader
...
Initialisation of RC-S360 in mode 0
Better generic nfc-list, does not rely only on DeSelect to avoid duplicates
Restore SetParameters for RC-S360
Handle Diagnose communication test properly
Tested:
- nfc-list => ok except for B' & 3B
- nfc-anticol => fails to send raw frames before select
- nfc-mfultralight => ok
- nfc-mfclassic => ok
- pn53x-tamashell => ok
- pn53x-diagnose => ok
- nfc-dep-initiator => ok
- nfc-dep-target => fails in InitAsTarget
- nfc-emulate-* => fails in InitAsTarget
Commands momentarily disabled for RC-S330:
- InDeselect
- InRelease
- select_passive_target for B'& 3B
2011-06-07 20:36:20 +00:00
Philippe Teuwen
91c46050c0
First attempt to support Sony S330 reader
...
Tested:
- nfc-list
- nfc-anticol
- nfc-mfultralight
- nfc-mfclassic
Commands momentarily disabled:
- SetParameters
- InDeselect
- InRelease
2011-06-05 22:25:05 +00:00
Philippe Teuwen
96538d052b
Extend max length for firmware description & fix typo
2011-05-25 19:53:45 +00:00
Romuald Conty
17c63aebb5
pn53x_usb: continue to search a available device on usb errors (r1092 reverted then issue fixed).
2011-05-25 12:08:42 +00:00
Romuald Conty
917717c4ca
drivers: UART based drivers could now use uart_flush_input() to discard junk bytes on input.
2011-05-25 10:31:19 +00:00
Romuald Conty
22e25a8b1e
chips/pn53x: drivers now uses pn53x_data_new() and pn53x_data_free() to handle strcut pn53x_data allocation, initialization and freeing.
2011-05-25 10:25:17 +00:00
Romuald Conty
c45d4e685a
pn53x_usb: continue to search a available device on usb errors (ie. Device Busy)
2011-05-25 10:15:18 +00:00
Romuald Conty
78ce62e7b6
Fix ISO/IEC 14443-4 hardware emulation.
...
NDO_AUTO_ISO14443_4 is now set to _true_ by default with nfc_target_init();
nfc_emulate_target() now fails (return _false_) when emulator->state_machine->io() failed;
Initialize nfc_device_t variables to _false_ in order to send correctly (see notes in nfc-device.c);
nfc_emulate_forum_tag4 prints error when nfc_emulate_target() failed.
2011-05-24 17:10:13 +00:00
Romuald Conty
975cd275d1
minor fixes
2011-05-20 16:09:00 +00:00
Romain Tartiere
4828211e97
Fix crash when usb_bulk_read() fails.
2011-05-18 22:25:09 +00:00
Romuald Conty
da6add3534
drivers/pn53x_usb: make PN53x usb connection more stable:
...
- move well-know USB problem hack into pn53x_usb_bulk_write()
- put NACK hack to handle PN533 direct reply case
2011-05-17 10:41:26 +00:00
Philippe Teuwen
ff7696fffb
nfc.c: reformulate comments of prev commit in chip-agnostic way. BTW there is more to do...
2011-05-12 20:51:44 +00:00
Philippe Teuwen
e5601e562f
_timed(): now allows indirect control of intern prescaler via max expected cycles count
2011-05-12 20:33:00 +00:00
Philippe Teuwen
b98afced69
Move prescaler to CHIP_DATA struct & remove some compilation warnings
2011-05-11 23:22:52 +00:00
Philippe Teuwen
ab54a37678
list_targets support for ASK CTS512B (no anticol support yet)
2011-05-11 23:00:54 +00:00
Philippe Teuwen
53f1acfdcb
_timed() fcts: allow 32b cycles counter & prescaler!=0
2011-05-11 20:56:09 +00:00
Philippe Teuwen
ca3c5007f6
pn53x _timed fcts now use burst read/write on fifo register
2011-05-10 23:44:36 +00:00
Philippe Teuwen
21dfe81d0b
Some optimisations in initialisation of registers
2011-05-10 23:44:27 +00:00
Romuald Conty
2a9f876363
Import BUFFER_* macros from libfreefare and use them in writeback cache
2011-05-10 19:13:08 +00:00
Romuald Conty
2e630f7e0f
windows port: fix uart_receive() under Win32 platform
2011-05-10 17:02:33 +00:00
Romuald Conty
d37b917352
chips/pn53x: remove double defines for pn53x registers.
2011-05-10 15:13:19 +00:00
Romuald Conty
e4dfa75045
chips/pn53x: *_timed() functions should prefer pn53x_WriteRegister() to bypass any kind of logical handling (mask, writeback, etc)
2011-05-10 13:53:48 +00:00
Romuald Conty
7bb4f4597d
windows port: implement abort mecanism in pn532_uart driver (Based on provided patch: many thanks to Edwin Evans)
2011-05-10 13:26:57 +00:00
Philippe Teuwen
0e3357b589
pn53x _timed fcts: safebelts towards new writeback mechanism
2011-05-09 21:08:03 +00:00
Romuald Conty
ef3303839a
chips/pn53x: fix memset size on writeback cache, typo and fix a mask problem on data store
2011-05-09 20:42:11 +00:00
Romuald Conty
b3cade2db2
Fix writeback cache size and some typo.
2011-05-09 19:55:22 +00:00
Romuald Conty
009d851771
Implement WriteBack cache (Fixes Issue 155)
2011-05-09 19:34:00 +00:00
Romuald Conty
95914345e1
chips/pn53x: add pn53x_data_new() function to alloc and init pn53x_data structure.
2011-05-09 18:47:48 +00:00
Romuald Conty
ebb352f1f3
Clean up and add some debug msg on ReadRegister/WriteRegister
2011-05-09 15:14:50 +00:00
Romuald Conty
25e2dbec95
chips/pn53x: set ui8LastCommand in chip layer instead of driver layer.
2011-05-09 14:22:12 +00:00
Romuald Conty
902bbfb04c
Fix a segfault when abort_p is NULL.
2011-05-09 11:19:01 +00:00
Romuald Conty
921d28d976
Attempt to provide an abort mecanism for windows users...
2011-05-09 11:14:43 +00:00
Romuald Conty
468027ba2b
chips/pn53x: PN532 now goes in LowVBat mode when setting idle mode from target mode.
2011-05-09 10:44:44 +00:00
Romuald Conty
be0f0b0828
New function nfc_idle() to set the NFC device in idle mode.
...
nfc_disconnect() now switch NFC device into idle before disconnecting;
pn53x_data now have a operating_mode enum to know the current running mode (initiator, target or idle);
new pn53x_PowerDown wrapper for PowerDown (PN532) command;
Note: ARYGON idle mode now to be implemented and ACR122 does not support this mode.
2011-05-09 10:09:40 +00:00
Romuald Conty
3a9327d1be
document nfc_abort_command()
2011-05-06 23:25:41 +00:00
Philippe Teuwen
d834860965
Add partial support (list) for ISO14443B-3 ST SRx & ASK CTx cards
2011-05-06 19:11:03 +00:00
Romuald Conty
805d738b24
Implement PN53x extended information frames with USB devices. (Fixes Issue 158)
2011-05-06 15:03:08 +00:00
Romuald Conty
11a91af749
Add some SFR registers description, typo in PN53X_REG_CIU_TxMode address.
2011-05-06 14:32:32 +00:00
Romuald Conty
cd6946e751
Add ISO/IEC 14443 B' aka Type B' modulation partial support
2011-05-06 14:14:06 +00:00
Philippe Teuwen
77e522aade
chips/pn53x.c: allow null reception buffers for transceive commands
2011-05-05 23:13:49 +00:00
Philippe Teuwen
c0a38e6eb0
drivers: fix bug on receive: all pn53x_transceive after an error were flagged as erroneous
2011-05-05 22:26:51 +00:00
Romuald Conty
cad3dc652d
chips/pn53x: print a debug trace when reading PN53x registers.
2011-05-05 18:19:20 +00:00
Romuald Conty
04820bea47
chips/pn53x: set some parameters in FeliCa when using DEP mode.
2011-05-05 15:19:46 +00:00
Romuald Conty
80b4cd9767
chips/pn53x: set some parameters in ISO/IEC 14443A when using DEP mode (ie. SAK says ISO/IEC 18092 compliant)
2011-05-05 15:00:34 +00:00
Philippe Teuwen
e276d3e6ba
nfc_target_init: drop explicitely the field
2011-05-05 14:58:26 +00:00
Philippe Teuwen
8dd8d25ef7
LoGO progressive field: remove hacks, unneeded with revised initializations
2011-05-05 12:45:56 +00:00
Romuald Conty
64b036b129
drivers: InDataExchange is an abortable command too.
2011-05-05 11:49:43 +00:00
Romuald Conty
008f2a8d4c
Minor returns fixes.
2011-05-05 11:46:12 +00:00
Philippe Teuwen
4124dc662d
Cleanup of initializations
2011-05-05 10:12:26 +00:00
Romuald Conty
5f890fedcc
Remove obsolete callbacks
2011-05-05 09:45:39 +00:00
Romuald Conty
0265515a0c
Abort mecanism is now implemented in driver layer:
...
iAbortFd file descriptor array have been removed from nfc_device_t;
nfc_abort_command() can now failed (return false);
nfc_abort_command() now call abort_command pointer from drivers;
pn532_uart and arygon drivers use a pipe-based mecanism (similar from previous one);
pn53x_usb driver use a boolean flag-based mecanism (the previous one does not work as expected);
pn53x_usb now print smarter messages on error at usb connection;
pn53x_usb now handle a strange case: sometimes, the first sent command is not ACKed by PN53x USB device, a dummy command is now sent.
2011-05-05 09:27:17 +00:00
Philippe Teuwen
412c326c3a
better fix for timed fcts
2011-05-04 14:14:18 +00:00
Philippe Teuwen
f2cb0eaa6e
list_passive_targets: fixed for TypeB on LoGO
2011-05-03 19:22:28 +00:00
Romuald Conty
c7da492872
drivers/pn53x_usb: use progressive field on/off only for ISO14443 Type B target listing.
2011-05-03 13:55:38 +00:00
Philippe Teuwen
8169da3701
pn53x: Fix bug in _timed fcts
2011-05-03 13:55:20 +00:00
Romuald Conty
26071a817b
drivers/pn53x_usb: enable progressive field on init to allow pn53x-tamashell to works (note: it does not distrib progressive field enabling when nfc_list_passive_target() is used).
2011-05-03 13:19:03 +00:00
Audrey Diacre
e82e897bd9
pn53x: oups, fix typo.
2011-05-03 12:24:33 +00:00
Audrey Diacre
85a30c0897
pn53x:reorder functions according to header.
2011-05-03 12:08:54 +00:00
Romuald Conty
96358368f5
cast explicitly sz (uint8_t) in size_t
2011-05-02 16:43:03 +00:00
Romuald Conty
517cde2517
Prepare 1.5.0 version
2011-04-29 10:13:57 +00:00
Romuald Conty
de9255eaea
drivers/arygon: enable abort() mecanism on InJumpForDEP command
2011-04-27 15:09:22 +00:00
Romuald Conty
6fc4a5b70a
Use a new current target pointer to choose correctly the sending/receiving method (ie. TgSetData/TgGetData or TgResponseToInitiator/TgGetInitiatorCommand).
2011-04-27 14:42:27 +00:00
Romuald Conty
1107b226ac
drivers/pn532_uart: enable abort() mecanism on InJumpForDEP command
2011-04-27 14:38:05 +00:00
Romuald Conty
ee718d6f9b
drivers/pn53x_usb: do not send ACK when its not needed, enable abort() mecanism on InJumpForDEP command
2011-04-27 14:37:24 +00:00
Romuald Conty
1198a71d64
chip/pn53x: handle PN532 "power down" and "low VBat" power mode instead of a simple "sleep" mode. (Fixes Issue 167)
2011-04-27 13:16:36 +00:00
Romuald Conty
332e4afc31
drivers/arygon: add a debug message when a not supported payload is sent.
2011-04-22 17:30:17 +00:00
Romuald Conty
971d799e39
Arygon driver: append Arygon firmware version to device name.
2011-04-20 14:06:12 +00:00
Romuald Conty
f4f0b38f73
Put a comment on tcflush(), it does not produce the attempted effect. ie. there are remaining bytes from old connections.
2011-04-20 14:03:41 +00:00
Romuald Conty
762f6fb1f3
Windows: install libusb into examples directory using "Bundle" feature from CMake (Thanks to Glenn Ergeerts)
2011-04-20 13:18:38 +00:00
Romuald Conty
231913fd35
show PRINT_HEX result on stderr in debug mode (that helps to sync with debug msg which are printed on standard error output.)
2011-04-20 12:11:31 +00:00
Romuald Conty
4996d36f5f
drivers/arygon: reject too heavy payload (ARYGON does not support extended frame even with PN532 equipped device)
2011-04-14 15:50:04 +00:00
Romuald Conty
fe49ccd701
Implement extended frame send/receive for PN532_UART driver.
2011-04-13 16:39:58 +00:00
Philippe Teuwen
9c7c4307d4
pn53x_usb: turn off LEDs on LoGO on exit
2011-04-08 19:27:10 +00:00
Philippe Teuwen
ed715056e2
pn53x_usb: add comments on LED switching
2011-04-08 19:11:42 +00:00
Romuald Conty
0daa5822f5
add SCM SCL3711 led support: the led is now On/Off accordingly to field activation.
2011-04-08 14:42:29 +00:00
Romuald Conty
bd7c9a2b85
Enhance ASK LoGO dedicated code:
...
- Initialize the device right after pn53x_init() instead of pn53x_initiator_init().
- Turn on LED1 when initialized
- Switch On/Off LED2 on Activation/Desactivation of the field.
2011-04-08 14:30:23 +00:00
Romuald Conty
494e0f4474
windows: copy libusb.dll to bin install dir (windows needs it to be alongside the exe or in the path) (Thanks to Gleen Ergeerts)
2011-04-08 14:11:42 +00:00
Philippe Teuwen
55495e1e97
*_timed fcts: proper error codes
2011-04-05 13:44:36 +00:00
Philippe Teuwen
743fa048e1
pn53x: adapt MaxRetries to avoid issue with 2 tags on PN531, using same value as what LoGO does
2011-04-05 13:39:47 +00:00
Philippe Teuwen
7f2b300dde
support crc auto-handling in ...transceive_bytes_timed
2011-04-04 22:23:38 +00:00
Philippe Teuwen
ffe2714b28
pn53x: factorize timer code
2011-04-04 19:04:43 +00:00
Romuald Conty
11668f1143
Chip type is filled in pn53x_init().
2011-04-04 15:21:28 +00:00
Romuald Conty
601081d50a
Calibrate PN532_UART and ARYGON drivers.
2011-04-04 15:20:33 +00:00
Philippe Teuwen
93de7fcd5c
pn53x drivers: fix timer corrections location
2011-04-04 15:07:39 +00:00
Philippe Teuwen
fb398c387f
pn53x: add timed versions of transceive_bytes/bits
2011-04-04 14:16:36 +00:00
Romuald Conty
b21d3c6728
ASK LoGO: enable progressive field feature.
2011-04-04 09:53:33 +00:00
Romuald Conty
71c400ae14
Fix a bug when value is larger than mask.
2011-04-04 09:53:00 +00:00
Philippe Teuwen
93c56a4b44
pn53x_usb: fix description strings
2011-04-04 09:29:14 +00:00
Philippe Teuwen
5600007dd3
pn53x: factorize & generalize CHIP_DATA() usage
2011-04-04 09:26:10 +00:00
Romuald Conty
5db8be908b
Windows support contribution:
...
- Move CMake modules from cmake_modules/ to cmake/modules/
- CMake now use cmake/config_windows.h.cmake to create config.h on Windows platform
- contrib/windows.h header is automagically included by config.h
- Put missing NFC_EXPORT macro on front of emulation API
- nfc-mfclassic and nfc-mfcultralight examples are now compiled under Windows
Many thanks to Glenn Ergeerts which provide the initial patch.
2011-03-31 13:38:49 +00:00
Romuald Conty
8ed870d886
windows: implement a dynamicly construct list of serial ports (Thanks to Edwin Evans)
2011-03-30 14:19:53 +00:00
Romuald Conty
2c37571a40
Add nfc-emulation source while build using CMake
2011-03-30 09:40:33 +00:00
Romuald Conty
d72d5c536e
Add licence and document a bit some files.
2011-03-30 09:39:08 +00:00
Romain Tartiere
e44af986a0
Unbreak aborting from the pn53X_usb driver.
2011-03-13 20:42:27 +00:00
Romain Tartiere
2d31877aec
Fix header protection.
2011-03-13 20:33:00 +00:00
Romain Tartiere
0f0fa2b14f
Move nfc_emulate_target() from examples to the library.
2011-03-13 14:31:06 +00:00
Romuald Conty
4d458ec3d6
Attempt to fix Windows port.
2011-03-09 18:41:57 +00:00
Romain Tartiere
2f60e23fd5
Cleanup macro.
2011-03-09 16:13:44 +00:00
Romain Tartiere
2cca743e07
Return an error when a command is aborted;
...
Fix aborting with UART devices.
2011-03-09 14:10:40 +00:00
Romain Tartiere
605a5f2db3
Fix nfc_pick_device() when called from nfc_connect with NULL nfc_device_desc_t parameter (Fixes Issue 156)
2011-03-09 13:49:33 +00:00
Romain Tartiere
cfc5273275
Simplify uart_send() on POSIX systems.
2011-03-09 13:42:23 +00:00
Romain Tartiere
ad530f6d02
Various cleanups.
...
- New functions nfc_device_new(), nfc_device_free();
- Add experimental abort mechanism for the PN53x USB driver;
- Move chip-specific variables from nfc_device_t to pn53x_data (Fixes Issue 124).
2011-03-09 13:37:16 +00:00
Romuald Conty
544030099e
Make libnfc compile under Windows
...
Apply adapted patch from Glenn (Thanks!)
2011-03-09 09:41:40 +00:00
Romuald Conty
3fb4b0e0ee
pn532_uart: Use DRIVER_DATA and CHIP_DATA macros
2011-03-08 15:20:16 +00:00
Romain Tartiere
7ca0aa07c5
Initialise pn53x chip in acr122_connect().
2011-03-08 15:09:23 +00:00
Romain Tartiere
88bff13b85
Lint the ACR122 driver.
2011-03-08 15:01:07 +00:00
Romain Tartiere
61fa081cfe
Unbreak support of ACR122.
...
Only tested w/ a touchatag.
@yobibe: _NO_ LED support yet (OMG!)
2011-03-08 14:33:32 +00:00
Romain Tartiere
854f18be74
Cleanup the Arygon driver.
2011-03-08 10:55:44 +00:00
Romuald Conty
70c2836798
Add some useful comments on ASK LoGO hardware, and define missing registers.
2011-03-07 02:47:21 +00:00
Romain Tartiere
0abfe60f35
Fix aborting from blocking command with Arygon devices.
2011-03-05 21:28:18 +00:00
Romain Tartiere
29618b7e27
Fix crash when pn53x_TgInitAsTarget() is aborted.
2011-03-05 21:27:10 +00:00
Romain Tartiere
f1f31d1b4c
Unbreak and merge PN53x USB drivers.
...
While here fix some includes that would not work if SRCDIR != BUILDDIR.
2011-03-05 19:54:52 +00:00
Romuald Conty
094db12a1a
Implements HAL struct for PN532 UART devices.
2011-03-05 10:58:36 +00:00
Romuald Conty
6d3e5d3899
drivers/arygon: code clean up
2011-03-05 10:56:35 +00:00
Romuald Conty
0efa47880b
Hardware abstraction layer for libnfc:
...
Suppress any PN53x references in nfc.c
Improve nfc_driver_t struct to embedded HAL API
Merge macros from nfc-messages.h into nfc-internal.h
Remove useless files: nfc-messages.h, buses.h and chips.h
Implement HAL for ARYGON driver
Move send/receive callbacks from nfc_driver_t to internal chip io callbacks (since there are dedicated to pn53x framing)
2011-03-05 10:06:52 +00:00
Romain Tartiere
a55a52e0a9
Fix pn53x_InAutoPoll() return value on user cancelation (true instead of false).
2011-03-05 01:46:16 +00:00
Romain Tartiere
97dd0b63d7
Implement abort for pn532_uart driver.
2011-03-04 20:17:28 +00:00
Romain Tartiere
4b6060aeeb
Enable aborting blocking commands (e.g. TgInitAsTarget) and refactor
...
*_check_communication() as pn53x_check_communication().
2011-03-04 19:59:49 +00:00
Romain Tartiere
7ed71a1501
Merge r912 into trunk.
2011-03-04 15:49:16 +00:00
Romuald Conty
172beccf6c
drivers/arygon: do not hard code PN532 chip type: pn53x_init() determine it and ARYGON device seems to not need to be waken up.
2011-03-04 11:26:15 +00:00
Romain Tartiere
fe7ec36fb7
Fix Arygon driver reported name.
2011-03-04 11:23:52 +00:00
Romain Tartiere
4d65868208
Only call pn53x_init() from the drivers initialization functions.
2011-03-04 11:23:20 +00:00
Romain Tartiere
b1521a3bb1
If the current driver name does not match what we are looking for, move to the
...
next one before retrying.
2011-03-04 11:18:47 +00:00
Romain Tartiere
61a5268d65
Do not coredump if we have an unexpected reply.
...
If we are speaking to the wrong device, it is very likely we will have an
"unexpected reply" and we should ignore it.
2011-03-04 11:16:18 +00:00
Romuald Conty
f81138b3c7
ARYGON driver works again and PN532_UART improved :)
...
drivers/pn532_uart: code clean up
chips/pn53x: new fonction to build frames
drivers/arygon: use the new way to drive UART (its far more stable)
2011-03-04 09:28:25 +00:00
Romuald Conty
7ec1080e16
Remove a dummy argument in pn53x_transceive().
2011-03-02 15:32:52 +00:00
Romuald Conty
2608b3dc55
smart merge of r906 into trunk (Thanks to marko259 from libnfc forum).
2011-03-02 15:18:06 +00:00
Romuald Conty
4b6ba0aa3c
Always set the size of Rx buffer (prevent from overflow)
2011-03-02 15:02:30 +00:00
Romuald Conty
5af845cdfc
Broke whole the libnfc :-)
...
use a new way to handle drivers
use absolute include path instead of relative ones
move some nfc_device_t members in a better place
nfc_device_t now embeddeds driver data and chip data pointers (useful to be more generic)
use more readable variables instead of strange coding convention
move PRINT_HEX macro into nfc-internal.h
silent warnings with more strict CFLAGS
chips/pn53x: use the powerful C99 writing to construct PN53x commands
chips/pn53x: remove almost all memcpy()
chips/pn53x: WriteRegister, ReadRegister and SetParameters command wrappers are correctly named
chips/pn53x: introduce chip state (SLEEP, NORMAL or EXECUTE)
chips/pn53x: add SAMConfiguration command wrapper (need to be improved)
chips/pn53x: remove almost all const arrays
chips/pn53x: use human readable defines for commands instead of hex values
chips/pn53x: in debug mode, the PN53x command is shown in human-readable string, awesome isn't it? ;-)
drivers: split transceive() into send() and receive() to be able to handle more cases (differed replies, abort commands, etc) later
drivers: use a const structure of functions instead of -dirty- callbacks array
drivers/pn532_uart: major improvement of UART handling
drivers/pn532_uart: check PN53x frames when received
buses/uart: receive() is now based on expected bytes instead of calculated timeouts..
buses/uart: use a smart way to determine available ports on POSIX systems (tested on Linux and FreeBSD)
2011-03-02 15:00:44 +00:00
Romuald Conty
b4d23795de
Prepare 1.4.2 version
2011-02-22 14:17:20 +00:00
Romuald Conty
2ad6591f31
pn532_uart: fix pn532 wakeup response handling
2011-02-15 18:08:35 +00:00
Romuald Conty
695dc75037
uart: fix remaining bytes computation
2011-02-15 18:06:24 +00:00
Romuald Conty
e110a78de7
uart: do not reload static timeout as it is already past (static timeout is used to compensate response delay)
2011-02-14 13:24:42 +00:00
Romuald Conty
555c32015c
uart: prevent from retrieving more than buffer length (potential buffer overflow)
2011-02-14 13:23:39 +00:00
Romuald Conty
243100b676
Silent some compilation warnings (Fixes Issue 145)
2011-02-10 10:38:21 +00:00
Romuald Conty
91419f8ad3
chip/pn53x: set register directly if mask cover whole value.
2011-02-01 21:38:25 +00:00
Romuald Conty
58ad2a5760
Add new supported device: ASK / LoGO. (Thanks to ASK for sending one sample of this device)
2011-02-01 21:20:48 +00:00
Romuald Conty
659d7a9de1
Prepare 1.4.1 version
2011-02-01 09:49:41 +00:00
Emanuele Bertoldi
35188bff25
Removed hard-coded size of ack frame.
2011-01-28 10:22:21 +00:00
Emanuele Bertoldi
eae07f1977
Improved UART communication on POSIX systems:
...
- Added "dynamic timeout" to "uart_send" function.
- Added "static timeout" to each iteration of the while loop (it seems to solve a lot of sync troubles during read operation).
(Tested with PN532).
2011-01-18 11:35:23 +00:00
Emanuele Bertoldi
b58816df05
Fixed issue #139 : serial autoprobe now skips invalid devices but checks all ports in the list.
2011-01-14 16:39:02 +00:00
Roel Verdult
55be1debaf
added include for MIN macro, fixed typo in determin buffer size
2011-01-11 12:04:42 +00:00
Romuald Conty
0f8c23bddd
Inform user if target UID can be emulated
...
New error: ETGUIDNOTSUP raised when UID is not 4 bytes long or does not start with 0x08 (Security restriction present in the NXP PN53x chips)
2011-01-07 16:15:18 +00:00
Romuald Conty
ba1db2f406
chips/pn53x: name commands like user manual
2011-01-06 14:52:45 +00:00
Romuald Conty
88c14f5d4b
Oops, revert wrong file commit
2011-01-06 14:06:01 +00:00
Romuald Conty
556918b298
Add some manual tests with ARYGON APDB2UA33.
2011-01-06 14:04:48 +00:00
Romuald Conty
432eff0f7d
Fix polling on ARYGON devices
2011-01-06 14:00:05 +00:00
Romuald Conty
dd8ec29bb4
chips/pn53x: prefer pn53x_transceive() when possible.
2011-01-06 13:59:20 +00:00
Romuald Conty
6edb5a3bef
Fix reply frame length for InAutoPoll
2011-01-06 13:20:45 +00:00
Romuald Conty
6ca32fbfb9
Fix reply length from transceive bits/bytes functions
2011-01-06 13:07:38 +00:00
Romuald Conty
1d085f21c9
Improve PN53x frame size calculation.
...
chips/pn53x: adjust size and defines to better handle reply size;
drivers/arygon: improve attempted reply size, should speed up the connexion;
drivers/pn532_uart: improve attempted reply size, should speed up the connexion;
2011-01-06 12:39:29 +00:00
Romuald Conty
26b26f9783
Comment out debug messages and use MIN() macro from <sys/param.h>
2011-01-06 12:31:31 +00:00
Romuald Conty
53c8917353
Attempt fix some UART timeouts, should also allow lower devices to be detected.
2010-12-30 10:01:06 +00:00
Romuald Conty
ba37313cb8
Prevent from stack corruption when using PN533-based device and add errors handling for ReadRegister and WriteRegister. (Fixes Issue 135)
2010-12-29 14:01:14 +00:00
Romuald Conty
6aa07aa78b
Add extra dist to make distcheck pass and force distcheck to compile all drivers
2010-11-17 10:14:26 +00:00
Romuald Conty
835823809f
Split UART implementations: POSIX and Windows
...
It could ease to port to other system like MiKey and it should be easy to track which is the concerned OS while uart driver is modified.
2010-11-17 08:48:03 +00:00
Romuald Conty
58dcf63e7c
MERGE: libnfc-mingw-cross merge with trunk (r805-821)
2010-11-17 08:29:41 +00:00
Romuald Conty
6df612a364
Errors use #define instead of constant values.
...
Update Issue 84
Current 'ident' command breaks commit-concerned lines.
2010-11-15 18:50:53 +00:00
Philippe Teuwen
779fdd5df6
Tweaks Touchatag detection under MacOSX (Fixes issue 128)
2010-11-15 13:00:07 +00:00
Romuald Conty
6e29450d69
Fix memory leak while using *_pick(). Thanks to frankmorgner (Fixes Issue 130)
2010-11-12 19:24:20 +00:00
Romuald Conty
6e70cfa5ef
Fix UART default serial ports under Linux.
2010-11-12 18:38:47 +00:00
Romain Tartiere
4e5d0766e1
Rename append_iso14443a_crc() to iso14443a_crc_append().
2010-10-29 10:59:26 +00:00
Romuald Conty
5c8749c63e
drivers/arygon: retrieve ARYGON firmware version
2010-10-22 15:21:06 +00:00
Romuald Conty
8798f6bbcd
Fix ARYGON driver:
...
- Does not send any ACK frame at start: my ARYGON does get happy with this frame (see code comments)
- Send a TAMA reset (for PN532) instead of ACK frame
- Remove bzero use: its a deprecated function
2010-10-22 14:29:44 +00:00
Romuald Conty
ca8c5cabe1
Fix minor compilation warnings
2010-10-22 14:25:09 +00:00
Romuald Conty
1a320d5577
Adjust uart's timeout from baud rate
2010-10-22 14:10:36 +00:00
Romuald Conty
97cf9e925b
Attempt to fix ARYGON driver
2010-10-20 16:14:53 +00:00
Romuald Conty
72d7b66d2b
Handle more corner case during convertion from nfc_* types to available pn53x_* types
2010-10-20 09:28:36 +00:00
Romuald Conty
5538fbd20f
Add NBR_847 (used with ISO14443B) and update convert function.
2010-10-20 08:34:06 +00:00
Romuald Conty
f249af6266
Add ISO14443-4 modulation to hardware polling only when NDO_AUTO_ISO14443_4A have been enabled and document this features and known issues.
2010-10-19 09:34:18 +00:00
Philippe Teuwen
f75d2d3582
Typo
2010-10-18 16:17:01 +00:00
Romuald Conty
f9391ad823
Update some TODOs
2010-10-18 15:47:56 +00:00
Romuald Conty
b5d85fc6e1
Decode supported modulation from PN53x
2010-10-18 14:26:49 +00:00
Romuald Conty
bfb49b594f
Clean the way to retrieve firmware
2010-10-18 13:19:30 +00:00
Romuald Conty
c6c43afc87
Minor FIXME or XXX removes
2010-10-18 12:22:04 +00:00
Romuald Conty
7d59b6b1a3
Make sure the field is disabled then enabled before listing.
...
Improve documentation about default configuration values.
2010-10-18 10:11:30 +00:00
Romuald Conty
ecc1eeca8f
API documentation improvement: explain a bit what is pbtInitData for nfc_initiator_select_passive_target()
2010-10-18 09:53:14 +00:00
Romuald Conty
1f62e9e2f2
Improve API for target emulation, nfc_target_mode_t does not exist anymore (this mode is computed from nfc_target_t)
2010-10-15 14:32:10 +00:00
Philippe Teuwen
33a99288f3
pn53x target_init: fix bug to use Tk; nfc-relay-picc: fix potential segfault
2010-10-14 20:17:58 +00:00
Philippe Teuwen
ffe50562dd
Make use of the now available Tk info
2010-10-14 18:33:17 +00:00
Romuald Conty
cbca45e21c
Oups it miss some space to handle HB.
2010-10-14 17:43:28 +00:00
Romuald Conty
41758ab63f
pn53x_target_init() now takes care of Historical Bytes
2010-10-14 17:38:54 +00:00
Romuald Conty
4a50be27de
Add a iso14443a function to extract Historical Bytes from ATS
2010-10-14 17:32:15 +00:00
Romuald Conty
7c76e1bf32
nfc_target_init() now update nfc_target_t baud rate
2010-10-14 16:27:50 +00:00
Romuald Conty
7294e4fbaf
examples/nfc-utils: decode more ATS info
2010-10-14 14:48:59 +00:00
Romuald Conty
507a23b708
Improve nfc_target_init()
2010-10-14 13:31:36 +00:00
Romuald Conty
60c9da598a
Support different baud rates for nfc_initiator_select_dep_target()
2010-10-14 13:03:23 +00:00
Philippe Teuwen
5a5b5d681b
Small typos
2010-10-14 11:53:27 +00:00
Romuald Conty
af88da1a9c
Replace nfc_target_info_t with nfc_target_t in API function, we now have a coherent struct to handle nfc_target_t, use it!
2010-10-14 11:44:43 +00:00
Romuald Conty
6f3fbcb6bf
Fix nfc_dep_mode_t usage in API, fix/improve documentation
2010-10-14 11:12:23 +00:00
Romuald Conty
d41e7f2ca0
Hack polling modulations in order to have ISO14443-4 with ATS and ISO14443-3 targets
2010-10-13 22:28:29 +00:00
Romuald Conty
9d9b5a629e
Fix nfc-poll, improve pn53x_target_type_t decoding
2010-10-13 21:40:54 +00:00
Romuald Conty
adba90684d
introduce nfc_dep_mode_t type instead of bool in nfc_initiator_select_dep_target()
2010-10-13 19:59:39 +00:00
Romuald Conty
124cc28bac
Typo
2010-10-13 19:51:21 +00:00
Romuald Conty
f2a3d51037
Fix a bug introduce in r729, fix a compilation warning
2010-10-13 19:50:43 +00:00
Romuald Conty
ec601f6a00
Fix two bugs introduced in r729, typo.
2010-10-13 19:31:02 +00:00
Romuald Conty
d67527932c
Add some FIXME/TODO about PN532 that does not supported B type (ISO14443)
2010-10-13 19:24:24 +00:00
Romuald Conty
979430ecd1
nfc_target_t have now nfc_modulation_t instead of nfc_modulatation_type_t
2010-10-13 19:17:51 +00:00
Romuald Conty
584a18ec11
Remove unused pn53x_modulations
2010-10-13 18:41:48 +00:00
Romuald Conty
d289eabc36
Attempt to provide clean types for API
2010-10-13 17:43:23 +00:00
Romuald Conty
9020014160
Rename nfc_modulation_t as pn53x_modulation_t
2010-10-13 15:39:52 +00:00
Romuald Conty
695e5c2f37
Rename nfc_target_type_t as pn53x_target_type_t
2010-10-13 15:31:48 +00:00
Romuald Conty
c53c512831
Change some nfc_target_type_t to insist on the ISO/IEC 14443-4 compliance
2010-10-13 11:49:34 +00:00
Romuald Conty
0fe30e3db7
Change some nfc_target_mode_t to insist on the restrictions offer these mode
2010-10-13 11:35:28 +00:00
Philippe Teuwen
572499f598
pn53x_usb: remove USB timeout (Fixes issue 122)
2010-10-13 07:21:34 +00:00
Philippe Teuwen
2fb1de34f4
pn53x_usb: try to recover device if usb read fails, solves partly Issue 122
2010-10-12 16:04:40 +00:00
Philippe Teuwen
9d1e72a9f7
pn53x_usb: leave the device in cleaner state (Fixes Issue 123)
2010-10-12 15:51:57 +00:00
Romuald Conty
61b0df5fe9
Minor documentation fix
2010-10-12 15:34:37 +00:00
Romuald Conty
c34be50ef1
For the sake of consistency, rename all szRxLen to szRx and szTxLen to szTx
2010-10-12 14:56:42 +00:00
Romuald Conty
b333a4b1cf
Add FeliCa to emulation capabilities
2010-10-12 09:44:39 +00:00
Romuald Conty
2857b1dd1a
Remove a wrong FIXME
2010-10-11 14:53:10 +00:00
Romuald Conty
602787bd03
We can now use an nfc_dep_info_t to specify DEP info as initiator.
2010-10-11 14:49:08 +00:00
Romuald Conty
6e932142f0
arygon: send ACK frame for ARYGON devices too.
2010-10-11 10:54:49 +00:00
Romuald Conty
0bdef6cb2a
pn532_uart: send ACK frame to cancel a eventual previous command during nfc_connect() too.
2010-10-11 10:53:24 +00:00
Romuald Conty
49e6fff104
pn532_uart: start with sending an ACK frame to cancel a eventual previous command.
2010-10-11 10:41:03 +00:00
Romuald Conty
08b06c1d03
Emulated DEP targets can now be customized (NFCID3 and General Bytes).
2010-10-08 21:54:59 +00:00
Romuald Conty
1e9c390dfa
Improve DEP info struct: add more info, and InJumpDEP now fill fully this struct.
2010-10-08 20:25:34 +00:00
Romuald Conty
814ccad1e3
Only send WriteRegister command if register sent value is different from actual one.
2010-10-07 09:46:21 +00:00
Romuald Conty
b8d65f9b27
Keep the last byte as \0 to be sure abtFw will be null-terminated. Fixes an issue I have with my ACR122U205: the last char of the firmware string was changing each nfc-list launch.
2010-10-06 17:52:15 +00:00
Romuald Conty
d9505bbbcc
Better handling of SetParameters command, use a cache, prevent from double set, adjust comments, remove junk code.
2010-10-06 15:12:33 +00:00
Romuald Conty
da7a2bc4c6
Add ISO/IEC 14443B baud rates: 212, 424 and 847 kbps. Set a device error when using a not supported modulation baud rate in InListPassive().
2010-10-06 10:06:12 +00:00
Romuald Conty
e03fb8a916
Minor code clean up.
2010-10-06 10:02:12 +00:00
Philippe Teuwen
69fba08661
acr122u: fixes escape ioctl under linux & make it OS-dependent, to be tested on other OSes!
2010-10-05 13:49:48 +00:00
Philippe Teuwen
d75e25d29d
nfc-emulate-ndef now using easy framing & fix timing issues
2010-10-05 10:05:22 +00:00
Romuald Conty
e9fdccfa63
Fix missing renaming.
2010-10-04 16:34:02 +00:00
Romuald Conty
5233fceda7
Improve the target emulation functions (ATM, only ISO14443A), add an example (nfc-emulate-tag), update examples to use the new API.
2010-10-04 12:46:03 +00:00
Philippe Teuwen
ba4c920af7
pn53x: avoid mix of hardcoded/sizeof values
2010-10-02 20:39:11 +00:00
Philippe Teuwen
c937e8d178
pn53x: handle properly ReadRegister of PN533
2010-10-01 17:42:16 +00:00
Romuald Conty
b53b623c38
Split pn53x_target_init() into TgInitAsTarget command wrapper and the "logical" part
2010-09-30 12:51:13 +00:00
Romuald Conty
33e42f389a
Detect PN53x USB devices before ACR122.
...
This change is needed by the fact that ACR122 use PCSC framework, and PCSC try to detect more than ACR122 devices, this reduce the connection speed (Plus, one some systems pcscd is not launched at boot time, its launched when some application access to using libpcsclite.)
2010-09-30 10:32:44 +00:00
Romuald Conty
6b679862e7
Fix bad indent.
...
Update issue 84
Current indent command push these comments the next line.
2010-09-30 10:27:34 +00:00
Romuald Conty
10f9a3d2b0
PN531 and PN533 does not support NTM_PICC mode
2010-09-30 08:37:46 +00:00
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
4d880e6ce8
Enhance documentation and fix typo.
2010-09-29 14:26:06 +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
Roel Verdult
6dfe88113e
Added new example, PN53x chips will now emulate NDEF tag! not in build-script yet
2010-09-28 16:15:59 +00:00
Romuald Conty
8672c809bd
example: Jewel support in nfc-list and nfc-poll. (Many thanks to Phil)
2010-09-28 15:31:31 +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
Roel Verdult
a0ece60203
let the PN53x functions call it's own configuration, not the main nfc_configure()
2010-09-28 14:48:57 +00:00
Romuald Conty
2f95fb254b
Improve ATQB decoding: "PUPI", "Application Data", and "Protocol Info" is now available as separated fields.
2010-09-23 16:26:06 +00:00
Romuald Conty
ccfd24a682
nfc-anticol now works even after running another program that change the modulation (Fixes Issue 111) (Thanks to Phil for help).
2010-09-23 16:03:05 +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
7e2ddedfc1
Fix ISO14443-B ATTRIB_RES decoding. (Thanks to Phil)
2010-09-23 10:12:10 +00:00
Romuald Conty
e2a2557396
Replace wrong decoded ISO14443-B data by ATTRIB_RES field.
...
New issue
Summary: Improve ISO 14443-B data (ATTRIB_RES) decoding
Before this revision, pn53x_decode_target_data() wrongly decode ISO14443-B. Currently, whole ATTRIB_RES field is stored in nfc_target_info_t struct.
I do not find the correct documentation to fix it better than this, but at least it now retrieves a correct value.
2010-09-22 19:10:50 +00:00
Romuald Conty
2d6c0f5f1a
Decode more targets types from PN53x.
2010-09-22 12:51:32 +00:00
Romuald Conty
0e37a1e9e9
Fix typo, add a minor XXX
2010-09-22 12:42:14 +00:00
Romuald Conty
9cf4f5debb
Fix Felica listing. (Thanks to the contibutor who provide me this patch)
2010-09-21 16:15:27 +00:00
Romuald Conty
52354daa1e
Stop target listing when the maximal wanted target count is reached.
2010-09-21 16:05:24 +00:00
Romuald Conty
0ea9467b56
Minor indentation fixes.
2010-09-20 14:41:41 +00:00
Romuald Conty
362dfb51db
API documentation is more clean now: functions order have more sense.
2010-09-10 13:35:25 +00:00
Romuald Conty
5929bc10e7
Minor documentation improvements.
2010-09-08 22:20:09 +00:00
Romuald Conty
7be31d0ba8
Update documentation and associated example.
2010-09-08 09:16:24 +00:00
Romuald Conty
26b9fee648
Copy missing additional-pages.dox from 1.3.4 tag.
2010-09-08 09:13:12 +00:00
Romuald Conty
18cc86a613
Indent whole code using make indent. (Fixes issue 84).
2010-09-07 17:51:03 +00:00
Romuald Conty
f93b4939f4
Set/reset configuration options at nfc_connect() time. (Fixes issue 108)
2010-09-07 17:33:45 +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
5dbdabcec2
Be sure that NDO_AUTO_ISO14443_4 is activated by default.
2010-09-06 11:16:24 +00:00
Romuald Conty
190b52c4cd
Remove a miss-placed prototypes.
2010-09-06 10:00:41 +00:00
Romuald Conty
fbee88b63e
Prevent from warning: implicit declaration of function ‘bzero’.
2010-09-06 09:09:52 +00:00
Romain Tartiere
cbbe559f94
Alse remove nfc_target_receive_dep_bytes() and nfc_target_send_dep_bytes().
...
Update issue 106
Implement what's described in comment 3, 7 and 8.
2010-09-03 16:45:24 +00:00
Romain Tartiere
a5676ecd94
Remove nfc_initiator_transceive_dep_bytes() and introduce NDO_EASY_FRAMING option.
...
Always use nfc_initiator_transceive_bytes(). If you where using advanced
features and already relying on nfc_initiator_transceive_bytes(), then your
code has to be updated to unset the NDO_EASY_FRAMING option. See an example of
such a change in the libfreefare's repository:
http://code.google.com/p/nfc-tools/source/detail?r=566
Updates issue 106
Status: Feedback
Romuald: I am not sure about the option enum values. I took 0x02 thinking it
would not hurt but am not really sure about that because I can see many 'holes'
in the sequence.
2010-09-03 16:13:36 +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
1130036bf3
- Detect errors in pn53x_get_reg();
...
- Add a test case to confirm an endianness problem on little-endian machines.
2010-08-28 14:27:33 +00:00
Romain Tartiere
af291c5a16
Report errors of ACR122 devices in the transceive function.
2010-08-28 14:25:49 +00:00
Romain Tartiere
a676d34e5d
Fix build on Microsoft Windows.
2010-08-24 11:03:59 +00:00
Romain Tartiere
cbc3a62db1
Remove extern reference to pn53x-specific commands.
...
Fixes issue 101.
2010-08-24 10:31:21 +00:00
Romain Tartiere
f8ed119d1b
Reset pnd->iLastError in nfc.c.
2010-08-24 10:30:18 +00:00
Romain Tartiere
9b44e3b2b7
Rename some internal API to highlight the PN53x operating mode.
...
pn53x_select_dep_target -> pn53x_initiator_select_dep_target
pn53x_transceive_dep_bytes -> pn53x_initiator_transceive_dep_bytes
pn53x_transceive_bits -> pn53x_initiator_transceive_bits
pn53x_transceive_bytes -> pn53x_initiator_transceive_bytes
2010-08-24 10:26:56 +00:00
Romain Tartiere
ecb51c3554
New internal API functions: pn53x_target_send_bits(), pn53x_target_send_bytes().
2010-08-24 10:22:55 +00:00
Romain Tartiere
047f274270
New internal API functions: pn53x_target_receive_bits(), pn53x_target_receive_bytes().
2010-08-24 10:20:04 +00:00
Romain Tartiere
92a6789013
New internal API function: pn53x_target_init().
2010-08-24 10:17:38 +00:00
Romain Tartiere
7f698431b7
New internal API function: pn53x_target_send_dep_bytes().
2010-08-24 10:13:09 +00:00
Romain Tartiere
3d69c8b694
New internal API function: pn53x_target_receive_dep_bytes().
2010-08-24 10:11:48 +00:00
Romain Tartiere
7a231cfb03
New internal API functions: pn53x_transceive_bits(), pn53x_transceive_bytes().
2010-08-24 09:59:45 +00:00
Romain Tartiere
3cba76cc6f
New internal API function: pn53x_transceive_dep_bytes().
2010-08-24 09:56:22 +00:00
Romain Tartiere
ca0d73875d
New internal API function: pn53x_select_dep_target().
2010-08-24 09:53:51 +00:00
Romain Tartiere
5055f3d30b
New internal API function: pn53x_configure().
2010-08-24 09:49:59 +00:00
Romain Tartiere
71b3a1ad6e
New internal API function: pn53x_get_firmware_version().
2010-08-24 09:47:03 +00:00
Romuald Conty
6a6ae42a97
Fix minor compilation warnings
2010-08-20 10:42:31 +00:00
Romain Tartiere
5b0589c381
Merge r551-563 from trunk.
2010-08-20 10:41:30 +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
Romuald Conty
084c001c11
Generate an error before sending InAutoPoll command if chip does not support it.
2010-08-20 10:11:06 +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
b0737bd1a0
Fix pn53x_InAutoPoll().
2010-08-20 09:36:38 +00:00
Romain Tartiere
5744c67039
Fix build on Microsoft Windows (not tested, no hardware).
2010-08-19 18:19:40 +00:00
Romuald Conty
8f19b078ff
Add configuration option to enable/disable auto iso14443-4 mode.
2010-08-19 10:58:15 +00:00
Romuald Conty
edba53c5da
Fix pn532_uart driver.
2010-08-19 09:01:39 +00:00
Romain Tartiere
076fa3686c
Merge r547-550 from trunk.
2010-08-18 17:01:08 +00:00
Romain Tartiere
27b97c0fda
Fix build on Microsoft Windows.
2010-08-18 16:55:16 +00:00
Romain Tartiere
c9f88e17a1
Reset pnd->iLastError in nfc.c.
2010-08-18 14:44:19 +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
5c206b7815
Improve ISO14443B support of nfc_initiator_list_passive_targets() function.
2010-08-18 13:10:21 +00:00
Romuald Conty
43694183ff
Minor documentation improvements.
2010-08-18 12:39:32 +00:00
Romuald Conty
0c19124984
Increase UART timeout to gain in stability.
2010-08-18 08:06:35 +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
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
Romain Tartiere
f797d737d3
Fix build on Microsoft Windows.
2010-08-16 17:43:48 +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
8a75f5b45e
Fix wrong comment
2010-08-15 12:42:40 +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
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
f4bc39bf41
Mostly revert r521.
...
It was obviously an April joke: iErrorCode which was renamed iPICCError is
indeed a PCD Error, so I renamed it to iLastError since communications errors are
also to handle at the device driver level (read chip level), although I guess
that some errors would be common to distinct devices.
PICC error are irrelevant because they can either be transmission error
detection (in which case the libnfc should retry the transmission) or
application-level errors the libnfc cannot be aware of.
2010-08-13 09:02:20 +00:00
Romain Tartiere
0502401a29
Minor tweaks.
...
- Rename the nfc_device_t's struct iErrorCode member to iPICCError (We are
likely to have both PICC and PCD errors fields to avoid unneeded complexity
at some point);
- Make the PN53x error descriptions static;
- Enhance some comments here and there.
2010-08-13 08:31:16 +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
Romuald Conty
d11e7a1320
Prevent from segfault when nfc_disconnect() on NULL pointer
2010-08-11 16:38:22 +00:00
Romain Tartiere
caa594eba8
Remove deprecated code.
...
Reported by: rconty@il4p.fr
2010-08-11 09:46:14 +00:00
Romain Tartiere
ca6b768a67
Fix build on Microsoft Windows.
2010-08-10 21:45:30 +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
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
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
Romain Tartiere
d498fcd48e
Comment all commands that return a status code in the list. Found a typo at that occasion so s/0x93/0x92/.
2010-07-31 09:50:04 +00:00
Romain Tartiere
fb6d9d2d20
Yes we can... remove all those pnd->pdc->transceive() from nfc.c.
...
Within the ongoing effort to improve the NFC devices abstraction, and now that
pn53x_transceive() does not fail when it reads a response that has no
status-code, do not call directly pnd->pdc->transceive() from nfc.c. In a
mid-term future this will be changed again, and calling pn53x_transceive() from
nfc.c will be forbiden, in favor of colling some pnd->transceive() function,
but that's another part of the story.
Of course, it changes the API one more and it's not going to be the last time
in this branch.
2010-07-31 09:40:29 +00:00
Romain Tartiere
705e037b12
Only report status error for commands that provide it in pn53x_transceive().
...
This is the first step for improving abstraction in libnfc.
2010-07-31 09:19:22 +00:00
Romain Tartiere
36ee32f81a
Merge r478-485 from trunk.
2010-07-30 16:34:12 +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
Romain Tartiere
daa178b18f
Enhance error handeling.
...
- New API functions: nfc_strerror(), nfc_strerror_r() and nfc_perror();
- Drivers now have a reference to chips callback methods;
- Rename -pn53x_err2string to pn53x_strerror and add it to pn53x_callbacks_list.
2010-07-29 14:16:11 +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
30e715cff0
Merge r470-477 from trunk.
2010-07-29 10:59:52 +00:00
Romain Tartiere
740b5b430d
libnfc-error-handling: Remove boring debug stuff.
2010-07-29 10:53:14 +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
Romuald Conty
d63157a41d
Fix mask to extract "Error Code" from status byte.
2010-07-27 09:29:54 +00:00
Romain Tartiere
9984e1bdcb
Start of work on error handling.
2010-07-26 12:41:46 +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
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
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
f7c31885f5
Move all Mifare related code from libnfc API to examples: NFC is capable of Mifare, but Mifare is not NFC.
2010-06-15 15:33:22 +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
ac663d02a1
Use pn53x_decode_target_data() to decode target data in nfc_initiator_select_tag(). Fix Issue 82.
2010-05-18 10:57:38 +00:00
Romuald Conty
cf0c2dd9f2
Fix ATS lenght in pn53x_decode_target_data().
2010-05-18 10:55:18 +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
16786c61e3
Remove bitutils I reverted instead of removing in r412.
2010-04-26 13:20:57 +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
e45a0943e8
Change to way to handle DRIVERS_SOURCES in CMake.
2010-04-26 13:00:41 +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
3e16031877
Fix ARYGON driver build (missing comma).
2010-04-22 09:01:22 +00:00
Romuald Conty
367e14dcc0
Prevent from potential buffer-overflows.
2010-04-21 10:58:04 +00:00
Romuald Conty
fa1f9a1ff6
Fix device name: snprintf could not be used to append something to source string.
2010-04-21 10:50:29 +00:00
Romuald Conty
d9ec086beb
Replace some sprintf with snprintf to prevent from buffer-overflow.
2010-04-21 10:23:11 +00:00
Romuald Conty
ce6f7f2c84
Fix potential UART speed problem while autoprobing. Extract communication test from pn532_uart_wakeup().
2010-04-21 10:19:26 +00:00
Romuald Conty
942dcfa631
PN532_UART: prevent from blocking when device doesn't reply correctly to wakeup command.
2010-04-20 15:05:57 +00:00
Romuald Conty
e3ff11eb46
Fix warnings "no previous prototype for ..." on bitutils.[hc]
2010-04-20 09:44:27 +00:00
Romuald Conty
2ab522950f
Remove uart_cts() since the function is defined but never used. Fix Issue 71
2010-04-20 08:48:41 +00:00
Romain Tartiere
204130477e
(libnfc-less-bitutils-more-ponies) MFT
2010-04-17 13:45:00 +00:00
Romain Tartiere
be3f152d3c
Fix a few more warnings.
2010-04-17 13:42:08 +00:00
Romain Tartiere
086e24c407
(libnfc-less-bitutils-more-ponies) Fix build on windows:
...
- do not depends on byte swapping functions / macros;
- add basic err.h functionalities.
2010-04-16 22:38:45 +00:00
Romain Tartiere
3e8e1c8844
Fix build on Windows (using cmake and nmake).
2010-04-16 20:39:56 +00:00
Romain Tartiere
3820c34f28
(libnfc-less-bitutils-more-ponies) MFT
2010-04-16 19:27:49 +00:00
Romain Tartiere
0e6719908b
(libnfc-less-bitutils-more-ponies) Update CMakeLists.txt.
2010-04-16 17:42:00 +00:00
Romain Tartiere
5e452dbb13
Fix cmake breakage introduced in r352:
...
error: 'for' loop initial declaration used outside C99 mode
2010-04-16 17:10:08 +00:00
Romain Tartiere
10baef235f
(libnfc-less-bitutils-more-ponies) Get rid of bitutils.[hc] (part 1).
...
- New API function append_iso14443a_crc();
- Add a PRINT_HEX macro for driver debugging (replaces print_hex function from bitutils.c);
- Move bit-mirroring related functions to libnfc/mirror-subr.[hc];
- Move iso14443 related functions to libnfc/iso14443-subr.c;
- Move libnfc/bitutils.c hex-dumping code to examples/nfc-utils.c;
- Replace calls to swap_endian32() and swap_endian64() functions with calls to bswap32() and bswap64 provided by endian.h.
And while I am here:
- Fix the DBG macro so that it does not throw warning at compile time.
2010-04-16 16:38:57 +00:00
Romain Tartiere
0b301d8ff6
Add missing documentation lines.
2010-04-16 13:00:33 +00:00
Romuald Conty
b55400a0d5
configure.ac rework
...
- Put libusb and PC/SC check in m4 macros.
- Suppress --disable-pcsclite and --disable-libusb
- Add --with-drivers option: we now could choose which driver to build. without this option a default set is build (ATM all drivers except PN532_UART)
2010-04-15 14:41:13 +00:00
Romuald Conty
b747573dc7
PN532_UART readers could now poll using PN532 hardware feature. This commit should fix Issue 56 too.
2010-04-14 13:28:24 +00:00
Romuald Conty
064b7c4b41
Revert libnfc/drivers.h (from r371), this file should not have been commited (in r372).
...
Second pointy hat to: me again
2010-04-14 10:44:12 +00:00
Romuald Conty
0a08ef00c2
Fix recently changed wakeup function for pn532_uart driver.
...
Pointy hat to: me ;)
2010-04-14 10:39:18 +00:00
Romuald Conty
a3f68b566d
Raise up timeout value in UART, this is tricky (ugly?) hack to allow low speed UART device to run nfc-emulate.
2010-04-13 14:36:02 +00:00
Romuald Conty
2766cd8822
ARYGON readers could now poll using PN532 hardware feature.
2010-04-13 14:11:10 +00:00
Romuald Conty
24e7b20d04
Add debug output when pnd->pdc->tranceive() failed.
2010-04-13 12:48:52 +00:00
Romuald Conty
29fad31ee5
Update ARYGON driver, it now support probing as PN532_UART. Communication should be faster (delays removed).
...
Note: ARYGON APPB2UA33 oem reader now works.
2010-04-12 14:51:50 +00:00
Romuald Conty
a4d1c53ed3
Add wake up function for PN532 UART and run a communication test to know if device correctly respond.
2010-04-12 14:48:03 +00:00
Romuald Conty
1ba436041b
Report found device number in debug mode.
2010-04-12 14:43:19 +00:00
Romuald Conty
c9370e6fac
Prevent from running polling on hardware that does not support it.
2010-04-09 23:11:20 +00:00
Romuald Conty
71341b871e
Minor comments added.
2010-04-09 23:09:20 +00:00
Romain Tartiere
ee3715e267
Add convenience library infrastructure and move the print_nfc_iso14443a_info() function away from bitutils.
2010-04-09 21:57:03 +00:00
Romuald Conty
40f230d6f0
New API function (experimental): nfc_initiator_poll_targets() which allow to use hardware polling function. Warning: ATM, it only support ISO14443a targets.
2010-04-09 16:20:47 +00:00
Romuald Conty
4128b23f86
Add new function pn53x_decode_target_data() that fill nfc_target_info_t with TargetData byte stream.
2010-04-09 16:18:42 +00:00
Romuald Conty
af9f744390
Add a simple function to print nfc_iso14443a_info_t structure.
2010-04-09 16:11:21 +00:00
Romuald Conty
e9451f71f2
Add details on nfc_initiator_select_dep_target() fct params (enhance documentation).
2010-04-09 15:11:42 +00:00
Romuald Conty
25b49f7879
Fix mis-initialized ATS field when filling-in nfc_target_info_t structure (wrong source address in memcpy())
2010-04-08 16:20:03 +00:00
Romuald Conty
ab028ab4e2
Add FIXME related to Issue 61.
2010-04-08 16:13:12 +00:00
Romuald Conty
9c43e75691
Redo r336. (Missed at r340)
2010-04-07 16:30:16 +00:00
Romain Tartiere
5473befa13
Fix a brunch of -Wextra warnings:
...
- 'static' is not at beginning of declaration;
- unused parameter;
- comparison between signed and unsigned.
2010-04-07 15:08:04 +00:00
Romuald Conty
3a0d05d15a
Minor headers ajustments.
2010-04-07 14:47:53 +00:00
Romain Tartiere
c7d77d7664
Rearrange source code.
2010-04-07 14:37:19 +00:00