Skip to content

Commit

Permalink
Prepare 1.5.0 version
Browse files Browse the repository at this point in the history
  • Loading branch information
neomilium committed Apr 29, 2011
1 parent d1b02c8 commit 517cde2
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 6 deletions.
71 changes: 69 additions & 2 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,71 @@
Feb 21, 2010 - 1.4.2
-------------------------------
Apr nn, 2011 - 1.5.0 (unstable)
-------------------------------

Fixes:
- libnfc: silent warnings with more strict CFLAGS
- libnfc: update devd(8) rules file for FreeBSD
- libnfc: make libnfc compile under Windows
- libnfc: fix nfc_pick_device() when called from nfc_connect with NULL nfc_device_desc_t parameter (Fixes Issue 156)
- chips/pn53x: fix a bug when value is larger than mask when using WriteRegister
- chips/pn53x: adapt MaxRetries to avoid issue with 2 tags on PN531
- examples/nfc-mfclassic: UID was shown reverse-ordered. (Fixes Issue 146)

Improvements:
- libnfc: use a new way to handle drivers, introduce a real HAL
- libnfc: use absolute include path instead of relative ones
- libnfc: move some nfc_device_t members in a better place
- libnfc: improve nfc_driver_t struct to embedded HAL API
- libnfc: nfc_device_t now embeddeds driver data and chip data pointers (useful to be more generic)
- libnfc: use more readable variables instead of strange coding convention
- libnfc: move PRINT_HEX macro into nfc-internal.h
- libnfc: introduce an abort mecanism
- libnfc: suppress any PN53x references in nfc.c
- libnfc: nfc-mfclassic and nfc-mfcultralight examples are now compiled under Windows
- 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? ;-)
- chips/pn53x: try to determine IC version instead of hardcode it.
- chips/pn53x: new fonction to build frames instead of build them in each driver
- chips/pn53x: enable aborting blocking commands (e.g. TgInitAsTarget) and refactor *_check_communication() as pn53x_check_communication().
- chips/pn53x: add timed versions of transceive_bytes/bits, allow to detect emulated/non-emulated tags and more...
- chips/pn53x: support CRC auto-handling in ...transceive_bytes_timed
- drivers/pn53x_usb: ASK LoGO: enable progressive field feature.
- drivers/pn532_uart: major improvement of UART handling
- drivers/pn532_uart: check PN53x frames when received
- drivers/pn53x_usb: enhance ASK LoGO dedicated code
- drivers/pn53x_usb: add LEDs support for ASK LoGO and SCL3711
- drivers/pn532_uart: implement extended frame send/receive for PN532_UART driver.
- drivers/arygon: use the new way to drive UART (its far more stable)
- drivers/arygon: do not hard code PN532 chip type: pn53x_init() determine it and ARYGON device seems to not need to be waken up.
- drivers/arygon: reject too heavy payload (ARYGON does not support PN53x extended frame even with PN532 equipped device)
- drivers/pn532_uart & arygon: now runs almost twice faster than the previous stable release
- buses/uart: receive() is now based on expected bytes instead of calculated timeouts..
- buses/uart: simplify uart_send() on POSIX systems.
- examples/nfc-emulate-tag: minor comments improvements.
- examples: remove nfc-message.h usage from examples.
- examples/nfc-emulate-forum-tag4: fully reworked example: it now support all NFC-Forum device in read and write mode
- examples/pn53x-tamashell: add an example for LoGO LEDs
- examples/pn53x-tamashell: add a script to read Mobib card.
- examples/pn53x-tamashell: add a script to read Navigo card.

Changes:
- libnfc: merge macros from nfc-messages.h into nfc-internal.h
- libnfc: remove useless files: nfc-messages.h, buses.h and chips.h
- API: new nfc_emulate_target() that ease target emulation for developer
- macros: show PRINT_HEX result on stderr in debug mode (that helps to sync with debug msg which are printed on standard error output.)
- 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/pn53x_usb: pn531_usb and pn533_usb drivers are now merged and use the pn53x IC version autodetection
- buses/uart: use a smart way to determine available ports on POSIX systems (tested on Linux and FreeBSD)

--------------------
Feb 21, 2011 - 1.4.2
--------------------

Fixes:
Expand All @@ -20,7 +87,7 @@ Improvements:
- documentation: add more pcsc-lite related instruction in README


