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.cpp
- Revision:
- 1:6d202b62ed68
- Parent:
- 0:674813bd5ec9
- Child:
- 2:0648c1561eb2
--- a/X_NUCLEO_NFC01A1.cpp Thu Nov 19 08:50:18 2015 +0000
+++ b/X_NUCLEO_NFC01A1.cpp Fri Nov 27 15:10:25 2015 +0000
@@ -7,13 +7,24 @@
#include <X_NUCLEO_NFC01A1.h>
-X_NUCLEO_NFC01A1 *X_NUCLEO_NFC01A1::instance=NULL;
+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(instance==NULL)
- instance = new X_NUCLEO_NFC01A1(devI2C,gpoName,RFDisableName,led1Name,led2Name,led3Name);
- return instance;
- }
-
+ const PinName &gpoName, const PinName &RFDisableName,
+ const PinName &led1Name, const PinName &led2Name,
+ const PinName &led3Name) {
+ if (mInstance == NULL) {
+ mInstance = new X_NUCLEO_NFC01A1(devI2C, gpoName, RFDisableName,
+ led1Name, led2Name, led3Name);
+ if (mInstance != NULL) {
+ const int status = mInstance->mM24SR.Init(NULL);
+ if (status != NFC_SUCCESS) {
+ delete mInstance;
+ error(
+ "Failed to init X_NUCLEO_NFC01A1 expansion board!\r\nError:0x%X\r\n",
+ status);
+ } //if init
+ } //if instance !=NULL
+ } //if instance
+ return mInstance;
+}
