summaryrefslogtreecommitdiff
path: root/nfclib/directmode.h
blob: 612485942db1bbd0654dcc0a1017a8ca8352598f (plain)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//*****************************************************************************
//
// directmode.h - Direct mode communications.
//
// Copyright (c) 2010-2014 Texas Instruments Incorporated.  All rights reserved.
// Software License Agreement
// 
// Texas Instruments (TI) is supplying this software for use solely and
// exclusively on TI's microcontroller products. The software is owned by
// TI and/or its suppliers, and is protected under applicable copyright
// laws. You may not combine this software with "viral" open-source
// software in order to form a larger program.
// 
// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
// DAMAGES, FOR ANY REASON WHATSOEVER.
// 
// This is part of revision 2.1.0.12573 of the Tiva Firmware Development Package.
//
//*****************************************************************************

#ifndef __DIRECTMODE_H__
#define __DIRECTMODE_H__

//*****************************************************************************
//
// Define NULL, if not already defined.
//
//*****************************************************************************
#ifndef NULL
#define NULL                    ((void *)0)
#endif

//
// Input to DirectModeTransceive is an opaque stream of bits, grouped as 8
// bits into one byte.  LSBit should be sent first.
//
#define DIRECT_MODE_SEND_OPAQUE 0

//
// Input to DirectModeTransceive is an array of bytes with associated parity
// bit, stored as 16 bit words.  The lower 8 bits in each word are the byte
// (LSBit should be sent first), the lowest bit of the upper 8 bits is the
// parity bit.  The remaining 7 bits are ignored.
//
//
#define DIRECT_MODE_SEND_PARITY 1

//
// Output from DirectModeTransceive should be an opaque bit stream, grouped as
// 8 bits into one byte, LSBit was received first.
//
#define DIRECT_MODE_RECV_OPAQUE 0

//
// Output from DirectModeTransceive should be an array of bytes with
// associated parity bit.
//
#define DIRECT_MODE_RECV_PARITY 2

#define DIRECT_MODE_SEND_MASK   1
#define DIRECT_MODE_RECV_MASK   2

extern void DirectModeInit(void);
extern void DirectModeTransceive(int iMode, void const *pvSendBuf,
                                 unsigned int iSendBytes,
                                 unsigned int iSendBits, void *pvRecvBuf,
                                 unsigned int *piRecvBytes,
                                 unsigned int *piRecvBits);

extern void DirectModeEnable(unsigned int iMode);
extern void DirectModeDisable(void);
extern int DirectModeIsEnabled(void);

#endif