Gocator API

GoDigital.h
Go to the documentation of this file.
1 /**
2 * @file GoDigital.h
3 * @brief Declares the GoDigital class.
4 *
5 * @internal
6 * Copyright (C) 2016-2020 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 #ifndef GO_SDK_DIGITAL_H
11 #define GO_SDK_DIGITAL_H
12
13 #include <GoSdk/GoSdkDef.h>
14 kBeginHeader()
15
16
17 /**
18 * @class GoDigital
19 * @extends kObject
20 * @ingroup GoSdk-Digital
21 * @brief Represents Digital output settings.
22 */
23 typedef kObject GoDigital;
24
25 /**
26 * Sets the event which triggers this output to fire.
27 *
28 * @public @memberof GoDigital
29 * @version Introduced in firmware 4.0.10.27
30 * @param digital GoDigital object.
31 * @param event The output event.
32 * @return Operation status.
33 */
34 GoFx(kStatus) GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event);
35
36 /**
37 * Gets the event which triggers this output to fire
38 *
39 * @public @memberof GoDigital
40 * @version Introduced in firmware 4.0.10.27
41 * @param digital GoDigital object.
42 * @return The output event.
43 */
44 GoFx(GoDigitalEvent) GoDigital_Event(GoDigital digital);
45
46 /**
47 * Gets the number of available decision source options.
48 *
49 * @public @memberof GoDigital
50 * @version Introduced in firmware 4.0.10.27
51 * @param digital GoDigital object.
52 * @return Count of decision source options.
53 */
54 GoFx(kSize) GoDigital_OptionCount(GoDigital digital);
55
56 /**
57 * Gets the decision source option at the specified index.
58 *
59 * @public @memberof GoDigital
60 * @version Introduced in firmware 4.0.10.27
61 * @param digital GoDigital object.
62 * @param index Source option index.
63 * @return Source option.
64 */
65 GoFx(k32u) GoDigital_OptionAt(GoDigital digital, kSize index);
66
67 /**
68 * Gets the number of decision sources that are currently selected for determining pass/fail state.
69 *
70 * @public @memberof GoDigital
71 * @version Introduced in firmware 4.0.10.27
72 * @param digital GoDigital object.
73 * @return Count of selected sources.
74 */
75 GoFx(kSize) GoDigital_SourceCount(GoDigital digital);
76
77 /**
78 * Gets the identifier of the selected output source at the specified index.
79 *
80 * @public @memberof GoDigital
81 * @version Introduced in firmware 4.0.10.27
82 * @param digital GoDigital object.
83 * @param index Selected source index.
84 * @return Source identifier.
85 */
86 GoFx(k32u) GoDigital_SourceAt(GoDigital digital, kSize index);
87
88 /**
89 * Selects the specified decision source for use in determining pass/fail status.
90 *
91 * @public @memberof GoDigital
92 * @version Introduced in firmware 4.0.10.27
93 * @param digital GoDigital object.
94 * @param sourceId Index of the source to be added/selected.
95 * @return Operation status.
96 */
97 GoFx(kStatus) GoDigital_AddSource(GoDigital digital, k32u sourceId);
98
99 /**
100 * Removes (deselects) the decision source at the specified index.
101 *
102 * @public @memberof GoDigital
103 * @version Introduced in firmware 4.0.10.27
104 * @param digital GoDigital object.
105 * @param index Index of the source to be removed.
106 * @return Operation status.
107 */
108 GoFx(kStatus) GoDigital_RemoveSource(GoDigital digital, kSize index);
109
110 /**
111 * Removes all selected decision sources.
112 *
113 * @public @memberof GoDigital
114 * @version Introduced in firmware 4.0.10.27
115 * @param digital GoDigital object.
116 * @return Operation status.
117 */
118 GoFx(kStatus) GoDigital_ClearSources(GoDigital digital);
119
120 /**
121 * Sets the pass/fail mode for the digital output.
122 *
123 * @public @memberof GoDigital
124 * @version Introduced in firmware 4.0.10.27
125 * @param digital GoDigital object.
126 * @param pass Pass/fail mode.
127 * @return Operation status.
128 */
129 GoFx(kStatus) GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass);
130
131 /**
132 * Gets the pass/fail mode for the digital output.
133 *
134 * @public @memberof GoDigital
135 * @version Introduced in firmware 4.0.10.27
136 * @param digital GoDigital object.
137 * @return Current pass/fail mode.
138 */
139 GoFx(GoDigitalPass) GoDigital_PassMode(GoDigital digital);
140
141 /**
142 * Gets the minimum valid value for the Pulse Width setting.
143 *
144 * @public @memberof GoDigital
145 * @version Introduced in firmware 4.0.10.27
146 * @param digital GoDigital object.
147 * @return Minimum valid pulse width value (microseconds).
148 */
149 GoFx(k32u) GoDigital_PulseWidthLimitMin(GoDigital digital);
150
151 /**
152 * Gets the maximum valid value for the Pulse Width setting.
153 *
154 * @public @memberof GoDigital
155 * @version Introduced in firmware 4.0.10.27
156 * @param digital GoDigital object.
157 * @return Maximum valid pulse width value (microseconds).
158 */
159 GoFx(k32u) GoDigital_PulseWidthLimitMax(GoDigital digital);
160
161 /**
162 * Sets the width of digital output pulses.
163 *
164 * @public @memberof GoDigital
165 * @version Introduced in firmware 4.0.10.27
166 * @param digital GoDigital object.
167 * @param width Pulse width (microseconds).
168 * @return Operation status.
169 */
170 GoFx(kStatus) GoDigital_SetPulseWidth(GoDigital digital, k32u width);
171
172 /**
173 * Gets the width of digital output pulses.
174 *
175 * @public @memberof GoDigital
176 * @version Introduced in firmware 4.0.10.27
177 * @param digital GoDigital object.
178 * @return Pulse width (microseconds).
179 */
180 GoFx(k32u) GoDigital_PulseWidth(GoDigital digital);
181
182 /**
183 * Sets the signal type of output.
184 *
185 * @public @memberof GoDigital
186 * @version Introduced in firmware 4.0.10.27
187 * @param digital GoDigital object.
188 * @param signal The signal type.
189 * @return Operation status.
190 */
191 GoFx(kStatus) GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal);
192
193 /**
194 * Gets the signal type of output.
195 *
196 * @public @memberof GoDigital
197 * @version Introduced in firmware 4.0.10.27
198 * @param digital GoDigital object.
199 * @return The signal type.
200 */
201 GoFx(GoDigitalSignal) GoDigital_SignalType(GoDigital digital);
202
203 /**
204 * Sets the delay from exposure until output is triggered, in units based on GoDomain.
205 * mm units when GoDomain is distance, uS units when GoDomain is time.
206 *
207 * @public @memberof GoDigital
208 * @version Introduced in firmware 4.0.10.27
209 * @param digital GoDigital object.
210 * @param delay k64s object.
211 * @return Operation status.
212 */
213 GoFx(kStatus) GoDigital_SetDelay(GoDigital digital, k64s delay);
214
215 /**
216 * Gets the output delay.
217 *
218 * @public @memberof GoDigital
219 * @version Introduced in firmware 4.0.10.27
220 * @param digital GoDigital object.
221 * @return The output delay (us or mm).
222 */
223 GoFx(k64s) GoDigital_Delay(GoDigital digital);
224
225 /**
226 * Sets the output delay domain.
227 *
228 * @public @memberof GoDigital
229 * @version Introduced in firmware 4.0.10.27
230 * @param digital GoDigital object.
231 * @param delayDomain Output delay domain.
232 * @return The output delay domain (time or encoder value).
233 */
234
235 GoFx(kStatus) GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain);
236
237 /**
238 * Gets the output delay domain.
239 *
240 * @public @memberof GoDigital
241 * @version Introduced in firmware 4.0.10.27
242 * @param digital GoDigital object.
243 * @return The output delay domain.
244 */
245 GoFx(GoOutputDelayDomain) GoDigital_DelayDomain(GoDigital digital);
246
247 /**
248 * Enables or disables the scheduler for this output.
249 *
250 * @public @memberof GoDigital
251 * @version Introduced in firmware 4.0.10.27
252 * @param digital GoDigital object.
253 * @param enabled kTRUE to enable, kFALSE to disable
254 * @return Operation status.
255 */
256 GoFx(kStatus) GoDigital_EnableSchedule(GoDigital digital, kBool enabled );
257
258 /**
259 * Gets the enabled state of the scheduler for this output
260 *
261 * @public @memberof GoDigital
262 * @version Introduced in firmware 4.0.10.27
263 * @param digital GoDigital object.
264 * @return kTRUE if the scheduler is enabled.
265 */
266 GoFx(kBool) GoDigital_ScheduleEnabled(GoDigital digital);
267
268 /**
269 * Enables or disables output signal inversion for this output.
270 *
271 * @public @memberof GoDigital
272 * @version Introduced in firmware 4.5.3.57
273 * @param digital GoDigital object.
274 * @param invert kTRUE to enable output inversion, kFALSE to disable it
275 * @return Operation status.
276 */
277 GoFx(kStatus) GoDigital_SetOutputInverted(GoDigital digital, kBool invert);
278
279 /**
280 * Gets the enabled state of output signal inversion.
281 *
282 * @public @memberof GoDigital
283 * @version Introduced in firmware 4.5.3.57
284 * @param digital GoDigital object.
285 * @return kTRUE if the scheduler is enabled.
286 */
287 GoFx(kBool) GoDigital_IsOutputInverted(GoDigital digital);
288
289 kEndHeader()
290 #include <GoSdk/Outputs/GoDigital.x.h>
291
292 #endif
GoDigital::GoDigital_SetPulseWidth
kStatus GoDigital_SetPulseWidth(GoDigital digital, k32u width)
Sets the width of digital output pulses.
k32u
GoOutputDelayDomain
Represents an output delay domain.
GoDigital::GoDigital_SetDelayDomain
kStatus GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain)
Sets the output delay domain.
GoDigital::GoDigital_PulseWidth
k32u GoDigital_PulseWidth(GoDigital digital)
Gets the width of digital output pulses.
GoDigital::GoDigital_SetEvent
kStatus GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event)
Sets the event which triggers this output to fire.
GoDigital::GoDigital_SetSignalType
kStatus GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal)
Sets the signal type of output.
GoDigital::GoDigital_SetOutputInverted
kStatus GoDigital_SetOutputInverted(GoDigital digital, kBool invert)
Enables or disables output signal inversion for this output.
GoDigital::GoDigital_PulseWidthLimitMin
k32u GoDigital_PulseWidthLimitMin(GoDigital digital)
Gets the minimum valid value for the Pulse Width setting.
kSize
GoDigital::GoDigital_ClearSources
kStatus GoDigital_ClearSources(GoDigital digital)
Removes all selected decision sources.
GoDigital::GoDigital_RemoveSource
kStatus GoDigital_RemoveSource(GoDigital digital, kSize index)
Removes (deselects) the decision source at the specified index.
GoDigital::GoDigital_EnableSchedule
kStatus GoDigital_EnableSchedule(GoDigital digital, kBool enabled)
Enables or disables the scheduler for this output.
GoDigital::GoDigital_OptionAt
k32u GoDigital_OptionAt(GoDigital digital, kSize index)
Gets the decision source option at the specified index.
GoDigital
Represents Digital output settings.
GoDigital::GoDigital_SourceAt
k32u GoDigital_SourceAt(GoDigital digital, kSize index)
Gets the identifier of the selected output source at the specified index.
GoSdkDef.h
Essential SDK declarations.
GoDigital::GoDigital_SetDelay
kStatus GoDigital_SetDelay(GoDigital digital, k64s delay)
Sets the delay from exposure until output is triggered, in units based on GoDomain.
GoDigital::GoDigital_ScheduleEnabled
kBool GoDigital_ScheduleEnabled(GoDigital digital)
Gets the enabled state of the scheduler for this output.
GoDigital::GoDigital_SourceCount
kSize GoDigital_SourceCount(GoDigital digital)
Gets the number of decision sources that are currently selected for determining pass/fail state.
k64s
GoDigital::GoDigital_Event
GoDigitalEvent GoDigital_Event(GoDigital digital)
Gets the event which triggers this output to fire.
GoDigitalSignal
Represents a digital output signal type.
GoDigital::GoDigital_OptionCount
kSize GoDigital_OptionCount(GoDigital digital)
Gets the number of available decision source options.
GoDigital::GoDigital_DelayDomain
GoOutputDelayDomain GoDigital_DelayDomain(GoDigital digital)
Gets the output delay domain.
GoDigital::GoDigital_AddSource
kStatus GoDigital_AddSource(GoDigital digital, k32u sourceId)
Selects the specified decision source for use in determining pass/fail status.
kObject
kStatus
GoDigitalEvent
Represents a digital output event.
GoDigital::GoDigital_SignalType
GoDigitalSignal GoDigital_SignalType(GoDigital digital)
Gets the signal type of output.
GoDigital::GoDigital_IsOutputInverted
kBool GoDigital_IsOutputInverted(GoDigital digital)
Gets the enabled state of output signal inversion.
GoDigital::GoDigital_PassMode
GoDigitalPass GoDigital_PassMode(GoDigital digital)
Gets the pass/fail mode for the digital output.
kBool
GoDigital::GoDigital_SetPassMode
kStatus GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass)
Sets the pass/fail mode for the digital output.
GoDigital::GoDigital_Delay
k64s GoDigital_Delay(GoDigital digital)
Gets the output delay.
GoDigital::GoDigital_PulseWidthLimitMax
k32u GoDigital_PulseWidthLimitMax(GoDigital digital)
Gets the maximum valid value for the Pulse Width setting.
GoDigitalPass
Represents a digital output condition.