mwf_periph_ntag - NTAG
This page only describes the EEPROM procedures.
Information on how to handle NTAG communication will be added at a later date.
mwf_periph_ntag
- NTAG
This describes the procedures for reading and writing to the EEPROM of the short-range wireless communication (NTAG) controller (NT3H2211) built into the chip. The controller is connected via I2C, but it does not use mwf::periph::i2c
.
This procedure allows reading and writing to a 1KB area (NT3H2211 I2C block addresses 64-127).
Code Example
#include "mwf_periph_ntag.hpp"
void func() {
// create the_ntag class object.
if (!mwf::the_ntag) {
mwf::ntag::global_init_ntag_manager();
}
// initialize
mwf::the_ntag->init();
// write 128bytes
uint8_t xfer1[128];
for (unsigned i = 0; i < 128; i++) xfer1[i] = i;
mwf::the_ntag->write_user_area(0x00, xfer1);
// read 128bytes
uint8_t xfer2[128];
mwf::the_ntag->read_user_area(0x00, xfer2);
}
class mwf::periph::ntag
global_init_ntag_manager()
, global_deinit_ntag_manager()
static void global_init_ntag_manager();
static void global_deinit_ntag_manager();
These functions create and destroy the the_ntag
class object.
init()
, deinit()
void init();
void deinit();
These functions perform initialization and termination procedures for device access. Initialization (init()
) includes a waiting period of 300µs.
write_user_area()
bool write_user_area(uint16_t addr, const uint8_t *p, uint16_t len);
template <unsigned N> bool write_user_area(uint8_t addr, const uint8_t (&buf)[N]);
This function writes a byte sequence to the EEPROM user area.
addr
specifies the starting address from 0 to 1023. p
or buf
is the buffer for the data to be written. len
or N
is the number of data bytes.
read_user_area()
bool read_user_area(uint16_t addr, uint8_t *p, uint16_t len);
template <unsigned N> bool read_user_area(uint8_t addr, const uint8_t (&buf)[N]);
This function reads a byte sequence from the EEPROM user area.
addr
specifies the starting address from 0 to 1023. p
or buf
is the destination buffer for the data to be read. len
or N
is the number of data bytes.
class mwf::periph::ntag
(sys_ev_handler
)
on_sleep()
Performs the termination procedure before sleep.
on_wakeup()
If the device was initialized before sleep, it re-initializes it. If re-initialization is not required, call deinit()
before sleeping.