Gocator API

- Home
- Categories
- Types
- Files

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>
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 * @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
GoOutputDelayDomain
Represents an output delay domain.
GoDigital::GoDigital_OptionCount
kSize GoDigital_OptionCount(GoDigital digital)
Gets the number of available decision source options.
GoDigital::GoDigital_SignalType
GoDigitalSignal GoDigital_SignalType(GoDigital digital)
Gets the signal type of output.
GoDigital::GoDigital_PulseWidth
k32u GoDigital_PulseWidth(GoDigital digital)
Gets the width of digital output pulses.
GoDigital::GoDigital_Delay
k64s GoDigital_Delay(GoDigital digital)
Gets the output delay.
GoDigital::GoDigital_AddSource
kStatus GoDigital_AddSource(GoDigital digital, k32u sourceId)
Selects the specified decision source for use in determining pass/fail status.
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
Represents Digital output settings.
Definition: GoDigital.h:14
GoDigital::GoDigital_SourceCount
kSize GoDigital_SourceCount(GoDigital digital)
Gets the number of decision sources that are currently selected for determining pass/fail state...
GoDigital::GoDigital_SetPassMode
kStatus GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass)
Sets the pass/fail mode for the digital output.
GoSdkDef.h
Essential SDK declarations.
GoDigital::GoDigital_DelayDomain
GoOutputDelayDomain GoDigital_DelayDomain(GoDigital digital)
Gets the output delay domain.
GoDigital::GoDigital_OptionAt
k32u GoDigital_OptionAt(GoDigital digital, kSize index)
Gets the decision source option at the specified index.
GoDigital::GoDigital_PassMode
GoDigitalPass GoDigital_PassMode(GoDigital digital)
Gets the pass/fail mode for the digital output.
GoDigital::GoDigital_ScheduleEnabled
kBool GoDigital_ScheduleEnabled(GoDigital digital)
Gets the enabled state of the scheduler for this output.
GoDigital::GoDigital_SetSignalType
kStatus GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal)
Sets the signal type of output.
GoDigitalSignal
Represents a digital output signal type.
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.
kBeginHeader
kBeginHeader() kStatus GoSdk_Construct(kAssembly *assembly)
Constructs the Gocator SDK library.
GoDigital::GoDigital_Event
GoDigitalEvent GoDigital_Event(GoDigital digital)
Gets the event which triggers this output to fire.
GoDigitalEvent
Represents a digital output event.
GoDigital::GoDigital_PulseWidthLimitMax
k32u GoDigital_PulseWidthLimitMax(GoDigital digital)
Gets the maximum valid value for the Pulse Width setting.
GoDigital::GoDigital_EnableSchedule
kStatus GoDigital_EnableSchedule(GoDigital digital, kBool enabled)
Enables or disables the scheduler for this output.
GoDigital::GoDigital_SourceAt
k32u GoDigital_SourceAt(GoDigital digital, kSize index)
Gets the identifier of the selected output source at the specified index.
GoDigital::GoDigital_SetPulseWidth
kStatus GoDigital_SetPulseWidth(GoDigital digital, k32u width)
Sets the width of digital output pulses.
GoDigital::GoDigital_PulseWidthLimitMin
k32u GoDigital_PulseWidthLimitMin(GoDigital digital)
Gets the minimum valid value for the Pulse Width setting.
GoDigital::GoDigital_SetDelayDomain
kStatus GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain)
Sets the output delay domain.
GoDigitalPass
Represents a digital output condition.
GoDigital::GoDigital_SetEvent
kStatus GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event)
Sets the event which triggers this output to fire.