Gocator API
 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 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  * @param digital GoDigital object.
273  * @param invert kTRUE to enable output inversion, kFALSE to disable it
274  * @return Operation status.
275  */
276 GoFx(kStatus) GoDigital_SetOutputInverted(GoDigital digital, kBool invert);
277 
278 /**
279  * Gets the enabled state of output signal inversion.
280  *
281  * @public @memberof GoDigital
282  * @param digital GoDigital object.
283  * @return kTRUE if the scheduler is enabled.
284  */
285 GoFx(kBool) GoDigital_IsOutputInverted(GoDigital digital);
286 
287 kEndHeader()
288 #include <GoSdk/Outputs/GoDigital.x.h>
289 
290 #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.