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-2019 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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
285 
286 #include <GoSdk/Outputs/GoDigital.x.h>
287 
288 #endif
kStatus GoDigital_SetPulseWidth(GoDigital digital, k32u width)
Sets the width of digital output pulses.
Represents an output delay domain.
kStatus GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain)
Sets the output delay domain.
k32u GoDigital_PulseWidth(GoDigital digital)
Gets the width of digital output pulses.
kStatus GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event)
Sets the event which triggers this output to fire.
kStatus GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal)
Sets the signal type of output.
kStatus GoDigital_SetOutputInverted(GoDigital digital, kBool invert)
Enables or disables output signal inversion for this output.
k32u GoDigital_PulseWidthLimitMin(GoDigital digital)
Gets the minimum valid value for the Pulse Width setting.
kStatus GoDigital_ClearSources(GoDigital digital)
Removes all selected decision sources.
kStatus GoDigital_RemoveSource(GoDigital digital, kSize index)
Removes (deselects) the decision source at the specified index.
kStatus GoDigital_EnableSchedule(GoDigital digital, kBool enabled)
Enables or disables the scheduler for this output.
k32u GoDigital_OptionAt(GoDigital digital, kSize index)
Gets the decision source option at the specified index.
Represents Digital output settings.
k32u GoDigital_SourceAt(GoDigital digital, kSize index)
Gets the identifier of the selected output source at the specified index.
Essential SDK declarations.
kStatus GoDigital_SetDelay(GoDigital digital, k64s delay)
Sets the delay from exposure until output is triggered, in units based on GoDomain.
kBool GoDigital_ScheduleEnabled(GoDigital digital)
Gets the enabled state of the scheduler for this output.
kSize GoDigital_SourceCount(GoDigital digital)
Gets the number of decision sources that are currently selected for determining pass/fail state.
GoDigitalEvent GoDigital_Event(GoDigital digital)
Gets the event which triggers this output to fire.
Represents a digital output signal type.
kSize GoDigital_OptionCount(GoDigital digital)
Gets the number of available decision source options.
GoOutputDelayDomain GoDigital_DelayDomain(GoDigital digital)
Gets the output delay domain.
kStatus GoDigital_AddSource(GoDigital digital, k32u sourceId)
Selects the specified decision source for use in determining pass/fail status.
Represents a digital output event.
GoDigitalSignal GoDigital_SignalType(GoDigital digital)
Gets the signal type of output.
kBool GoDigital_IsOutputInverted(GoDigital digital)
Gets the enabled state of output signal inversion.
GoDigitalPass GoDigital_PassMode(GoDigital digital)
Gets the pass/fail mode for the digital output.
kStatus GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass)
Sets the pass/fail mode for the digital output.
k64s GoDigital_Delay(GoDigital digital)
Gets the output delay.
k32u GoDigital_PulseWidthLimitMax(GoDigital digital)
Gets the maximum valid value for the Pulse Width setting.
Represents a digital output condition.