From ccbd2d83c64909bf6a86340df633ba7205d80948 Mon Sep 17 00:00:00 2001 From: Romuald Conty Date: Tue, 19 Oct 2010 15:50:18 +0000 Subject: [PATCH] Add NEWS file to summarize important changes (like API ^^) --- NEWS | 158 ++++++++++++++++++++++++++++++++++++++++ include/nfc/nfc-types.h | 2 +- 2 files changed, 159 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index e69de29..7ea2875 100644 --- a/NEWS +++ b/NEWS @@ -0,0 +1,158 @@ +New in 1.4.0: + +API Changes + + * Types + - New nfc_device_option value (enum): NDO_FORCE_ISO14443_A to force the + chip to switch in ISO14443-A + - New nfc_dep_mode_t (enum) for DEP mode: active/passive (or undefined) + - New nfc_modulation_type_t (enum) that lists modulation types like ISO/IEC + 14443A, Jewel, FeliCa, etc. + - New nfc_baud_rate_t (enum): list of baud rates (eg. NBR_106 for 106 kbps) + - nfc_target_type_t have been removed from API (use nfc_modulation_t + instead) + + * Structures + - nfc_device_t now have a boolean bAutoIso14443_4 to keep the locally the + state of NDO_AUTO_ISO14443_4 (should not be directly set, use + nfc_configure() with NDO_AUTO_ISO14443_4) + - nfc_device_t now have an uint8_t ui8Parameters to cache PN53x parameters + - nfc_device_t now have a byte_t btSupportByte to cache supported + modulations + - nfc_dep_info_t have completely changed, please see API documentation + - nfc_iso14443b_info_t have completely changed, please see API + documentation + - nfc_modulation_t have completely changed: it now contains a + nfc_modulation_type_t and nfc_baud_rate_t couple. Initialization example: + nfc_modulation_t nm = { + .nmt = NMT_ISO14443A, + .nbr = NBR_106, + }; + - nfc_target_t now contains new nfc_modulation_t instead of + nfc_target_type_t. Initialization example: + nfc_target_t nt = { + .nm.nmt = NMT_ISO14443A, + .nm.nbr = NBR_UNDEFINED, + .nti.nai.abtAtqa = { 0x03, 0x44 }, + .nti.nai.abtUid = { 0x08, 0xab, 0xcd, 0xef }, + .nti.nai.btSak = 0x20, + .nti.nai.szUidLen = 4, + .nti.nai.abtAts = { 0x75, 0x77, 0x81, 0x02, 0x80 }, + .nti.nai.szAtsLen = 5, + }; + + * Functions + - nfc_initiator_select_passive_target() now use new nfc_modulation_t and + nfc_target_t instead of nfc_target_info_t + - nfc_initiator_list_passive_targets() now use new nfc_modulation_t and + nfc_target_t instead of nfc_target_info_t + - nfc_initiator_poll_targets() use new nfc_modulation_t instead of + nfc_target_type_t + - nfc_initiator_select_dep_target() completely changed, use now + nfc_dep_mode_t, nfc_baudrate_t, nfc_dep_info_t and nfc_target_t, please + see API documentation + - nfc_target_init() have an additional argument: nfc_target_t to describe + the wanted target + - New iso14443a_locate_historical_bytes() to locate historical bytes in ATS + + + +New in 1.3.9 (since 1.3.4): + +Installed files + + - mifaretag.h and mifareultag.h are removed, Mifare features are not a part + of libnfc API anymore (these features are always available in examples/) + +API Changes + + * Types + - New nfc_device_option_t value (enum): NDO_AUTO_14443_4, an option to + enable/disable auto-switching to ISO/IEC 14443-4 if device is compliliant + - New nfc_device_option_t value (enum): NDO_EASY_FRAMING, an option to + enable/disable automatic frames encapsulation and chaining + - New nfc_target_type_t (enum), with values like NTT_MIFARE, + NTT_ISO14443B_106, NTT_DEP_ACTIVE_424, etc. + - Mifare related types have been removed from API: mifare_cmd, + mifare_param_auth, mifare_param_data, mifare_param_value, mifare_param + + * Structures + - nfc_device_t now have boolean bEasyFraming to enable/disable "easy + framing" feature (should not be directly set, use nfc_configure() with + NDO_EASY_FRAMING) + - nfc_device_t now have integer iLastError to handle last error + - New chip_callbacks to handle error lookup per chip + - driver_callbacks now have a pointer to chip_callbacks + - New nfc_target_t that contains nfc_target_info_t and nfc_target_type_t + + * Functions + - nfc_initiator_select_tag() became nfc_initiator_select_passive_target() + - New nfc_initiator_list_passive_targets() returns a list of detected + target on desired modulation + - (experimental) New nfc_initiator_poll_targets() returns targets that are + detected during hardware polling (available only with PN532) + - nfc_initiator_transceive_dep_bytes(), nfc_target_receive_dep_bytes() and + nfc_target_send_dep_bytes() have been removed from API, use + NDO_EASY_FRAMING option to switch from raw mode to "easy framing" + - nfc_initiator_mifare_cmd() have been removed: no more Mifare related + stuff in libnfc's API + - New nfc_strerror(), nfc_strerror_r() and nfc_perror() to report errors + - New append_iso14443a_crc() to append iso14443a_crc() to a string + + +New in 1.3.4 (since 1.2.1): + +Installed files + + - Headers are now installed in include/nfc instead of include/libnfc + - libnfc.h have been renamed to nfc.h + - defines.h and types.h have been merge into nfc-types.h + - bitutils.h is not installed anymore, some functions are now in + examples/nfc-utils.c + - devices.h, dev_acr122.h, dev_arygon.h, dev_pn531.h, dev_pn533.h and rs232.h + are not installed anymore + - New header mifareultag.h, like mifaretag.h for Mifare UltraLight + - New header nfc-messages.h with messages macros (DBG, ERR, INFO) + +API Changes + + * Types + - uint32_t which was used as size now are size_t + - chip_type became nfc_chip_t (enum) + - init_modulation became nfc_modulation_t (enum), and now have + NM_ACTIVE_DEP and NM_PASSIVE_DEP modulation values added + + * Structures + - dev_info became nfc_device_t + - dev_config_option became nfc_device_option_t + - New nfc_device_desc_t to describe the way to access to a NFC device. + Initialisation example: + nfc_device_desc_t ndd = { + ndd.pcDriver = "ARYGON"; + ndd.pcPort = "/dev/ttyUSB0"; + ndd.uiSpeed = 115200; + }; + - dev_callbacks became driver_callbacks and now have two function pointers + more: pick_device() and list_devices() + - New nfc_dep_info_t to handle DEP targets info + - tag_info_iso14443a became nfc_iso14443a_info_t + - tag_info_iso14443b became nfc_iso14443b_info_t + - tag_info_felica became nfc_felica_info_t + - tag_info_jewel became nfc_jewel_info_t + - tag_info became nfc_target_info_t, and now have extended union to + nfc_dep_info_t + + * Functions + - nfc_connect() now takes 1 nfc_devive_desc_t argument (can be NULL) + - New nfc_list_devices(), it find available NFC devices using all know + drivers + - (experimental) New nfc_initiator_select_dep(), it looks for DEP targets + - (experimental) New nfc_initiator_transceive_dep_bytes(), like + nfc_initiator_transceive_bytes() for DEP targets + - (experimental) New nfc_target_receive_dep_bytes() and + nfc_target_send_dep_bytes(), to receive/send bytes to DEP target + (configured as initiator) while local NFC device is configured as target + - New nfc_device_name() returns the device's name + - New iso14443a_crc() computes CRC as described in ISO/IEC 14443 + - New nfc_version() returns the actual version of libnfc (with SVN + revision, if available) diff --git a/include/nfc/nfc-types.h b/include/nfc/nfc-types.h index aeacb4d..d4651ed 100644 --- a/include/nfc/nfc-types.h +++ b/include/nfc/nfc-types.h @@ -2,7 +2,7 @@ * Public platform independent Near Field Communication (NFC) library * * Copyright (C) 2009, Roel Verdult - * Copyright (C) 2009, Romain Tartière, Romuald Conty + * Copyright (C) 2010, Romain Tartière, Romuald Conty * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by the