FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kHxDigitalOut.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_HX_DIGITAL_OUT_H
9 #define K_FIRESYNC_HX_DIGITAL_OUT_H
10 
11 #include <kFireSync/kNodeDef.h>
12 #include <kFireSync/Hardware/kHxDigitalOut.x.h>
13 
21 //typedef kObject kHxDigitalOut; --forward-declared in kFsDef.x.h
22 
23 kInlineFx(kHxNode) kHxDigitalOut_Node(kHxDigitalOut digital)
24 {
25  kObj(kHxDigitalOut, digital);
26 
27  return obj->node;
28 }
29 
30 kInlineFx(kSize) kHxDigitalOut_Index(kHxDigitalOut digital)
31 {
32  kObj(kHxDigitalOut, digital);
33 
34  return obj->index;
35 }
36 
37 kInlineFx(kStatus) kHxDigitalOut_Enable(kHxDigitalOut digital, kBool enabled)
38 {
39  kObj(kHxDigitalOut, digital);
40 
41  obj->enabled = enabled;
42 
43  return kOK;
44 }
45 
46 kInlineFx(kBool) kHxDigitalOut_IsEnabled(kHxDigitalOut digital)
47 {
48  kObj(kHxDigitalOut, digital);
49 
50  return obj->enabled;
51 }
52 
53 kInlineFx(kStatus) kHxDigitalOut_SetControl(kHxDigitalOut digital, kDigitalOutControl type)
54 {
55  kObj(kHxDigitalOut, digital);
56 
57  obj->controlType = type;
58 
59  return kOK;
60 }
61 
62 kInlineFx(kDigitalOutControl) kHxDigitalOut_Control(kHxDigitalOut digital)
63 {
64  kObj(kHxDigitalOut, digital);
65 
66  return obj->controlType;
67 }
68 
69 kInlineFx(kStatus) kHxDigitalOut_SetControlId(kHxDigitalOut digital, kSize id)
70 {
71  kObj(kHxDigitalOut, digital);
72 
73  obj->controlId = id;
74 
75  return kOK;
76 }
77 
78 kInlineFx(kSize) kHxDigitalOut_ControlId(kHxDigitalOut digital)
79 {
80  kObj(kHxDigitalOut, digital);
81 
82  return obj->controlId;
83 }
84 
85 kInlineFx(kStatus) kHxDigitalOut_SetPolarity(kHxDigitalOut digital, kBool polarity)
86 {
87  kObj(kHxDigitalOut, digital);
88 
89  obj->polarity = polarity;
90 
91  return kOK;
92 }
93 
94 kInlineFx(kBool) kHxDigitalOut_Polarity(kHxDigitalOut digital)
95 {
96  kObj(kHxDigitalOut, digital);
97 
98  return obj->polarity;
99 }
100 
101 kInlineFx(kStatus) kHxDigitalOut_SetDelay(kHxDigitalOut digital, k64u delay)
102 {
103  kObj(kHxDigitalOut, digital);
104 
105  obj->delay = delay;
106 
107  return kOK;
108 }
109 
110 kInlineFx(k64u) kHxDigitalOut_Delay(kHxDigitalOut digital)
111 {
112  kObj(kHxDigitalOut, digital);
113 
114  return obj->delay;
115 }
116 
117 kInlineFx(kStatus) kHxDigitalOut_SetExposure(kHxDigitalOut digital, k64u exposure)
118 {
119  kObj(kHxDigitalOut, digital);
120 
121  obj->exposure = exposure;
122 
123  return kOK;
124 }
125 
126 kInlineFx(k64u) kHxDigitalOut_Exposure(kHxDigitalOut digital)
127 {
128  kObj(kHxDigitalOut, digital);
129 
130  return obj->exposure;
131 }
132 
133 kInlineFx(kStatus) kHxDigitalOut_SetGap(kHxDigitalOut digital, k64u gap)
134 {
135  kObj(kHxDigitalOut, digital);
136 
137  obj->gap = gap;
138 
139  return kOK;
140 }
141 
142 kInlineFx(k64u) kHxDigitalOut_Gap(kHxDigitalOut digital)
143 {
144  kObj(kHxDigitalOut, digital);
145 
146  return obj->gap;
147 }
148 
149 kInlineFx(kStatus) kHxDigitalOut_SetOutputState(kHxDigitalOut digital, kBool state)
150 {
151  return xkHxDigitalOut_VTable(digital)->VSetOutputState(digital, state);
152 }
153 
154 kInlineFx(kStatus) kHxDigitalOut_Stats(kHxDigitalOut digital, kDigitalOutStats* stats)
155 {
156  return xkHxDigitalOut_VTable(digital)->VStats(digital, stats);
157 }
158 
159 kInlineFx(kStatus) kHxDigitalOut_Trigger(kHxDigitalOut digital)
160 {
161  return xkHxDigitalOut_VTable(digital)->VTrigger(digital);
162 }
163 
164 kInlineFx(kStatus) kHxDigitalOut_Clear(kHxDigitalOut digital)
165 {
166  return xkHxDigitalOut_VTable(digital)->VClear(digital);
167 }
168 
169 #endif
#define kInlineFx(TYPE)
Essential declarations related to FireSync nodes.
Abstract base class for hardware node classes.
#define kObj(TypeName_T, T_object)
Represents digital output control modes.
#define kOK
Represents digital output run-time statistics.
Definition: kNodeDef.h:1304