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: X_NUCLEO_NFC01A1.h
- 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;
}
