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:
17:d8d3d2088cac
Parent:
15:94c98d2aa235
Child:
18:d596eb3f575f
--- a/Samples/SampleSync_countClick.cpp	Wed Aug 31 15:14:08 2016 +0000
+++ b/Samples/SampleSync_countClick.cpp	Thu Jul 13 09:41:01 2017 +0000
@@ -36,7 +36,7 @@
   
 #include "mbed.h"
 
-#include "X_NUCLEO_NFC01A1.h"
+#include "XNucleoNFC01A1.h"
 #include "NDefLib/NDefNfcTag.h"
 #include "MyRecord.h"
 
@@ -44,24 +44,24 @@
  * @param nfcNucleo Board where write the data.
  * @param msg Message to write.
  */
-static void writeMessage(X_NUCLEO_NFC01A1 *nfcNucleo,NDefLib::Message &msg){
-    NDefLib::NDefNfcTag& tag = nfcNucleo->getM24SR().getNDefTag();
+static void write_message(XNucleoNFC01A1 *nfcNucleo,NDefLib::Message &msg){
+    NDefLib::NDefNfcTag& tag = nfcNucleo->get_M24SR().get_NDef_tag();
     //open the i2c session with the nfc chip
-    if(tag.openSession()){
+    if(tag.open_session()){
         printf("Session opened\r\n");
 
-        nfcNucleo->getLed1()=! nfcNucleo->getLed1();
+        nfcNucleo->get_led1()=! nfcNucleo->get_led1();
         
         //write the tag
         if(tag.write(msg)){
-            printf("message wriote\r\n");
-            nfcNucleo->getLed2()=!nfcNucleo->getLed2();
+            printf("message wrote\r\n");
+            nfcNucleo->get_led2()=!nfcNucleo->get_led2();
         }//if
 
         //close the i2c session
-        if(tag.closeSession()){
+        if(tag.close_session()){
             printf("Session closed\r\n");
-            nfcNucleo->getLed3()=!nfcNucleo->getLed3();
+            nfcNucleo->get_led3()=!nfcNucleo->get_led3();
         }
     }//if open session
 }//writeMessage
@@ -72,7 +72,7 @@
 /**
  * Call back called when the user press the button.
  */
-static void setButtonPress(){
+static void set_button_press(){
     buttonPress=true;
 }//if buttonPress
 
@@ -82,34 +82,34 @@
 void sampleSync_countClick() {
     
     //instance the board with the default paramiters
-    I2C i2cChannel(X_NUCLEO_NFC01A1::DEFAULT_SDA_PIN,X_NUCLEO_NFC01A1::DEFAULT_SDL_PIN);
-    X_NUCLEO_NFC01A1 *nfcNucleo = X_NUCLEO_NFC01A1::Instance(i2cChannel);
-    
-    //retrieve the NdefLib interface
-    NDefLib::NDefNfcTag& tag = nfcNucleo->getM24SR().getNDefTag();
-    
+    I2C i2cChannel(XNucleoNFC01A1::DEFAULT_SDA_PIN,XNucleoNFC01A1::DEFAULT_SDL_PIN);
+    XNucleoNFC01A1 *nfcNucleo = XNucleoNFC01A1::instance(i2cChannel);
+
     //set the button interrupt
-    InterruptIn userButton(USER_BUTTON);    
-    //InterruptIn userButton(SW1);    
-    userButton.fall(setButtonPress);
+    #if defined(TARGET_STM)
+        InterruptIn userButton(USER_BUTTON);
+    #else
+        InterruptIn userButton(SW2);
+    #endif
+    userButton.fall(set_button_press);
     
     printf("Init Done\r\n");
     
     //create the NDef message and record
     NDefLib::Message msg;
     MyRecord rClickCount;
-    msg.addRecord(&rClickCount);
+    msg.add_record(&rClickCount);
     
-    writeMessage(nfcNucleo,msg);
+    write_message(nfcNucleo,msg);
     
     printf("Start Main Loop\r\n");
     while(true){
         
         if(buttonPress){
             //change the record content
-            rClickCount.incrementClick();
+            rClickCount.increment_click();
             //write the new record content
-            writeMessage(nfcNucleo,msg);  
+            write_message(nfcNucleo,msg);  
             //wait a new button press          
             buttonPress=false;
         }//if
@@ -117,4 +117,4 @@
         __WFE();
     }//while
 
-}//sample_countClick
\ No newline at end of file
+}//sample_countClick