PN532 NFC shield of Adafruit based on PN532 of Seeed.

Fork of PN532 by Seeed

Committer:
dwini
Date:
Thu Nov 17 11:32:02 2016 +0000
Revision:
11:e7bbcfa61859
Parent:
3:4189a10038e6
Fix use of DMSG instead of printf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yihui 3:4189a10038e6 1 #ifndef NdefRecord_h
yihui 3:4189a10038e6 2 #define NdefRecord_h
yihui 3:4189a10038e6 3
yihui 3:4189a10038e6 4 #include <string>
yihui 3:4189a10038e6 5 #include <Ndef.h>
yihui 3:4189a10038e6 6
yihui 3:4189a10038e6 7 using namespace std;
yihui 3:4189a10038e6 8
yihui 3:4189a10038e6 9 #define TNF_EMPTY 0x0
yihui 3:4189a10038e6 10 #define TNF_WELL_KNOWN 0x01
yihui 3:4189a10038e6 11 #define TNF_MIME_MEDIA 0x02
yihui 3:4189a10038e6 12 #define TNF_ABSOLUTE_URI 0x03
yihui 3:4189a10038e6 13 #define TNF_EXTERNAL_TYPE 0x04
yihui 3:4189a10038e6 14 #define TNF_UNKNOWN 0x05
yihui 3:4189a10038e6 15 #define TNF_UNCHANGED 0x06
yihui 3:4189a10038e6 16 #define TNF_RESERVED 0x07
yihui 3:4189a10038e6 17
yihui 3:4189a10038e6 18 class NdefRecord
yihui 3:4189a10038e6 19 {
yihui 3:4189a10038e6 20 public:
yihui 3:4189a10038e6 21 NdefRecord();
yihui 3:4189a10038e6 22 NdefRecord(const NdefRecord& rhs);
yihui 3:4189a10038e6 23 ~NdefRecord();
yihui 3:4189a10038e6 24 NdefRecord& operator=(const NdefRecord& rhs);
yihui 3:4189a10038e6 25
yihui 3:4189a10038e6 26 int getEncodedSize();
yihui 3:4189a10038e6 27 void encode(uint8_t *data, bool firstRecord, bool lastRecord);
yihui 3:4189a10038e6 28
yihui 3:4189a10038e6 29 unsigned int getTypeLength();
yihui 3:4189a10038e6 30 int getPayloadLength();
yihui 3:4189a10038e6 31 unsigned int getIdLength();
yihui 3:4189a10038e6 32
yihui 3:4189a10038e6 33 uint8_t getTnf();
yihui 3:4189a10038e6 34 void getType(uint8_t *type);
yihui 3:4189a10038e6 35 void getPayload(uint8_t *payload);
yihui 3:4189a10038e6 36 void getId(uint8_t *id);
yihui 3:4189a10038e6 37
yihui 3:4189a10038e6 38 // convenience methods
yihui 3:4189a10038e6 39 string getType();
yihui 3:4189a10038e6 40 string getId();
yihui 3:4189a10038e6 41
yihui 3:4189a10038e6 42 void setTnf(uint8_t tnf);
yihui 3:4189a10038e6 43 void setType(const uint8_t *type, const unsigned int numuint8_ts);
yihui 3:4189a10038e6 44 void setPayload(const uint8_t *payload, const int numuint8_ts);
yihui 3:4189a10038e6 45 void setId(const uint8_t *id, const unsigned int numuint8_ts);
yihui 3:4189a10038e6 46
yihui 3:4189a10038e6 47 void print();
yihui 3:4189a10038e6 48 private:
yihui 3:4189a10038e6 49 uint8_t getTnfuint8_t(bool firstRecord, bool lastRecord);
yihui 3:4189a10038e6 50 uint8_t _tnf; // 3 bit
yihui 3:4189a10038e6 51 unsigned int _typeLength;
yihui 3:4189a10038e6 52 int _payloadLength;
yihui 3:4189a10038e6 53 unsigned int _idLength;
yihui 3:4189a10038e6 54 uint8_t *_type;
yihui 3:4189a10038e6 55 uint8_t *_payload;
yihui 3:4189a10038e6 56 uint8_t *_id;
yihui 3:4189a10038e6 57 };
yihui 3:4189a10038e6 58
yihui 3:4189a10038e6 59 #endif