Feb 1, 2010 - 1.4.1
Feb 1, 2011 - 1.4.1
-------------------

Fixes:
Expand Down
53 changes: 52 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
@@ -1,9 +1,60 @@
New in 1.5.0:

Installed files
- nfc-message.h have been removed, internal macros are not part of API.
- New nfc-emulation.h file offers a middle level API to handle emulation (see
nfc-emulate-forum-tag4 example)

API Changes

* Types
- New error: DEABORT raised when operation is aborted by user (using
nfc_abort_command())
- nfc_chip_t type removed from public API (have been renamed to pn53x_type
in chips/pn53x)
- nfc_device_spec_t removed, each driver can use his own way to keep a
connection pointer

* Structures
- nfc_device_t now have a nfc_driver_t struct pointer (named .driver) and
void pointer (.driver_data) to handle device specific wrapping
- nfc_device_t now have a void pointer (.chip_data) to keep some chip
specific data
- nfc_device_t now have an file descriptor array to manage to abort request
- nfc_device_t does have .nc member (nfc_chip_t) anymore (different chips
handling in now in chip level)
- nfc_device_t does have .nds member (nfc_device_spec_t) anymore, each
driver handle its communication using driver_data pointer
- nfc_device_t does have .bActive member (bool) anymore, this variable was
almost not used and was not efficient
- nfc_device_t does have chip's register caches anymore, this is handle in
chip level (using chip_data pointer)
- driver_callbacks structure have been removed from public API
- New nfc_emulator structure used by the new emulation API (see
nfc_emulate_target())
- New nfc_emulation_state_machine structure used by the new emulation API,
it handles an I/O function and data pointer to create a software based
state-machine.

* Functions
- New nfc_abort_command() function to abort current running command.
- New nfc_initiator_transceive_bits_timed() and
nfc_initiator_transceive_bytes_timed() to transceive bits/bytes and
measure the time to have a reply
- New nfc_emulate_target() function to start a target emulation using an
nfc_emulator structure (it contains a custom state-machine
(nfc_emulation_state_machine struct) and a custom target (nfc_target_t)
(see nfc-emulate-forum-tag4 to have a look on how-to use it)



New in 1.4.1:

API Changes

* Types
- 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)
- 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)



Expand Down
2 changes: 1 addition & 1 deletion libnfc/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ libnfc_la_SOURCES = \
nfc.c \
nfc-device.c \
nfc-emulation.c
libnfc_la_LDFLAGS = -no-undefined -version-info 1:0:0
libnfc_la_LDFLAGS = -no-undefined -version-info 2:0:0
libnfc_la_CFLAGS = @DRIVERS_CFLAGS@
libnfc_la_LIBADD = \
$(top_builddir)/libnfc/chips/libnfcchips.la \
Expand Down
4 changes: 2 additions & 2 deletions manual-test-results.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ r1013, pn53x-diagnose, ACS ACR 38U-CCID 00 00 / ACR122U102 - PN532 v1.4, N/A, FA
r1013, pn53x-diagnose, SCM Micro / SCL3711-NFC&RW - PN533 v2.7, N/A, FAIL
r1013, pn53x-diagnose, NXP / PN533 - PN533 v2.7, N/A, FAIL
r1013, pn53x-diagnose, ASK / LoGO - PN533 v2.7, N/A, FAIL
r1015 pn53x-diagnose, ASK / LoGO - PN533 v2.7, N/A, OK
r1015 pn53x-diagnose, ACS ACR 38U-CCID 00 00 / ACR122U102 - PN532 v1.4, N/A, OK
r1015, pn53x-diagnose, ASK / LoGO - PN533 v2.7, N/A, OK
r1015, pn53x-diagnose, ACS ACR 38U-CCID 00 00 / ACR122U102 - PN532 v1.4, N/A, OK
r1015, pn53x-diagnose, NXP / PN533 - PN533 v2.7, N/A, OK
r1015, pn53x-diagnose, SCM Micro / SCL3711-NFC&RW - PN533 v2.7, N/A, OK
r744, pn53x-sam (mode 1), Philips / PN531 - PN531 v4.2 + SAM, CardMan 5321, OK
Expand Down

0 comments on commit 517cde2

Please sign in to comment.