@@ -60,6 +60,152 @@ use dlopen_derive::{WrapperApi, WrapperMultiApi};
60
60
61
61
pub type NiFpgaApiContainer = Container < NiFpgaApi > ;
62
62
63
+ bitflags:: bitflags! {
64
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
65
+ pub struct OpenAttributes : u32 {
66
+ const NoRun = 1 ;
67
+ const BitfilePathIsUTF8 = 2 ;
68
+ const BitfileContentsNotPath = 1u32 << 30 ;
69
+ const IgnoreSignatureArgument = 1u32 << 31 ;
70
+ }
71
+ }
72
+
73
+ bitflags:: bitflags! {
74
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
75
+ pub struct CloseAttributes : u32 {
76
+ const NoResetIfLastSession = 1 ;
77
+ }
78
+ }
79
+
80
+ bitflags:: bitflags! {
81
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
82
+ pub struct RunAttribute : u32 {
83
+ const WaitUntilDone = 1 ;
84
+ }
85
+ }
86
+
87
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
88
+ pub enum FpgaViState {
89
+ NotRunning ,
90
+ Invalid ,
91
+ Running ,
92
+ NaturallyStopped ,
93
+ Unknown ,
94
+ }
95
+
96
+ impl From < u32 > for FpgaViState {
97
+ fn from ( value : u32 ) -> Self {
98
+ match value {
99
+ 0 => FpgaViState :: NotRunning ,
100
+ 1 => FpgaViState :: Invalid ,
101
+ 2 => FpgaViState :: Running ,
102
+ 3 => FpgaViState :: NaturallyStopped ,
103
+ _ => FpgaViState :: Unknown ,
104
+ }
105
+ }
106
+ }
107
+
108
+ bitflags:: bitflags! {
109
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
110
+ pub struct Irq : u32 {
111
+ const Irq0 = 1u32 << 0 ;
112
+ const Irq1 = 1u32 << 1 ;
113
+ const Irq2 = 1u32 << 2 ;
114
+ const Irq3 = 1u32 << 3 ;
115
+ const Irq4 = 1u32 << 4 ;
116
+ const Irq5 = 1u32 << 5 ;
117
+ const Irq6 = 1u32 << 6 ;
118
+ const Irq7 = 1u32 << 7 ;
119
+ const Irq8 = 1u32 << 8 ;
120
+ const Irq9 = 1u32 << 9 ;
121
+ const Irq10 = 1u32 << 10 ;
122
+ const Irq11 = 1u32 << 11 ;
123
+ const Irq12 = 1u32 << 12 ;
124
+ const Irq13 = 1u32 << 13 ;
125
+ const Irq14 = 1u32 << 14 ;
126
+ const Irq15 = 1u32 << 15 ;
127
+ const Irq16 = 1u32 << 16 ;
128
+ const Irq17 = 1u32 << 17 ;
129
+ const Irq18 = 1u32 << 18 ;
130
+ const Irq19 = 1u32 << 19 ;
131
+ const Irq20 = 1u32 << 20 ;
132
+ const Irq21 = 1u32 << 21 ;
133
+ const Irq22 = 1u32 << 22 ;
134
+ const Irq23 = 1u32 << 23 ;
135
+ const Irq24 = 1u32 << 24 ;
136
+ const Irq25 = 1u32 << 25 ;
137
+ const Irq26 = 1u32 << 26 ;
138
+ const Irq27 = 1u32 << 27 ;
139
+ const Irq28 = 1u32 << 28 ;
140
+ const Irq29 = 1u32 << 29 ;
141
+ const Irq30 = 1u32 << 30 ;
142
+ const Irq31 = 1u32 << 31 ;
143
+ }
144
+ }
145
+
146
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
147
+ pub enum FifoProperty {
148
+ BytesPerElement ,
149
+ HostBufferAllocationGranularity ,
150
+ HostBufferSize ,
151
+ HostBufferMirrorSize ,
152
+ HostBufferType ,
153
+ HostBuffer ,
154
+ FlowControl ,
155
+ ElementsCurrentlyAcquired ,
156
+ Unknown ,
157
+ }
158
+
159
+ impl From < u32 > for FifoProperty {
160
+ fn from ( value : u32 ) -> Self {
161
+ match value {
162
+ 1 => FifoProperty :: BytesPerElement ,
163
+ 2 => FifoProperty :: HostBufferAllocationGranularity ,
164
+ 3 => FifoProperty :: HostBufferSize ,
165
+ 4 => FifoProperty :: HostBufferMirrorSize ,
166
+ 5 => FifoProperty :: HostBufferType ,
167
+ 6 => FifoProperty :: HostBuffer ,
168
+ 7 => FifoProperty :: FlowControl ,
169
+ 8 => FifoProperty :: ElementsCurrentlyAcquired ,
170
+ _ => FifoProperty :: Unknown ,
171
+ }
172
+ }
173
+ }
174
+
175
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
176
+ pub enum HostBufferType {
177
+ AllocatedByRIO ,
178
+ AllocatedByUser ,
179
+ Unknown ,
180
+ }
181
+
182
+ impl From < u32 > for HostBufferType {
183
+ fn from ( value : u32 ) -> Self {
184
+ match value {
185
+ 1 => HostBufferType :: AllocatedByRIO ,
186
+ 2 => HostBufferType :: AllocatedByUser ,
187
+ _ => HostBufferType :: Unknown ,
188
+ }
189
+ }
190
+ }
191
+
192
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
193
+ pub enum FifoFlowControl {
194
+ Disabled ,
195
+ Enabled ,
196
+ Unknown ,
197
+ }
198
+
199
+ impl From < u32 > for FifoFlowControl {
200
+ fn from ( value : u32 ) -> Self {
201
+ match value {
202
+ 1 => FifoFlowControl :: Disabled ,
203
+ 2 => FifoFlowControl :: Enabled ,
204
+ _ => FifoFlowControl :: Unknown ,
205
+ }
206
+ }
207
+ }
208
+
63
209
#[ derive( WrapperApi ) ]
64
210
pub struct NiFpgaHmbApi {
65
211
NiFpgaDll_OpenHmb : extern "C" fn (
0 commit comments