![](/media/cache/group/ST_logo_2020_blue_V_cmyk.jpg.50x50_q85.jpg)
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
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 .
Diff: Samples/SampleSync_countClick.cpp
- Revision:
- 17:d8d3d2088cac
- Parent:
- 15:94c98d2aa235
- Child:
- 18:d596eb3f575f
diff -r 02611ca49f48 -r d8d3d2088cac Samples/SampleSync_countClick.cpp --- 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