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:
2:0648c1561eb2
Parent:
1:6d202b62ed68
Child:
3:f7f818ee694e
--- a/X_NUCLEO_NFC01A1.cpp	Fri Nov 27 15:10:25 2015 +0000
+++ b/X_NUCLEO_NFC01A1.cpp	Tue Dec 01 08:30:54 2015 +0000
@@ -7,18 +7,20 @@
 
 #include <X_NUCLEO_NFC01A1.h>
 
+const uint8_t  X_NUCLEO_NFC01A1::M24SR_ADDR=0xAC;
+
 X_NUCLEO_NFC01A1 *X_NUCLEO_NFC01A1::mInstance = NULL;
 
 X_NUCLEO_NFC01A1* X_NUCLEO_NFC01A1::Instance(I2C &devI2C,
 		const PinName &gpoName, const PinName &RFDisableName,
 		const PinName &led1Name, const PinName &led2Name,
 		const PinName &led3Name) {
-	if (mInstance == NULL) {
+	if (mInstance == NULL) { // the first time
 		mInstance = new X_NUCLEO_NFC01A1(devI2C, gpoName, RFDisableName,
 				led1Name, led2Name, led3Name);
-		if (mInstance != NULL) {
+		if (mInstance != NULL) { //allocation ok
 			const int status = mInstance->mM24SR.Init(NULL);
-			if (status != NFC_SUCCESS) {
+			if (status != NFC_SUCCESS) { //initialization failed
 				delete mInstance;
 				error(
 						"Failed to init X_NUCLEO_NFC01A1 expansion board!\r\nError:0x%X\r\n",