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) 2015 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  * Ignored when GoDomain is Immediate or when Pass Mode is Software.
207  *
208  * @public @memberof GoDigital
209  * @version Introduced in firmware 4.0.10.27
210  * @param digital GoDigital object.
211  * @param delay k64s object.
212  * @return Operation status.
213  */
214 GoFx(kStatus) GoDigital_SetDelay(GoDigital digital, k64s delay);
215 
216 /**
217  * Gets the output delay.
218  *
219  * @public @memberof GoDigital
220  * @version Introduced in firmware 4.0.10.27
221  * @param digital GoDigital object.
222  * @return The output delay (us or mm).
223  */
224 GoFx(k64s) GoDigital_Delay(GoDigital digital);
225 
226 /**
227  * Sets the output delay domain.
228  *
229  * @public @memberof GoDigital
230  * @version Introduced in firmware 4.0.10.27
231  * @param digital GoDigital object.
232  * @param delayDomain Output delay domain.
233  * @return The output delay domain (time or encoder value).
234  */
235 
236 GoFx(kStatus) GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain);
237 
238 /**
239  * Gets the output delay domain.
240  *
241  * @public @memberof GoDigital
242  * @version Introduced in firmware 4.0.10.27
243  * @param digital GoDigital object.
244  * @return The output delay domain.
245  */
246 GoFx(GoOutputDelayDomain) GoDigital_DelayDomain(GoDigital digital);
247 
248 /**
249  * Enables or disables the scheduler for this output.
250  *
251  * @public @memberof GoDigital
252  * @version Introduced in firmware 4.0.10.27
253  * @param digital GoDigital object.
254  * @param enabled kTRUE to enable, kFALSE to disable
255  * @return Operation status.
256  */
257 GoFx(kStatus) GoDigital_EnableSchedule(GoDigital digital, kBool enabled );
258 
259 /**
260  * Gets the enabled state of the scheduler for this output
261  *
262  * @public @memberof GoDigital
263  * @version Introduced in firmware 4.0.10.27
264  * @param digital GoDigital object.
265  * @return kTRUE if the scheduler is enabled.
266  */
267 GoFx(kBool) GoDigital_ScheduleEnabled(GoDigital digital);
268 
269 
270 kEndHeader()
271 #include <GoSdk/Outputs/GoDigital.x.h>
272 
273 #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.
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.
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.