mbed OS 5 example application using X-NUCLEO-NFC02A1

Dependencies:   NDefLib X_NUCLEO_NFC02A1

Fork of HelloWorld_NFC02A1 by ST

Revision:
2:6f1b1f7f8d12
Parent:
1:11ae12d41082
--- a/X_NUCLEO_NFC02A1/m24lr/NDefNfcTagM24LR.cpp	Tue Aug 30 09:18:50 2016 +0000
+++ b/X_NUCLEO_NFC02A1/m24lr/NDefNfcTagM24LR.cpp	Wed Sep 28 11:26:49 2016 +0000
@@ -49,6 +49,37 @@
 #define CC_FILE_LENGTH_BYTE 15
 
 
+#define NFCT5_MAGICNUMBER_E1_CCFILE       0xE1
+#define NFCT5_MAGICNUMBER_E2_CCFILE       0xE2
+#define NFCT5_EXTENDED_CCFILE             0xFF
+#define NFCT5_VERSION_V1_0                0x40
+#define NFCT5_READ_ACCESS                 0x0C
+#define NFCT5_WRITE_ACCESS                0x03
+
+#define NFCT5_NDEF_MSG_TLV                0x03
+#define NFCT5_PROPRIETARY_TLV             0xFD
+#define NFCT5_TERMINATOR_TLV              0xFE
+#define NFCT5_3_BYTES_L_TLV               0xFF
+    
+
+#define NDEF_MAX_SIZE               NFC_DEVICE_MAX_NDEFMEMORY
+
+#define NDEF_SIZE_OFFSET            0
+#define FIRST_RECORD_OFFSET         2
+
+#ifndef MIN
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
+#endif
+
+#define NFCTAG_4M_SIZE            0x200
+#define NFCTAG_16M_SIZE           0x800
+#define NFCTAG_64M_SIZE           0x2000
+
+    
+#define MAX_NDEF_MEM                 0x200
+#define M24LR_MAX_SIZE               NFCTAG_4M_SIZE
+#define M24LR_NDEF_MAX_SIZE          MIN(M24LR_MAX_SIZE,MAX_NDEF_MEM)
+#define NFC_DEVICE_MAX_NDEFMEMORY    M24LR_NDEF_MAX_SIZE
 /**
   * @brief  This function read the data stored in NDEF file at defined offset.
   * @param  Offset : Offset in the NDEF file.
@@ -419,19 +450,10 @@
 
 bool NDefNfcTagM24LR::openSession(bool force) {
 bool status;
-//  if (isSessionOpen()){
-//      mCallBack->onSessionOpen(this,true);
-//      return true;
-//  }
-//
-//  mDevice.SetCallback(&mOpenSessionCallback);
-//  if(force)
-//      return mDevice.ForceGetSession() == NFC_SUCCESS;
-//  else
-//      return mDevice.GetSession() == NFC_SUCCESS;
 
       status = NfcType5_NDEFDetection();
-      if ( status != NFC_SUCCESS )
+
+      if ( status == NFC_SUCCESS ) 
       {
         CCFileStruct.MagicNumber = NFCT5_MAGICNUMBER_E1_CCFILE;
       CCFileStruct.Version = NFCT5_VERSION_V1_0;
@@ -441,7 +463,7 @@
       while( NfcType5_TT5Init( ) != NFC_OK );
       }
       mIsSessionOpen = 1;
-      return NFC_SUCCESS;
+      return NFC_SUCCESS; 
 
 }
 
@@ -466,3 +488,5 @@
 bool NDefNfcTagM24LR::NDefReadByte(const uint16_t byteOffset, const uint16_t length, uint8_t *buffer){
   return mDevice.ReadBinary(byteOffset, length, (uint8_t*)buffer);
 }
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/