About
=====

This package contains the Eclipse projects demonstrating use of NFC NXP-NCI USB dongle


Details
===========

 * Eclipse projects for Windows, Linux and Mac OSx targets
 * Validated with Eclipse IDE for C/C++ Developers versions:
    o Windows: Neon.3 Release (4.6.3)
    o Linux: 3.8.1
    o Mac OSX: Neon.3 Release (4.6.3)
 * Demonstrates:
    o NFC Forum tags reading (read NDEF message)
    o P2P (NDEF message exchange through NFC Forum SNEP protocol) 
    o Type 4 Tag Emulation
    o NFC Forum T2T and T4T tag writing (write NDEF message)
    o Raw tag (non-NDEF) access (MIFARE, ISO14443-4, ISO14443-3A and ISO15693)
    o Multiple tag support (up to 2 of the same technology or multi-protocol card)


Hardware support
================

The examples are meant to run with the NFC NXP-NCI USB dongle attached to the target.
The NFC NXP-NCI USB dongle includes a NXP PN7150 NFC Controller (provides the NFC
functionality) and an NXP LPC11u24 MCU (provides USB to I2C conversion through HID 
standard interface).
More information on the NFC NXP-NCI USB dongle: https://shop.mikroe.com/nfc-usb-dongle


Dependencies
============

The following dependencies must be present on the target to allow building the
examples:
 * Windows:
	o MinGW toolchain (http://www.mingw.org/)
 * Linux:
	o gcc/g++ (can be installed via "apt-get install gcc g++")
	o pthread (can be installed via "apt-get install libpthread-stub0-dev")
	o udev (can be installed via "apt-get install libudev-dev")
 * Mac OSX:
	o CoreFoundation (https://developer.apple.com/reference/corefoundation)
	o IOkit (https://developer.apple.com/reference/iokit)
Additionally, for debugging, GDB (https://www.gnu.org/software/gdb/) must be installed 
on the target.

	
Installation
============

Under Eclipse c/c++ IDE (https://eclipse.org/), import the targeted project from the 
archive file. Build and Run/Debug (note that the "Debug configuration" traces all NCI 
echanges in the console in addition to the application logs).
For more detailed installation procedure, please refer to the related Quick start guide.

 
License
=======

Copyright (c), NXP Semiconductors Caen / France
All rights are reserved. Reproduction in whole or in part is prohibited without the
written consent of the copyright owner. NXP reserves the right to make changes without
notice at any time. NXP makes no warranty, expressed, implied or statutory, including 
but not limited to any implied warranty of merchantability or fitness for any 
particular purpose, or that the use will not infringe any third party patent, copyright
or trademark. NXP must not be liable for any loss or damage arising from its use.


History
=======
 * v1.3: Fixed compile issue when enabling RW_RAW_EXCHANGE flag
	 Updated pre-compiled windows application
 * v1.2: Updated with hidapi new implementation
         Fixed issues forcing to unplug/replug the dongle before restarting the app
         Fixed licensing confusion
         Added hot unplug detection of the dongle
         Added support for T5T NDEF reading and writing
         Added MIFARE Classic cards NDEF read and write example
         Added SNEP fragmentation support
         Fixed potential issue in T4T emulation preventing to restart
         Fixed issue with T3T NDEF reading
         Updated mechanism preventing re-applying settings if no change
         Updated T4T emulation with NFC Forum T4T specification 2.0 version
 * v1.1: Updated TVDD default configuration for USB Dongle support
         Add mechanism to prevent applying settings if no change
         Add API to allow configuring settings and retrieving FW version
         Add possibility to send successive NDEF messages in P2P mode
	 Fix issue in T2T reader mode in case NDEF message size is null
	 Fix issue in T4T reader mode in case card makes use of data chaining
         Fixed issue with multiple Tag 3 type tag support
	 Fixed issue with Multiple ISO15693 tag support
         Raising ATS and ATTRIB card parameters to the interface
	 Prevent potential RF settings EEPROM memory corruption
 * v1.0: First official release