115 Commits

Author SHA1 Message Date
Romuald Conty
efa86f0e35 fix various minor mistakes, ajust timeouts 2012-01-10 14:10:44 +00:00
Romuald Conty
48e92149e4 drop log4c support 2012-01-06 13:05:10 +00:00
Audrey Diacre
c30e9eed36 send/receive callbacks from internal chip io return now libnfc error code on failure. 2012-01-05 13:24:41 +00:00
Romuald Conty
bf7c36d9bb less structs and defines publicly exposed
- nfc_device is now an opaque type;
 - PN53x specific errors are not public anymore;
 - nfc_device_name() renamed to nfc_device_get_name() for the sake of consistency;
 - examples/*, utils/* uses the new nfc_device_get_name() function instead of access directly to struct's content;
 - new error defined: NFC_ERFTRANS for notifying about RF transmission error, its used by mifare.c to detect permissions error on mifare;
 - drivers initiator_transceive_bytes() function now returns libnfc's error code on failure (<0), and received bytes count on success (>=0);
 - remove some unused errors.
2011-12-19 00:23:21 +00:00
Audrey Diacre
52bc5853d8 Remove whitespace after star symbol for pointers 2011-11-25 15:21:10 +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
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
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
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
eec2794d2d drivers/pn532_uart,arygon: Make valgrind happy with UART-based drivers 2011-06-28 13:16:44 +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
c40319c7b4 Windows: implement automatic uart port detection and input flush (Thanks to Edwin Evans) 2011-06-16 11:50:39 +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
2e630f7e0f windows port: fix uart_receive() under Win32 platform 2011-05-10 17:02:33 +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
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
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
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
Romain Tartiere
cfc5273275 Simplify uart_send() on POSIX systems. 2011-03-09 13:42:23 +00:00
Romuald Conty
544030099e Make libnfc compile under Windows
Apply adapted patch from Glenn (Thanks!)
2011-03-09 09:41:40 +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
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
4b6060aeeb Enable aborting blocking commands (e.g. TgInitAsTarget) and refactor
*_check_communication() as pn53x_check_communication().
2011-03-04 19:59:49 +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
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
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
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
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
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
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
6e70cfa5ef Fix UART default serial ports under Linux. 2010-11-12 18:38:47 +00:00
Romuald Conty
ca8c5cabe1 Fix minor compilation warnings 2010-10-22 14:25:09 +00:00