Chameleon-Mini
SniffISO15693.h
1 /*
2  * SniffISO15693.h
3  *
4  * Created on: 05.11.2019
5  * Author: ceres-c
6  */
7 
8 #ifndef SNIFF_ISO15693_H_
9 #define SNIFF_ISO15693_H_
10 
11 #include "Terminal/CommandLine.h"
12 
13 #define ISO15693_APP_NO_RESPONSE 0x0000
14 
15 #define SUBCARRIER_1 32
16 #define SUBCARRIER_2 28
17 #define SUBCARRIER_OFF 0
18 #define SOF_PATTERN 0x1D
19 #define EOF_PATTERN 0xB8
20 
21 //Used when checking the request sent from the reader
22 #define ISO15693_REQ_SUBCARRIER_SINGLE 0x00
23 #define ISO15693_REQ_SUBCARRIER_DUAL 0x01
24 #define ISO15693_REQ_DATARATE_LOW 0x00
25 #define ISO15693_REQ_DATARATE_HIGH 0x02
26 
27 /* Codec Interface */
28 void SniffISO15693CodecInit(void);
29 void SniffISO15693CodecDeInit(void);
30 void SniffISO15693CodecTask(void);
31 
32 /* Application Interface */
33 void SniffISO15693CodecStart(void);
34 void SniffISO15693CodecReset(void);
35 /* Can be used by an application to disable */
36 /* The auto-threshold algorithm */
37 /* This is needed in corner cases - where the algo doesnt */
38 /* find a proper threshold */
39 /* In this case, the application can run an autocalibration session */
40 void SniffISO15693CtrlAutoThreshold(bool enable);
41 bool SniffISO15693GetAutoThreshold(void);
42 
43 /* Function is used to receive the measured FloorNoise */
44 /* This is used to narrow down the range, which is considered for */
45 /* Threshold */
46 uint16_t SniffISO15693GetFloorNoise(void);
47 
48 /* Internal functions */
49 INLINE void SNIFF_ISO15693_READER_EOC_VCD(void);
50 INLINE void CardSniffInit(void);
51 
52 
53 #endif /* SNIFF_ISO15693_H_ */