blob: 9430306f654528397f48ee562623d7a31c538b8a [file] [log] [blame]
jerrymf1579332013-02-07 01:56:28 +00001// Copyright (c) National Instruments 2008. All Rights Reserved.
2// Do Not Edit... this file is generated!
3
4#ifndef __nFRC_2012_1_6_4_SPI_h__
5#define __nFRC_2012_1_6_4_SPI_h__
6
7#include "tSystemInterface.h"
8
9namespace nFPGA
10{
11namespace nFRC_2012_1_6_4
12{
13
14class tSPI
15{
16public:
17 tSPI(){}
18 virtual ~tSPI(){}
19
20 virtual tSystemInterface* getSystemInterface() = 0;
21 static tSPI* create(tRioStatusCode *status);
22
23 typedef enum
24 {
25 kNumSystems = 1,
26 } tIfaceConstants;
27
28 typedef
29 union{
30 struct{
31 unsigned ReceivedDataOverflow : 1;
32 unsigned Idle : 1;
33 };
34 struct{
35 unsigned value : 2;
36 };
37 } tStatus;
38 typedef
39 union{
40 struct{
41 unsigned BusBitWidth : 8;
42 unsigned ClockHalfPeriodDelay : 8;
43 unsigned MSBfirst : 1;
44 unsigned DataOnFalling : 1;
45 unsigned LatchFirst : 1;
46 unsigned LatchLast : 1;
47 unsigned FramePolarity : 1;
48 unsigned WriteOnly : 1;
49 unsigned ClockPolarity : 1;
50 };
51 struct{
52 unsigned value : 23;
53 };
54 } tConfig;
55 typedef
56 union{
57 struct{
58 unsigned SCLK_Channel : 4;
59 unsigned SCLK_Module : 1;
60 unsigned MOSI_Channel : 4;
61 unsigned MOSI_Module : 1;
62 unsigned MISO_Channel : 4;
63 unsigned MISO_Module : 1;
64 unsigned SS_Channel : 4;
65 unsigned SS_Module : 1;
66 };
67 struct{
68 unsigned value : 20;
69 };
70 } tChannels;
71
72
73
74 typedef enum
75 {
76 } tStatus_IfaceConstants;
77
78 virtual tStatus readStatus(tRioStatusCode *status) = 0;
79 virtual bool readStatus_ReceivedDataOverflow(tRioStatusCode *status) = 0;
80 virtual bool readStatus_Idle(tRioStatusCode *status) = 0;
81
82
83 typedef enum
84 {
85 } tReadReceivedData_IfaceConstants;
86
87 virtual void strobeReadReceivedData(tRioStatusCode *status) = 0;
88
89
90 typedef enum
91 {
92 } tConfig_IfaceConstants;
93
94 virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0;
95 virtual void writeConfig_BusBitWidth(unsigned char value, tRioStatusCode *status) = 0;
96 virtual void writeConfig_ClockHalfPeriodDelay(unsigned char value, tRioStatusCode *status) = 0;
97 virtual void writeConfig_MSBfirst(bool value, tRioStatusCode *status) = 0;
98 virtual void writeConfig_DataOnFalling(bool value, tRioStatusCode *status) = 0;
99 virtual void writeConfig_LatchFirst(bool value, tRioStatusCode *status) = 0;
100 virtual void writeConfig_LatchLast(bool value, tRioStatusCode *status) = 0;
101 virtual void writeConfig_FramePolarity(bool value, tRioStatusCode *status) = 0;
102 virtual void writeConfig_WriteOnly(bool value, tRioStatusCode *status) = 0;
103 virtual void writeConfig_ClockPolarity(bool value, tRioStatusCode *status) = 0;
104 virtual tConfig readConfig(tRioStatusCode *status) = 0;
105 virtual unsigned char readConfig_BusBitWidth(tRioStatusCode *status) = 0;
106 virtual unsigned char readConfig_ClockHalfPeriodDelay(tRioStatusCode *status) = 0;
107 virtual bool readConfig_MSBfirst(tRioStatusCode *status) = 0;
108 virtual bool readConfig_DataOnFalling(tRioStatusCode *status) = 0;
109 virtual bool readConfig_LatchFirst(tRioStatusCode *status) = 0;
110 virtual bool readConfig_LatchLast(tRioStatusCode *status) = 0;
111 virtual bool readConfig_FramePolarity(tRioStatusCode *status) = 0;
112 virtual bool readConfig_WriteOnly(tRioStatusCode *status) = 0;
113 virtual bool readConfig_ClockPolarity(tRioStatusCode *status) = 0;
114
115
116 typedef enum
117 {
118 } tReceivedData_IfaceConstants;
119
120 virtual unsigned int readReceivedData(tRioStatusCode *status) = 0;
121
122
123 typedef enum
124 {
125 } tDataToLoad_IfaceConstants;
126
127 virtual void writeDataToLoad(unsigned int value, tRioStatusCode *status) = 0;
128 virtual unsigned int readDataToLoad(tRioStatusCode *status) = 0;
129
130
131 typedef enum
132 {
133 } tReset_IfaceConstants;
134
135 virtual void strobeReset(tRioStatusCode *status) = 0;
136
137
138 typedef enum
139 {
140 } tChannels_IfaceConstants;
141
142 virtual void writeChannels(tChannels value, tRioStatusCode *status) = 0;
143 virtual void writeChannels_SCLK_Channel(unsigned char value, tRioStatusCode *status) = 0;
144 virtual void writeChannels_SCLK_Module(unsigned char value, tRioStatusCode *status) = 0;
145 virtual void writeChannels_MOSI_Channel(unsigned char value, tRioStatusCode *status) = 0;
146 virtual void writeChannels_MOSI_Module(unsigned char value, tRioStatusCode *status) = 0;
147 virtual void writeChannels_MISO_Channel(unsigned char value, tRioStatusCode *status) = 0;
148 virtual void writeChannels_MISO_Module(unsigned char value, tRioStatusCode *status) = 0;
149 virtual void writeChannels_SS_Channel(unsigned char value, tRioStatusCode *status) = 0;
150 virtual void writeChannels_SS_Module(unsigned char value, tRioStatusCode *status) = 0;
151 virtual tChannels readChannels(tRioStatusCode *status) = 0;
152 virtual unsigned char readChannels_SCLK_Channel(tRioStatusCode *status) = 0;
153 virtual unsigned char readChannels_SCLK_Module(tRioStatusCode *status) = 0;
154 virtual unsigned char readChannels_MOSI_Channel(tRioStatusCode *status) = 0;
155 virtual unsigned char readChannels_MOSI_Module(tRioStatusCode *status) = 0;
156 virtual unsigned char readChannels_MISO_Channel(tRioStatusCode *status) = 0;
157 virtual unsigned char readChannels_MISO_Module(tRioStatusCode *status) = 0;
158 virtual unsigned char readChannels_SS_Channel(tRioStatusCode *status) = 0;
159 virtual unsigned char readChannels_SS_Module(tRioStatusCode *status) = 0;
160
161
162 typedef enum
163 {
164 } tClearReceivedData_IfaceConstants;
165
166 virtual void strobeClearReceivedData(tRioStatusCode *status) = 0;
167
168
169 typedef enum
170 {
171 } tReceivedElements_IfaceConstants;
172
173 virtual unsigned short readReceivedElements(tRioStatusCode *status) = 0;
174
175
176 typedef enum
177 {
178 } tLoad_IfaceConstants;
179
180 virtual void strobeLoad(tRioStatusCode *status) = 0;
181
182
183 typedef enum
184 {
185 } tAvailableToLoad_IfaceConstants;
186
187 virtual unsigned short readAvailableToLoad(tRioStatusCode *status) = 0;
188
189
190
191
192private:
193 tSPI(const tSPI&);
194 void operator=(const tSPI&);
195};
196
197}
198}
199
200#endif // __nFRC_2012_1_6_4_SPI_h__