NFC library using PN532 to read/write NDEF Messages to NFC tags
Dependents: Seeed_NFC_Shield_write Nucleo_test_nfc
Fork of PN532 by
NdefRecord.h@3:4189a10038e6, 2013-11-21 (annotated)
- Committer:
- yihui
- Date:
- Thu Nov 21 04:30:49 2013 +0000
- Revision:
- 3:4189a10038e6
sync with https://github.com/Seeed-Studio/PN532/releases/tag/v0.9.
Who changed what in which revision?
User | Revision | Line number | New 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 |