Commit Graph
100 Commits
Author SHA1 Message Date
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
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
Romuald Conty cad3dc652d chips/pn53x: print a debug trace when reading PN53x registers. 2011-05-05 18:19:20 +00:00
Romuald Conty 579102bd7b add some manual test reports. 2011-05-05 16:03:09 +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
Romuald Conty 651d88fd15 examples/nfc-anticol: now use nfc_abort_command() 2011-05-05 14:24:27 +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
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
Romuald Conty 72422e819b examples/nfc-dep-*: disconnect from NFC device on error. 2011-05-05 09:17:38 +00:00
Romuald Conty 9231f47123 examples/pn53x-tamashell-scripts: minor enhancements. 2011-05-03 15:10:51 +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
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
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 59c4e69feb examples/pn53x-diagnose: fix memcmp strings coverage 2011-04-28 13:35:05 +00:00
Romuald Conty 7c274029e7 examples/pn53x-diagnose: fix PN53x commands and report internal error using nfc_perror() 2011-04-28 13:26:47 +00:00
Romuald Conty 6974fb4562 examples/nfc-dep-*: add signal handler to use the abort mecanism. 2011-04-27 15:10:14 +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 09b18bf6b8 example/nfc-emulate-forum-tag4: add some notes about my experiments. 2011-04-22 17:32:07 +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 d86438db4e Debian: add unstable 1.5.0 trunk version to ease debian compilation. 2011-04-20 12:24:35 +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
Romuald Conty f65c601dd4 pn53x-tamashell: add a script to read Navigo card. 2011-04-09 14:51:58 +00:00
Romuald Conty 6a8e4b9c4d pn53x-tamashell: add a script to read Mobib card. 2011-04-09 14:51:11 +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
Romuald Conty ef92fc6a7b add C++ compatibility in include/nfc/nfc-emulation.h 2011-04-06 21:42:47 +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
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
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 b471f56c52 Windows: add a dummy select.h (should allow to compile pn53x_usb driver) 2011-03-31 09:59:34 +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
Romuald Conty fb93023401 Windows does not have err() function. 2011-03-30 09:26:23 +00:00
Romuald Conty 4dad8c2307 Minor manpage improvements. 2011-03-12 16:02:11 +00:00
Romuald Conty ef7e4c126e Update nfc-emulate-forum-tag4 manpage 2011-03-12 15:56:57 +00:00
Romuald Conty 4d458ec3d6 Attempt to fix Windows port. 2011-03-09 18:41:57 +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
Romuald Conty 70c2836798 Add some useful comments on ASK LoGO hardware, and define missing registers. 2011-03-07 02:47:21 +00:00
Romuald Conty c457c45f55 examples/nfc-emulate-tag: minor comments improvements. 2011-03-06 18:48:25 +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
Romuald Conty 9b202d1dbf prefer one-line protypes in API. 2011-03-05 09:09:13 +00:00
Romuald Conty f1e69a7658 silent warnings in examples/. 2011-03-05 09:07:43 +00:00
Romuald Conty bd04a1ab9a oops: add missing lines in nfc-utils.h. 2011-03-05 08:55:53 +00:00
Romuald Conty dba06a555e remove nfc-message.h usage from examples. 2011-03-05 08:53:46 +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
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 f1d909ae74 trunk is should now be considered as unstable. 2011-03-01 11:34:07 +00:00
Romuald Conty 979fc1b5f5 examples: fix broken internal pn53x API. 2011-03-01 11:26:00 +00:00
Romuald Conty 4384d27f3e examples: silent some compilation warnings. 2011-02-28 09:47:31 +00:00
Romuald Conty dbe59f83d9 set more strict CFLAGS to wrote great code ;-) 2011-02-28 09:45:09 +00:00
Romuald Conty d2192fb850 nfc-mfclassic: UID was shown reverse-ordered. (Fixes Issue 146) 2011-02-23 15:14:14 +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 f272e156e8 Add new README-Windows.txt file to distributed archive. 2011-02-07 12:34:13 +00:00
Romuald Conty d7aa94dc17 Import README-Windows.txt file: thanks to you Glenn, libnfc now have Windows build instructions. 2011-02-07 12:31:08 +00:00
Romuald Conty ca3efe2517 nfc-mfclassic: fixes a segfault when using only 1 argument (Fixes Issue 142) 2011-02-06 19:46:16 +00:00
Romuald Conty fa4f6ca2ad nfc-emulate-uid: nfc_target_init() needs a emulable UID at first. (Fixes Issue 143) 2011-02-04 17:43:36 +00:00
Romuald Conty bb1ebea711 debian: only install *.cmd from examples/pn53x-tamashell-scripts/ 2011-02-04 14:32:42 +00:00
Romuald Conty 8c3caed99f Add missing CMake files to generated tarball. (Thanks to Glenn) 2011-02-03 09:51:38 +00:00
Romuald Conty 25e04988a1 README: if ACS CCID is used the pcsc-lite configuration file is different. 2011-02-02 14:44:38 +00:00
Romuald Conty 6f36352265 README: be more generic on the pcsc-lite configuration file. 2011-02-02 14:20:16 +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
Romuald Conty bb1fc9cd87 Remove unrelevant file. 2011-02-01 09:27:27 +00:00
Romuald Conty 200487d172 Fix typo 2011-02-01 09:23:30 +00:00
Romuald Conty 58c5662f35 Improve Windows platform support (Thanks to Glenn)
* Remove stdint for MSVC since MSVC is not supported anymore;
 * Fix libusb detection under Windows;
 * Fix PCSC detection (mingw-w64 now have PC/SC Winscard interface);
 * Ajust CMake files in order to make it compile (some examples have been disabled).
2011-01-17 13:42:24 +00:00