FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kHxIoTest.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_HX_IO_TEST_H
9 #define K_FIRESYNC_HX_IO_TEST_H
10 
11 #include <kFireSync/kNodeDef.h>
12 #include <kFireSync/Hardware/kHxIoTest.x.h>
13 
21 //typedef kObject kHxIoTest; --forward-declared in kFsDef.x.h
22 
23 kInlineFx(kHxNode) kHxIoTest_Node(kHxIoTest test)
24 {
25  kObj(kHxIoTest, test);
26 
27  return obj->node;
28 }
29 
30 kInlineFx(kSize) kHxIoTest_Index(kHxIoTest test)
31 {
32  kObj(kHxIoTest, test);
33 
34  return obj->index;
35 }
36 
37 kInlineFx(kIoTestModel) kHxIoTest_Model(kHxIoTest test)
38 {
39  kObj(kHxIoTest, test);
40 
41  return obj->model;
42 }
43 
44 kInlineFx(kStatus) kHxIoTest_SetSerialMode(kHxIoTest test, kIoTestSerialMode mode)
45 {
46  kObj(kHxIoTest, test);
47 
48  obj->serialMode = mode;
49 
50  return kOK;
51 }
52 
53 kInlineFx(kIoTestSerialMode) kHxIoTest_SerialMode(kHxIoTest test)
54 {
55  kObj(kHxIoTest, test);
56 
57  return obj->serialMode;
58 }
59 
60 kInlineFx(kStatus) kHxIoTest_SetBitRate(kHxIoTest test, k32u rate)
61 {
62  kObj(kHxIoTest, test);
63 
64  obj->bitRate = rate;
65 
66  return kOK;
67 }
68 
69 kInlineFx(k32u) kHxIoTest_BitRate(kHxIoTest test)
70 {
71  kObj(kHxIoTest, test);
72 
73  return obj->bitRate;
74 }
75 
76 kInlineFx(kStatus) kHxIoTest_SetG20x0MasterMode(kHxIoTest test, kBool masterMode)
77 {
78  kObj(kHxIoTest, test);
79 
80  obj->g20x0MasterMode = masterMode;
81 
82  return kOK;
83 }
84 
85 kInlineFx(kBool) kHxIoTest_G20x0MasterMode(kHxIoTest test)
86 {
87  kObj(kHxIoTest, test);
88 
89  return obj->g20x0MasterMode;
90 }
91 
92 kInlineFx(kStatus) kHxIoTest_SetSafety(kHxIoTest test, kBool safety)
93 {
94  kObj(kHxIoTest, test);
95 
96  obj->safety = safety;
97 
98  return kOK;
99 }
100 
101 kInlineFx(kBool) kHxIoTest_Safety(kHxIoTest test)
102 {
103  kObj(kHxIoTest, test);
104 
105  return obj->safety;
106 }
107 
108 kInlineFx(kStatus) kHxIoTest_SetDigitalOut(kHxIoTest test, kSize index, kBool state)
109 {
110  kObj(kHxIoTest, test);
111 
112  kCheckArgs(index < kHX_IO_TEST_DIGITAL_OUTPUT_COUNT);
113 
114  obj->digitalOutput[index] = state;
115 
116  return kOK;
117 }
118 
119 kInlineFx(kBool) kHxIoTest_DigitalOut(kHxIoTest test, kSize index)
120 {
121  kObj(kHxIoTest, test);
122 
123  kCheckArgs(index < kHX_IO_TEST_DIGITAL_OUTPUT_COUNT);
124 
125  return obj->digitalOutput[index];
126 }
127 
128 kInlineFx(kStatus) kHxIoTest_SetSyncIo(kHxIoTest test, k32u syncIo)
129 {
130  kObj(kHxIoTest, test);
131 
132  obj->syncIo = syncIo;
133 
134  return kOK;
135 }
136 
137 kInlineFx(k32u) kHxIoTest_SyncIo(kHxIoTest test)
138 {
139  kObj(kHxIoTest, test);
140 
141  return obj->syncIo;
142 }
143 
144 kInlineFx(kStatus) kHxIoTest_SetMovingAvgWindow(kHxIoTest test, kSize window)
145 {
146  kObj(kHxIoTest, test);
147 
148  obj->movingAvgWindow = window;
149 
150  return kOK;
151 }
152 
153 kInlineFx(kSize) kHxIoTest_MovingAvgWindow(kHxIoTest test)
154 {
155  kObj(kHxIoTest, test);
156 
157  return obj->movingAvgWindow;
158 }
159 
160 kInlineFx(kStatus) kHxIoTest_Apply(kHxIoTest test)
161 {
162  return xkHxIoTest_VTable(test)->VApply(test);
163 }
164 
165 kInlineFx(kStatus) kHxIoTest_Stats(kHxIoTest test, kIoTestStats* stats)
166 {
167  return xkHxIoTest_VTable(test)->VStats(test, stats);
168 }
169 
170 kInlineFx(kStatus) kHxIoTest_ClearStats(kHxIoTest test)
171 {
172  return xkHxIoTest_VTable(test)->VClearStats(test);
173 }
174 
175 kInlineFx(kStatus) kHxIoTest_ReadSerial(kHxIoTest test, void* buffer, kSize capacity, kSize* bytesRead)
176 {
177  return xkHxIoTest_VTable(test)->VReadSerial(test, buffer, capacity, bytesRead);
178 }
179 
180 kInlineFx(kStatus) kHxIoTest_Reset(kHxIoTest test)
181 {
182  return xkHxIoTest_VTable(test)->VReset(test);
183 }
184 
185 kInlineFx(kStatus) kHxIoTest_Clear(kHxIoTest test)
186 {
187  return xkHxIoTest_VTable(test)->VClear(test);
188 }
189 
190 #endif
#define kInlineFx(TYPE)
Represents I/O test jig run-time statistics.
Definition: kNodeDef.h:1488
Essential declarations related to FireSync nodes.
Abstract base class for hardware node classes.
#define kObj(TypeName_T, T_object)
#define kCheckArgs(EXPRESSION)
Represents supported I/O test jig device types.
#define kOK
Represents I/O test jig serial output modes.