From bc2d3c02e53ac97e6708356baae431889f92ce1d Mon Sep 17 00:00:00 2001 From: Dejan REBRACA Date: Fri, 27 Apr 2012 09:45:44 +0200 Subject: Support of topaz tag NFC Forum version number 1.1 The latest version of NFC forum Tag type 1 spec is 1.1. This version number needs to be supported by libnfc to support Topaz tags V1.1 with dynamic content. Version number is part of capability container which resides in segment 1 of EEPROM memory of the tag. For older versions of Tag type 1, NFC device may be backward compatible. Change-Id: Ibbfa720d2e34c2f2612579e368f31f4a5c66b465 Author: Dejan REBRACA Signed-off-by: Dejan REBRACA Signed-off-by: Sebastian Niciarz Singed-off-by: Shuo Gao Signed-off-by: Bruce Beare Signed-off-by: Jack Ren Author-tracking-BZ: 33236 --- src/phFriNfc_TopazDynamicMap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/phFriNfc_TopazDynamicMap.c b/src/phFriNfc_TopazDynamicMap.c index 2aa29ea..e9d1529 100644 --- a/src/phFriNfc_TopazDynamicMap.c +++ b/src/phFriNfc_TopazDynamicMap.c @@ -199,6 +199,9 @@ so there are 4 segements in the card */ ((((block_no) + 1) == TOPAZ_STATIC_LOCK_FIRST_BLOCK_NO) ? \ (((block_no) + 1) + TOPAZ_STATIC_LOCK_BLOCK_AREAS) : \ ((block_no) + 1)) +/* Check topaz spec version number */ +#define TOPAZ_COMPARE_VERSION(device_ver, tag_ver) \ + ((device_ver & 0xF0) >= (tag_ver & 0xF0)) #ifdef FRINFC_READONLY_NDEF @@ -2368,7 +2371,7 @@ phFriNfc_Tpz_H_CheckCCBytesForWrite ( { check_index = (uint8_t)(check_index + 1); - if ((check_cc_rw[0] != ps_tpz_info->CCByteBuf[1]) || + if ((!TOPAZ_COMPARE_VERSION(check_cc_rw[0], ps_tpz_info->CCByteBuf[1])) || (check_cc_rw[1] != ps_tpz_info->CCByteBuf[2]) || (check_cc_rw[2] != ps_tpz_info->CCByteBuf[3])) { -- cgit v1.1