This application provides a set of demos with X-NUCLEO-NFC01A1 expansion board.

Dependencies:   NDefLib X_NUCLEO_NFC01A1 mbed

Fork of X-MBED-NFC1 by Giovanni Visentini

This application provides a set of demos with X-NUCLEO-NFC01A1 expansion board.

The available demos are:

  • SAMPLE_WRITE_URL: write a tag with the ST home page URL
  • SAMPLE_COUNT_CLICK: create a custom tag to count and report the user button clicks.
  • SAMPLE_WRITE_AND_CHANGE_ALL: write a tag with all the supported records and update the tag contents when the user button is pressed.
  • SAMPLE_LOCK_TAG_CONTENT: use the M24SR component API to set the NFC tag as read-only.

To enable the different demos comment/uncomment the SAMPLE_* macros provided in main.cpp .

Revision:
9:9742acd0c015
Parent:
8:a9ecd7687de7
Child:
11:283df715f241
--- a/Samples/Sample_writeAndChangeAll.cpp	Mon Dec 21 13:01:41 2015 +0000
+++ b/Samples/Sample_writeAndChangeAll.cpp	Tue Dec 22 16:22:03 2015 +0000
@@ -1,7 +1,8 @@
 /**
   ******************************************************************************
   * @file       Sample_writeAndChangeAll.cpp
-  * @date       03/12/2015
+  * @author     ST / Central Labs
+  * @date       03 Dic 2015
   * @brief      This demo write an ndef message different records, when the user press the buttun
   *             read the tag, change some data and write it again
   ******************************************************************************
@@ -35,7 +36,7 @@
   
 #include "mbed.h"
 
-#include "Type4NfcTagM24SR.h"
+#include "NDefLib/NDefNfcTag.h"
 
 #include "NDefLib/RecordType/RecordAAR.h"
 #include "NDefLib/RecordType/RecordSMS.h"
@@ -59,7 +60,7 @@
     led3=prevLed2;
 }
 
-static void setNFCTag(NDefLib::Type4NfcTag &tag){
+static void setNFCTag(NDefLib::NDefNfcTag &tag){
 
     bool writeStatus,closeStatus;
     if(tag.openSession()){
@@ -223,7 +224,7 @@
     }//switch
 }
 
-static void readNfcTag(NDefLib::Type4NfcTag &tag){
+static void readNfcTag(NDefLib::NDefNfcTag &tag){
     using namespace NDefLib;
 
     if(tag.openSession()){
@@ -248,11 +249,12 @@
 }
 
 
-static void changeNfcTag(NDefLib::Type4NfcTag &tag){
-    using namespace NDefLib;
+static void changeNfcTag(NDefLib::NDefNfcTag &tag){
+    using NDefLib::Record;
+    using NDefLib::Message;
 
     if(tag.openSession()){
-        NDefLib::Message readMsg;
+        Message readMsg;
 
         tag.read(&readMsg);
 
@@ -284,7 +286,7 @@
     DigitalOut nucleoLed(LED1);
 
     X_NUCLEO_NFC01A1 *nfcNucleo = X_NUCLEO_NFC01A1::Instance(i2cChannel);
-    Type4NfcTagM24SR tag(nfcNucleo->getM24SR());
+    NDefLib::NDefNfcTag& tag = nfcNucleo->getM24SR().getNDefTag();
     InterruptIn mybutton(USER_BUTTON);
     
     nfcNucleo->getLed1()=1;