Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups 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) 2014 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>
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  * @param digital GoDigital object.
30  * @param event The output event.
31  * @return Operation status.
32  */
33 GoFx(kStatus) GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event);
34 
35 /**
36  * Gets the event which triggers this output to fire
37  *
38  * @public @memberof GoDigital
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  * @param digital GoDigital object.
49  * @return Count of decision source options.
50  */
51 GoFx(kSize) GoDigital_OptionCount(GoDigital digital);
52 
53 /**
54  * Gets the decision source option at the specified index.
55  *
56  * @public @memberof GoDigital
57  * @param digital GoDigital object.
58  * @param index Source option index.
59  * @return Source option.
60  */
61 GoFx(k32u) GoDigital_OptionAt(GoDigital digital, kSize index);
62 
63 /**
64  * Gets the number of decision sources that are currently selected for determining pass/fail state.
65  *
66  * @public @memberof GoDigital
67  * @param digital GoDigital object.
68  * @return Count of selected sources.
69  */
70 GoFx(kSize) GoDigital_SourceCount(GoDigital digital);
71 
72 /**
73  * Gets the identifier of the selected output source at the specified index.
74  *
75  * @public @memberof GoDigital
76  * @param digital GoDigital object.
77  * @param index Selected source index.
78  * @return Source identifier.
79  */
80 GoFx(k32u) GoDigital_SourceAt(GoDigital digital, kSize index);
81 
82 /**
83  * Selects the specified decision source for use in determining pass/fail status.
84  *
85  * @public @memberof GoDigital
86  * @param digital GoDigital object.
87  * @param sourceId Index of the source to be added/selected.
88  * @return Operation status.
89  */
90 GoFx(kStatus) GoDigital_AddSource(GoDigital digital, k32u sourceId);
91 
92 /**
93  * Removes (deselects) the decision source at the specified index.
94  *
95  * @public @memberof GoDigital
96  * @param digital GoDigital object.
97  * @param index Index of the source to be removed.
98  * @return Operation status.
99  */
100 GoFx(kStatus) GoDigital_RemoveSource(GoDigital digital, kSize index);
101 
102 /**
103  * Removes all selected decision sources.
104  *
105  * @public @memberof GoDigital
106  * @param digital GoDigital object.
107  * @return Operation status.
108  */
109 GoFx(kStatus) GoDigital_ClearSources(GoDigital digital);
110 
111 /**
112  * Sets the pass/fail mode for the digital output.
113  *
114  * @public @memberof GoDigital
115  * @param digital GoDigital object.
116  * @param pass Pass/fail mode.
117  * @return Operation status.
118  */
119 GoFx(kStatus) GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass);
120 
121 /**
122  * Gets the pass/fail mode for the digital output.
123  *
124  * @public @memberof GoDigital
125  * @param digital GoDigital object.
126  * @return Current pass/fail mode.
127  */
128 GoFx(GoDigitalPass) GoDigital_PassMode(GoDigital digital);
129 
130 /**
131  * Gets the minimum valid value for the Pulse Width setting.
132  *
133  * @public @memberof GoDigital
134  * @param digital GoDigital object.
135  * @return Minimum valid pulse width value (microseconds).
136  */
137 GoFx(k32u) GoDigital_PulseWidthLimitMin(GoDigital digital);
138 
139 /**
140  * Gets the maximum valid value for the Pulse Width setting.
141  *
142  * @public @memberof GoDigital
143  * @param digital GoDigital object.
144  * @return Maximum valid pulse width value (microseconds).
145  */
146 GoFx(k32u) GoDigital_PulseWidthLimitMax(GoDigital digital);
147 
148 /**
149  * Sets the width of digital output pulses.
150  *
151  * @public @memberof GoDigital
152  * @param digital GoDigital object.
153  * @param width Pulse width (microseconds).
154  * @return Operation status.
155  */
156 GoFx(kStatus) GoDigital_SetPulseWidth(GoDigital digital, k32u width);
157 
158 /**
159  * Gets the width of digital output pulses.
160  *
161  * @public @memberof GoDigital
162  * @param digital GoDigital object.
163  * @return Pulse width (microseconds).
164  */
165 GoFx(k32u) GoDigital_PulseWidth(GoDigital digital);
166 
167 /**
168  * Sets the signal type of output.
169  *
170  * @public @memberof GoDigital
171  * @param digital GoDigital object.
172  * @param signal The signal type.
173  * @return Operation status.
174  */
175 GoFx(kStatus) GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal);
176 
177 /**
178  * Gets the signal type of output.
179  *
180  * @public @memberof GoDigital
181  * @param digital GoDigital object.
182  * @return The signal type.
183  */
184 GoFx(GoDigitalSignal) GoDigital_SignalType(GoDigital digital);
185 
186 /**
187  * Sets the delay from exposure until output is triggered, in units based on GoDomain.
188  * mm units when GoDomain is distance, uS units when GoDomain is time.
189  * Ignored when GoDomain is Immediate or when Pass Mode is Software.
190  *
191  * @public @memberof GoDigital
192  * @param digital GoDigital object.
193  * @param delay k64s object.
194  * @return Operation status.
195  */
196 GoFx(kStatus) GoDigital_SetDelay(GoDigital digital, k64s delay);
197 
198 /**
199  * Gets the output delay.
200  *
201  * @public @memberof GoDigital
202  * @param digital GoDigital object.
203  * @return The output delay (us or mm).
204  */
205 GoFx(k64s) GoDigital_Delay(GoDigital digital);
206 
207 /**
208  * Sets the output delay domain.
209  *
210  * @public @memberof GoDigital
211  * @param digital GoDigital object.
212  * @param delayDomain Output delay domain.
213  * @return The output delay domain (time or encoder value).
214  */
215 
216 GoFx(kStatus) GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain);
217 
218 /**
219  * Gets the output delay domain.
220  *
221  * @public @memberof GoDigital
222  * @param digital GoDigital object.
223  * @return The output delay domain.
224  */
225 GoFx(GoOutputDelayDomain) GoDigital_DelayDomain(GoDigital digital);
226 
227 /**
228  * Enables or disables the scheduler for this output.
229  *
230  * @public @memberof GoDigital
231  * @param digital GoDigital object.
232  * @param enabled kTRUE to enable, kFALSE to disable
233  * @return Operation status.
234  */
235 GoFx(kStatus) GoDigital_EnableSchedule(GoDigital digital, kBool enabled );
236 
237 /**
238  * Gets the enabled state of the scheduler for this output
239  *
240  * @public @memberof GoDigital
241  * @param digital GoDigital object.
242  * @return kTRUE if the scheduler is enabled.
243  */
244 GoFx(kBool) GoDigital_ScheduleEnabled(GoDigital digital);
245 
246 
247 kEndHeader()
248 #include <GoSdk/Outputs/GoDigital.x.h>
249 
250 #endif
Represents an output delay domain.
kSize GoDigital_OptionCount(GoDigital digital)
Gets the number of available decision source options.
GoDigitalSignal GoDigital_SignalType(GoDigital digital)
Gets the signal type of output.
k32u GoDigital_PulseWidth(GoDigital digital)
Gets the width of digital output pulses.
k64s GoDigital_Delay(GoDigital digital)
Gets the output delay.
kStatus GoDigital_AddSource(GoDigital digital, k32u sourceId)
Selects the specified decision source for use in determining pass/fail status.
kStatus GoDigital_SetDelay(GoDigital digital, k64s delay)
Sets the delay from exposure until output is triggered, in units based on GoDomain.
Represents Digital output settings.
Definition: GoDigital.h:14
kSize GoDigital_SourceCount(GoDigital digital)
Gets the number of decision sources that are currently selected for determining pass/fail state...
kStatus GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass)
Sets the pass/fail mode for the digital output.
Essential SDK declarations.
GoOutputDelayDomain GoDigital_DelayDomain(GoDigital digital)
Gets the output delay domain.
k32u GoDigital_OptionAt(GoDigital digital, kSize index)
Gets the decision source option at the specified index.
GoDigitalPass GoDigital_PassMode(GoDigital digital)
Gets the pass/fail mode for the digital output.
kBool GoDigital_ScheduleEnabled(GoDigital digital)
Gets the enabled state of the scheduler for this output.
kStatus GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal)
Sets the signal type of output.
Represents a digital output signal type.
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.
kBeginHeader() kStatus GoSdk_Construct(kAssembly *assembly)
Constructs the Gocator SDK library.
GoDigitalEvent GoDigital_Event(GoDigital digital)
Gets the event which triggers this output to fire.
Represents a digital output event.
k32u GoDigital_PulseWidthLimitMax(GoDigital digital)
Gets the maximum valid value for the Pulse Width setting.
kStatus GoDigital_EnableSchedule(GoDigital digital, kBool enabled)
Enables or disables the scheduler for this output.
k32u GoDigital_SourceAt(GoDigital digital, kSize index)
Gets the identifier of the selected output source at the specified index.
kStatus GoDigital_SetPulseWidth(GoDigital digital, k32u width)
Sets the width of digital output pulses.
k32u GoDigital_PulseWidthLimitMin(GoDigital digital)
Gets the minimum valid value for the Pulse Width setting.
kStatus GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain)
Sets the output delay domain.
Represents a digital output condition.
kStatus GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event)
Sets the event which triggers this output to fire.