158 lines
6.8 KiB
Text
158 lines
6.8 KiB
Text
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)
|