forked from Integreight/1Sheeld-Arduino-Library
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NFCShield.h
62 lines (49 loc) · 1.2 KB
/
NFCShield.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
Project: 1Sheeld Library
File: NFCShield.h
Version: 1.5
Compiler: Arduino avr-gcc 4.3.2
Author: Integreight
Date: 2015.3
*/
#ifndef NFCShield_h
#define NFCShield_h
// Input Function ID
#define NFC_GET_BASIC_INFO 0x01
#define NFC_ON_ERROR 0x02
//Error Literals
#define INDEX_OUT_OF_BOUNDS 0x00
#define RECORD_CAN_NOT_BE_PARSED 0x01
#define TAG_NOT_SUPPORTED 0x02
#define NO_ENOUGH_BYTES 0x03
#define TAG_READING_ERROR 0x04
#define RECORD_NOT_FOUND 0x05
#include "ShieldParent.h"
#include "NFCTag.h"
#include "NFCRecord.h"
class NFCShield : public ShieldParent
{
public:
NFCShield();
NFCTag & getLastTag();
bool isNewTagScanned();
void finishedReading();
void enableTagInterrupts();
void disableTagInterrupts();
void setOnNewTagScanned(void (*)(NFCTag &));
void setOnError(void (*)(byte));
private:
bool isErrorAssigned;
bool isNewTag;
bool isNewTagSetOnAssigned;
bool isReadingInProgress;
bool isTagInterruptsEnabled;
NFCTag * tag;
void processData();
void (*errorCallBack)(byte);
void (*newTagCallBack)(NFCTag &);
static NFCTag nullTag;
};
//Extern Object
extern NFCShield NFC;
#endif