mbed OS 5 example application using X-NUCLEO-NFC02A1
Dependencies: NDefLib X_NUCLEO_NFC02A1
Fork of HelloWorld_NFC02A1 by
Diff: X_NUCLEO_NFC02A1/m24lr/NDefNfcTagM24LR.cpp
- 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****/
