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 .
X_NUCLEO_NFC01A1.h
- Committer:
- giovannivisentini
- Date:
- 2015-12-01
- Revision:
- 3:f7f818ee694e
- Parent:
- 2:0648c1561eb2
File content as of revision 3:f7f818ee694e:
/*
* X_NUCLEO_NFC01A1.h
*
* Created on: Nov 5, 2015
* Author: giovanni visentini
*/
#ifndef X_NUCLEO_NFC01A1_H_
#define X_NUCLEO_NFC01A1_H_
#include <stdint.h>
#include "mbed.h"
#include "m24sr/m24sr_class.h"
/**
* 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;
static const PinName GPO_PIN;
static const PinName RF_DISABLE_PIN;
static const PinName LED1_PIN;
static const PinName LED2_PIN;
static const PinName LED3_PIN;
/**
* 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) :
mM24SR(M24SR_ADDR, devI2C, GPO_PIN, RF_DISABLE_PIN), mNfcLed1(
LED1_PIN), mNfcLed2(LED2_PIN), mNfcLed3(LED3_PIN) { }
public:
const static PinName DEFAULT_SDA_PIN;
const static PinName DEFAULT_SDL_PIN;
static X_NUCLEO_NFC01A1* Instance(I2C &devI2C);
/**
* @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;
}
virtual ~X_NUCLEO_NFC01A1() {
}
private:
M24SR mM24SR;
DigitalOut mNfcLed1;
DigitalOut mNfcLed2;
DigitalOut mNfcLed3;
};
#endif /* X_NUCLEO_NFC01A1_H_ */
