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 .
Revision 12:c4a778f52d8a, committed 2016-01-14
- Comitter:
- giovannivisentini
- Date:
- Thu Jan 14 09:17:03 2016 +0000
- Parent:
- 11:283df715f241
- Child:
- 13:685d95525ec8
- Commit message:
- update dependency;
Changed in this revision
--- a/NDefLib.lib Mon Jan 11 16:10:12 2016 +0000 +++ b/NDefLib.lib Thu Jan 14 09:17:03 2016 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/users/giovannivisentini/code/NDefLib/#eaf42739791e +http://developer.mbed.org/users/giovannivisentini/code/NDefLib/#ed4d9b8d1410
--- a/Samples/Sample_countClick.cpp Mon Jan 11 16:10:12 2016 +0000
+++ b/Samples/Sample_countClick.cpp Thu Jan 14 09:17:03 2016 +0000
@@ -41,7 +41,7 @@
#include "NDefLib/RecordType/RecordText.h"
/**
- * castom record that map an integer in a text record
+ * Castom record that map an integer in a text record.
*/
class MyRecord : public NDefLib::RecordText{
@@ -50,7 +50,7 @@
uint32_t nClick; /// number to show
/**
- * convert the number in char and update the tag content
+ * Convert the number in char and update the tag content.
*/
void syncTextValue(){
sprintf(nClickStringBuffer,"%d",nClick);
@@ -64,7 +64,7 @@
}
/**
- * increment the stored number and update the racord content
+ * Increment the stored number and update the racord content.
*/
void incrementClick(){
nClick++;
@@ -73,9 +73,9 @@
};
-/* write a nfc message into a tag
- * @param nfcNucleo board where write the data
- * @param msg message to write
+/* Write a nfc message into a tag
+ * @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();
@@ -98,14 +98,14 @@
static volatile bool buttonPress=false; /// true when the user press the message
/**
- * call back called when the user press the button
+ * Call back called when the user press the button.
*/
static void setButtonPress(){
buttonPress=true;
}//if buttonPress
/**
- * Write a castum record that count how many times the user press the button
+ * Write a castum record that count how many times the user press the button.
*/
void sample_countClick() {
@@ -113,7 +113,7 @@
I2C i2cChannel(X_NUCLEO_NFC01A1::DEFAULT_SDA_PIN,X_NUCLEO_NFC01A1::DEFAULT_SDL_PIN);
X_NUCLEO_NFC01A1 *nfcNucleo = X_NUCLEO_NFC01A1::Instance(i2cChannel);
- //get the wrapper for use the NdefLib
+ //retrieve the NdefLib interface
NDefLib::NDefNfcTag& tag = nfcNucleo->getM24SR().getNDefTag();
//set the button interrupt
--- a/Samples/Sample_writeAndChangeAll.cpp Mon Jan 11 16:10:12 2016 +0000
+++ b/Samples/Sample_writeAndChangeAll.cpp Thu Jan 14 09:17:03 2016 +0000
@@ -53,7 +53,7 @@
/**
- * shift the led status between the 3 leds
+ * Shift the led status between the 3 leds.
*/
static void shiftLed(DigitalOut &led1,DigitalOut &led2,DigitalOut &led3){
const uint8_t prevLed1=led1;
@@ -65,8 +65,8 @@
}
/**
- * Create a message that contains all the possible records, and write it in the tag
- * @param tag nfc tag where write the message
+ * Create a message that contains all the possible records, and write it in the tag.
+ * @param tag Nfc tag where write the message.
*/
static void setNFCTag(NDefLib::NDefNfcTag &tag){
@@ -135,8 +135,8 @@
}
/**
- * Print the record content
- * @param r record to print
+ * Print the record content.
+ * @param r Record to print.
*/
static void printRecord(NDefLib::Record *const r){
using namespace NDefLib;
@@ -191,8 +191,8 @@
}
/**
- * change the record content
- * @param r record to change
+ * Change the record content.
+ * @param r Record to change.
*/
static void changeRecord(NDefLib::Record const* r){
using namespace NDefLib;
@@ -241,8 +241,8 @@
}
/**
- * read the nfc message and print the content on the serial console
- * @param tag nfc tag where read the content
+ * Read the nfc message and print the content on the serial console
+ * @param tag Nfc tag where read the content
*/
static void readNfcTag(NDefLib::NDefNfcTag &tag){
using namespace NDefLib;
@@ -269,8 +269,8 @@
}
/**
- * read a nfc message, change the content of each record and write the new message
- * @param tag tag where read and write the nfc message
+ * Read a nfc message, change the content of each record and write the new message.
+ * @param tag Tag where read and write the nfc message.
*/
static void changeNfcTag(NDefLib::NDefNfcTag &tag){
using NDefLib::Record;
@@ -300,14 +300,14 @@
static volatile bool buttonPress=false; /// true when the user press the message
/**
- * call back called when the user press the button
+ * Call back called when the user press the button
*/
static void setButtonPress(){
buttonPress=true;
}//if buttonPress
/**
- * write a message and when the user press the button it read the message, change it and update it
+ * Write a message and when the user press the button it read the message, change it and update it.
*/
void sample_writeAndChangeAll() {
DigitalOut nucleoLed(LED1);
@@ -316,7 +316,7 @@
I2C i2cChannel(X_NUCLEO_NFC01A1::DEFAULT_SDA_PIN,X_NUCLEO_NFC01A1::DEFAULT_SDL_PIN);
X_NUCLEO_NFC01A1 *nfcNucleo = X_NUCLEO_NFC01A1::Instance(i2cChannel);
- //get the wrapper for use the NdefLib
+ //retrieve the NdefLib interface
NDefLib::NDefNfcTag& tag = nfcNucleo->getM24SR().getNDefTag();
//switch on the first led
--- a/Samples/Sample_writeUrl.cpp Mon Jan 11 16:10:12 2016 +0000
+++ b/Samples/Sample_writeUrl.cpp Thu Jan 14 09:17:03 2016 +0000
@@ -40,7 +40,7 @@
#include "NDefLib/RecordType/RecordURI.h"
/**
- * write a Ndef linking the st.com site
+ * Write a Ndef linking the st.com site.
*/
void sample_writeUrl() {
Serial pc(SERIAL_TX, SERIAL_RX);
@@ -49,7 +49,7 @@
X_NUCLEO_NFC01A1 *nfcNucleo = X_NUCLEO_NFC01A1::Instance(i2cChannel);
- //create the wrapper for use the NdefLib
+ //retrieve the NdefLib interface
NDefLib::NDefNfcTag& tag = nfcNucleo->getM24SR().getNDefTag();
pc.printf("System Init done: !\n\r");
//open the i2c session with the nfc chip
--- a/Samples/sample_lockWriteTag.cpp Mon Jan 11 16:10:12 2016 +0000
+++ b/Samples/sample_lockWriteTag.cpp Thu Jan 14 09:17:03 2016 +0000
@@ -41,15 +41,15 @@
static volatile bool buttonPress=false; /// true when the user press the message
/**
- * call back called when the user press the button
+ * Call back called when the user press the button.
*/
static void setButtonPress(){
buttonPress=true;
}//if buttonPress
/**
- * return the led that tell if the tag is read only
- * @param nfcNucleo board where the lead lives
+ * Return the led that tell if the tag is read only.
+ * @param nfcNucleo Board where the lead lives.
* @return let to switch on if the tag is read only
*/
static inline DigitalOut& getReadOnlyLed(X_NUCLEO_NFC01A1 *nfcNucleo){
@@ -57,8 +57,8 @@
}
/**
- * return the led that tell if the tag is write only
- * @param nfcNucleo board where the lead lives
+ * Return the led that tell if the tag is write only.
+ * @param nfcNucleo Board where the lead lives.
* @return let to switch on if the tag is write only
*/
static inline DigitalOut& getWriteableLed(X_NUCLEO_NFC01A1 *nfcNucleo){
@@ -66,8 +66,8 @@
}
/**
- * set the tag as read only and switch the led on
- * @param nfcNucleo board where the lead lives
+ * Set the tag as read only and switch the led on.
+ * @param nfcNucleo Board where the lead lives.
* @return true if the change has effect
*/
bool enableReadOnly( X_NUCLEO_NFC01A1 *nfcNucleo){
@@ -81,8 +81,8 @@
}
/**
- * set the tag as read/write and switch the led on
- * @param nfcNucleo board where the lead lives
+ * Set the tag as read/write and switch the led on.
+ * @param nfcNucleo Board where the lead lives.
* @return true if the change has effect
*/
bool disableReadOnly( X_NUCLEO_NFC01A1 *nfcNucleo){
@@ -96,7 +96,7 @@
}
/**
- * When the user press the button enable/disable the tag write protetion
+ * When the user press the button enable/disable the tag write protetion.
*/
void sample_lockTagContent() {
Serial console(SERIAL_TX, SERIAL_RX);
@@ -105,7 +105,7 @@
I2C i2cChannel(X_NUCLEO_NFC01A1::DEFAULT_SDA_PIN,X_NUCLEO_NFC01A1::DEFAULT_SDL_PIN);
X_NUCLEO_NFC01A1 *nfcNucleo = X_NUCLEO_NFC01A1::Instance(i2cChannel);
- //get the wrapper for use the NdefLib
+ //retrieve the NdefLib interface
NDefLib::NDefNfcTag& tag = nfcNucleo->getM24SR().getNDefTag();
//when the user press the button set buttonPress to true
@@ -136,10 +136,10 @@
if(changeStatusResult)
tagIsLock=!tagIsLock;
else
- console.printf("Error change the tag status");
+ console.printf("Error change the tag status\r\n");
tag.closeSession();
}else{
- console.printf("Error opening the session, tag is in use");
+ console.printf("Error opening the session, tag is in use\r\n");
}
buttonPress=false;
}//if
--- a/X_NUCLEO_NFC01A1.lib Mon Jan 11 16:10:12 2016 +0000 +++ b/X_NUCLEO_NFC01A1.lib Thu Jan 14 09:17:03 2016 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/users/giovannivisentini/code/X_NUCLEO_NFC01A1/#5e637c71cbb3 +http://developer.mbed.org/users/giovannivisentini/code/X_NUCLEO_NFC01A1/#d1f5eaa85deb
--- a/main.cpp Mon Jan 11 16:10:12 2016 +0000
+++ b/main.cpp Thu Jan 14 09:17:03 2016 +0000
@@ -35,8 +35,8 @@
//#define SAMPLE_WRITE_URL
//#define SAMPLE_COUNT_CLICK
-//#define SAMPLE_WRITE_AND_CHANGE_ALL
-#define SAMPLE_LOCK_TAG_CONTENT
+#define SAMPLE_WRITE_AND_CHANGE_ALL
+//#define SAMPLE_LOCK_TAG_CONTENT
int main(void)
{
