Gocator API

- Home
- Topics
- Types
- Files

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