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.h	Fri Nov 27 15:10:25 2015 +0000
+++ b/X_NUCLEO_NFC01A1.h	Tue Dec 01 08:30:54 2015 +0000
@@ -7,18 +7,37 @@
 
 #ifndef X_NUCLEO_NFC01A1_H_
 #define X_NUCLEO_NFC01A1_H_
+#include <stdint.h>
 
 #include "mbed.h"
 
 #include "m24sr/m24sr_class.h"
 
-#define M24SR_ADDR 0xAC   /*!< M24SR address */
-
+/**
+ * singleton class that controls all the electronics inside the X_NUCLEO_NFC01A1 expansion board
+ */
 class X_NUCLEO_NFC01A1 {
 
 private:
+	/**
+	 * ponter to the singleton instance, NULL if we did't build one
+	 */
 	static X_NUCLEO_NFC01A1 *mInstance;
+	/**
+	 * i2c address of the m24sr chip
+	 */
+	static const uint8_t M24SR_ADDR;
 
+	/**
+	 * constructor
+	 * @param devI2C i2c channel used for communicate with the board
+	 * @param gpoName pin of the gpio pin of the M24SR chip
+	 * @param RFDisableName pin for disable the rf antenna
+	 * @param led1Name pin for control the led1 status
+	 * @param led2Name pin for control the led1 status
+	 * @param led3Name pin for control the led1 status
+	 */
+	//TODO FIX all this the pin name?
 	X_NUCLEO_NFC01A1(I2C &devI2C, const PinName &gpoName,
 			const PinName &RFDisableName, const PinName &led1Name,
 			const PinName &led2Name, const PinName &led3Name) :
@@ -28,20 +47,35 @@
 	}
 
 public:
+	//TODO FIX all this the pin name?
 	static X_NUCLEO_NFC01A1* Instance(I2C &devI2C, const PinName &gpoName = D12,
 			const PinName &RFDisableName = D11, const PinName &led1Name = D5,
 			const PinName &led2Name = D4, const PinName &led3Name = D2);
 
+	/**
+	 * @return board led1
+	 */
 	DigitalOut& getLed1() {
 		return mNfcLed1;
 	}
+
+	/**
+	 * @return board led2
+	 */
 	DigitalOut& getLed2() {
 		return mNfcLed2;
 	}
+
+	/**
+	 * @return board led3
+	 */
 	DigitalOut& getLed3() {
 		return mNfcLed3;
 	}
 
+	/**
+	 * @return NFC Chip
+	 */
 	M24SR& getM24SR() {
 		return mM24SR;
 	}