Gocator API

GoAnalog.h
Go to the documentation of this file.
1 /**
2 * @file GoAnalog.h
3 * @brief Declares the GoAnalog class.
4 *
5 * @internal
6 * Copyright (C) 2016-2020 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 #ifndef GO_SDK_ANALOG_H
11 #define GO_SDK_ANALOG_H
12
13 #include <GoSdk/GoSdkDef.h>
14 kBeginHeader()
15
16 /**
17 * @class GoAnalog
18 * @extends kObject
19 * @ingroup GoSdk-Analog
20 * @brief Represents Analog output settings.
21 */
22 typedef kObject GoAnalog;
23
24
25 /**
26 * Gets the event which triggers this output to fire.
27 *
28 * @public @memberof GoAnalog
29 * @version Introduced in firmware 4.0.10.27
30 * @param analog GoAnalog object.
31 * @return The output event.
32 */
33 GoFx(GoAnalogEvent) GoAnalog_Event(GoAnalog analog);
34
35 /**
36 * Set the event which triggers this output to fire.
37 *
38 * @public @memberof GoAnalog
39 * @version Introduced in firmware 4.0.10.27
40 * @param analog GoAnalog object.
41 * @param event The selected output event.
42 * @return Operation status.
43 */
44 GoFx(kStatus) GoAnalog_SetEvent(GoAnalog analog, GoAnalogEvent event);
45
46 /**
47 * Gets the number of measurement value source options.
48 *
49 * @public @memberof GoAnalog
50 * @version Introduced in firmware 4.0.10.27
51 * @param analog GoAnalog object.
52 * @return Count of source options.
53 */
54 GoFx(kSize) GoAnalog_OptionCount(GoAnalog analog);
55
56 /**
57 * Gets the measurement value source option at the specified index.
58 *
59 * @public @memberof GoAnalog
60 * @version Introduced in firmware 4.0.10.27
61 * @param analog GoAnalog object.
62 * @param index Source option index.
63 * @return Source option.
64 */
65 GoFx(k32u) GoAnalog_OptionAt(GoAnalog analog, kSize index);
66
67 /**
68 * Selects a source type and source identifier for output.
69 *
70 * @public @memberof GoAnalog
71 * @version Introduced in firmware 4.0.10.27
72 * @param analog GoAnalog object.
73 * @param sourceId Output source identifier.
74 * @return Operation status.
75 */
76 GoFx(kStatus) GoAnalog_SetSource(GoAnalog analog, k32u sourceId);
77
78 /**
79 * Gets the selected source identifier.
80 *
81 * @public @memberof GoAnalog
82 * @version Introduced in firmware 4.0.10.27
83 * @param analog GoAnalog object.
84 * @return Selected source identifier.
85 */
86 GoFx(k32u) GoAnalog_Source(GoAnalog analog);
87
88 /**
89 * Clears the currently selected source identifier.
90 *
91 * @public @memberof GoAnalog
92 * @version Introduced in firmware 4.0.10.27
93 * @param analog GoAnalog object.
94 * @return Operation status.
95 */
96 GoFx(kStatus) GoAnalog_ClearSource(GoAnalog analog);
97
98 /**
99 * Gets the minimum valid value for CurrentMin, CurrentMax and CurrentInvalid settings.
100 *
101 * @public @memberof GoAnalog
102 * @version Introduced in firmware 4.0.10.27
103 * @param analog GoAnalog object.
104 * @return Minimum valid current value (mA).
105 */
106 GoFx(k64f) GoAnalog_CurrentLimitMin(GoAnalog analog);
107
108 /**
109 * Gets the maximum valid value for CurrentMin, CurrentMax and CurrentInvalid settings.
110 *
111 * @public @memberof GoAnalog
112 * @version Introduced in firmware 4.0.10.27
113 * @param analog GoAnalog object.
114 * @return Maximum valid current value (mA).
115 */
116 GoFx(k64f) GoAnalog_CurrentLimitMax(GoAnalog analog);
117
118 /**
119 * Sets the minimum current output level.
120 *
121 * @public @memberof GoAnalog
122 * @version Introduced in firmware 4.0.10.27
123 * @param analog GoAnalog object.
124 * @param min Minimum current output level (mA).
125 * @return Operation status.
126 */
127 GoFx(kStatus) GoAnalog_SetCurrentMin(GoAnalog analog, k64f min);
128
129 /**
130 * Gets the minimum current output level.
131 *
132 * @public @memberof GoAnalog
133 * @version Introduced in firmware 4.0.10.27
134 * @param analog GoAnalog object.
135 * @return Minimum current output (mA).
136 */
137 GoFx(k64f) GoAnalog_CurrentMin(GoAnalog analog);
138
139 /**
140 * Gets the minimum allowable current output level to be set for the minimum current.
141 *
142 * @public @memberof GoAnalog
143 * @version Introduced in firmware 4.0.10.27
144 * @param analog GoAnalog object.
145 * @return Maximum current output (mA).
146 */
147 GoFx(k64f) GoAnalog_CurrentMinLimitMin(GoAnalog analog);
148
149 /**
150 * Gets the maximum allowable current output level to be set for the minimum current.
151 *
152 * @public @memberof GoAnalog
153 * @version Introduced in firmware 4.0.10.27
154 * @param analog GoAnalog object.
155 * @return Maximum current output (mA).
156 */
157 GoFx(k64f) GoAnalog_CurrentMinLimitMax(GoAnalog analog);
158
159 /**
160 * Sets the maximum current output level.
161 *
162 * @public @memberof GoAnalog
163 * @version Introduced in firmware 4.0.10.27
164 * @param analog GoAnalog object.
165 * @param max Maximum current output level (mA).
166 * @return Operation status.
167 */
168 GoFx(kStatus) GoAnalog_SetCurrentMax(GoAnalog analog, k64f max);
169
170 /**
171 * Gets the maximum current output level.
172 *
173 * @public @memberof GoAnalog
174 * @version Introduced in firmware 4.0.10.27
175 * @param analog GoAnalog object.
176 * @return Maximum current output (mA).
177 */
178 GoFx(k64f) GoAnalog_CurrentMax(GoAnalog analog);
179
180 /**
181 * Gets the minimum allowable current output level to be set for the maximum current.
182 *
183 * @public @memberof GoAnalog
184 * @version Introduced in firmware 4.0.10.27
185 * @param analog GoAnalog object.
186 * @return Maximum current output (mA).
187 */
188 GoFx(k64f) GoAnalog_CurrentMaxLimitMin(GoAnalog analog);
189
190 /**
191 * Gets the maximum allowable current output level to be set for the maximum current.
192 *
193 * @public @memberof GoAnalog
194 * @version Introduced in firmware 4.0.10.27
195 * @param analog GoAnalog object.
196 * @return Maximum current output (mA).
197 */
198 GoFx(k64f) GoAnalog_CurrentMaxLimitMax(GoAnalog analog);
199
200
201 /**
202 * Enables the current output level associated with an invalid measurement.
203 * When this is disabled, the output value will be held constant on an invalid measurement
204 *
205 * @public @memberof GoAnalog
206 * @version Introduced in firmware 4.0.10.27
207 * @param analog GoAnalog object.
208 * @param enable kTRUE to enable, or kFALSE to disable.
209 * @return Operation status.
210 */
211 GoFx(kStatus) GoAnalog_EnableCurrentInvalid(GoAnalog analog, kBool enable);
212
213 /**
214 * Gets the status of the invalid current enabled option
215 *
216 * @public @memberof GoAnalog
217 * @version Introduced in firmware 4.0.10.27
218 * @param analog GoAnalog object.
219 * @return Whether invalid current is enabled for this output.
220 */
221 GoFx(kBool) GoAnalog_CurrentInvalidEnabled(GoAnalog analog);
222
223 /**
224 * Sets the current output level associated with an invalid measurement.
225 *
226 * @public @memberof GoAnalog
227 * @version Introduced in firmware 4.0.10.27
228 * @param analog GoAnalog object.
229 * @param invalid Invalid output current (mA).
230 * @return Operation status.
231 */
232 GoFx(kStatus) GoAnalog_SetCurrentInvalid(GoAnalog analog, k64f invalid);
233
234 /**
235 * Gets the current output level associated with an invalid measurement.
236 *
237 * @public @memberof GoAnalog
238 * @version Introduced in firmware 4.0.10.27
239 * @param analog GoAnalog object.
240 * @return Invalid current level (mA).
241 */
242 GoFx(k64f) GoAnalog_CurrentInvalid(GoAnalog analog);
243
244 /**
245 * Gets the maximum allowable current output level to be set for the invalid value current.
246 *
247 * @public @memberof GoAnalog
248 * @version Introduced in firmware 4.0.10.27
249 * @param analog GoAnalog object.
250 * @return Maximum current output (mA).
251 */
252 GoFx(k64f) GoAnalog_CurrentInvalidLimitMax(GoAnalog analog);
253
254 /**
255 * Gets the minimum allowable current output level to be set for the invalid value current.
256 *
257 * @public @memberof GoAnalog
258 * @version Introduced in firmware 4.0.10.27
259 * @param analog GoAnalog object.
260 * @return Maximum current output (mA).
261 */
262 GoFx(k64f) GoAnalog_CurrentInvalidLimitMin(GoAnalog analog);
263
264 /**
265 * Sets the measurement value associated with the minimum output current value.
266 *
267 * @public @memberof GoAnalog
268 * @version Introduced in firmware 4.0.10.27
269 * @param analog GoAnalog object.
270 * @param min Minimum measurement value (units are measurement dependent).
271 * @return Operation status.
272 */
273 GoFx(kStatus) GoAnalog_SetDataScaleMin(GoAnalog analog, k64f min);
274
275 /**
276 * Gets the measurement value associated with the minimum output current value.
277 *
278 * @public @memberof GoAnalog
279 * @version Introduced in firmware 4.0.10.27
280 * @param analog GoAnalog object.
281 * @return Minimum measurement value (units are measurement dependent).
282 */
283 GoFx(k64f) GoAnalog_DataScaleMin(GoAnalog analog);
284
285 /**
286 * Sets the measurement value associated with the maximum output current value.
287 *
288 * @public @memberof GoAnalog
289 * @version Introduced in firmware 4.0.10.27
290 * @param analog GoAnalog object.
291 * @param max Maximum measurement value (units are measurement dependent).
292 * @return Operation status.
293 */
294 GoFx(kStatus) GoAnalog_SetDataScaleMax(GoAnalog analog, k64f max);
295
296 /**
297 * Gets the measurement value associated with the maximum output current value.
298 *
299 * @public @memberof GoAnalog
300 * @version Introduced in firmware 4.0.10.27
301 * @param analog GoAnalog object.
302 * @return Maximum measurement value (units are measurement dependent).
303 */
304 GoFx(k64f) GoAnalog_DataScaleMax(GoAnalog analog);
305
306 /**
307 * Sets the delay from exposure until output is triggered, in units based on GoDomain
308 * mm when GoDomain is distance, uS when GoDomain is time.
309 *
310 * The delay is ignored when GoDomain is Immediate or when output is Software triggered.
311 *
312 * @public @memberof GoAnalog
313 * @version Introduced in firmware 4.0.10.27
314 * @param analog GoAnalog object.
315 * @param delay The delay (uS or mm)
316 * @return Operation status.
317 */
318 GoFx(kStatus) GoAnalog_SetDelay(GoAnalog analog, k64s delay);
319
320 /**
321 * Gets the output delay.
322 *
323 * @public @memberof GoAnalog
324 * @version Introduced in firmware 4.0.10.27
325 * @param analog GoAnalog object.
326 * @return The output delay (uS or mm).
327 */
328 GoFx(k64s) GoAnalog_Delay(GoAnalog analog);
329
330 /**
331 * Sets the output delay domain.
332 *
333 * @public @memberof GoAnalog
334 * @version Introduced in firmware 4.0.10.27
335 * @param analog GoAnalog object.
336 * @param delayDomain Output delay domain.
337 * @return The output delay domain (time or encoder value).
338 */
339 GoFx(kStatus) GoAnalog_SetDelayDomain(GoAnalog analog, GoOutputDelayDomain delayDomain);
340
341 /**
342 * Gets the output delay domain.
343 *
344 * @public @memberof GoAnalog
345 * @version Introduced in firmware 4.0.10.27
346 * @param analog GoAnalog object.
347 * @return The output delay domain.
348 */
349 GoFx(GoOutputDelayDomain) GoAnalog_DelayDomain(GoAnalog analog);
350
351 /**
352 * Enables or disables the scheduler for this output.
353 *
354 * @public @memberof GoAnalog
355 * @version Introduced in firmware 4.0.10.27
356 * @param analog GoAnalog object.
357 * @param enabled kTRUE to enable, kFALSE to disable
358 * @return Operation status.
359 */
360 GoFx(kStatus) GoAnalog_EnableSchedule(GoAnalog analog, kBool enabled );
361
362 /**
363 * Gets the enabled state of the scheduler for this output.
364 *
365 * @public @memberof GoAnalog
366 * @version Introduced in firmware 4.0.10.27
367 * @param analog GoAnalog object.
368 * @return kTRUE if the scheduler is enabled; kFALSE otherwise.
369 */
370 GoFx(kBool) GoAnalog_ScheduleEnabled(GoAnalog analog);
371
372 kEndHeader()
373 #include <GoSdk/Outputs/GoAnalog.x.h>
374
375 #endif
GoAnalog::GoAnalog_EnableCurrentInvalid
kStatus GoAnalog_EnableCurrentInvalid(GoAnalog analog, kBool enable)
Enables the current output level associated with an invalid measurement.
GoAnalog::GoAnalog_Source
k32u GoAnalog_Source(GoAnalog analog)
Gets the selected source identifier.
k32u
GoOutputDelayDomain
Represents an output delay domain.
GoAnalog::GoAnalog_SetDelayDomain
kStatus GoAnalog_SetDelayDomain(GoAnalog analog, GoOutputDelayDomain delayDomain)
Sets the output delay domain.
GoAnalog::GoAnalog_CurrentLimitMax
k64f GoAnalog_CurrentLimitMax(GoAnalog analog)
Gets the maximum valid value for CurrentMin, CurrentMax and CurrentInvalid settings.
GoAnalog::GoAnalog_SetCurrentMin
kStatus GoAnalog_SetCurrentMin(GoAnalog analog, k64f min)
Sets the minimum current output level.
GoAnalog::GoAnalog_SetDataScaleMin
kStatus GoAnalog_SetDataScaleMin(GoAnalog analog, k64f min)
Sets the measurement value associated with the minimum output current value.
GoAnalog::GoAnalog_EnableSchedule
kStatus GoAnalog_EnableSchedule(GoAnalog analog, kBool enabled)
Enables or disables the scheduler for this output.
GoAnalog::GoAnalog_CurrentMinLimitMin
k64f GoAnalog_CurrentMinLimitMin(GoAnalog analog)
Gets the minimum allowable current output level to be set for the minimum current.
GoAnalog::GoAnalog_Delay
k64s GoAnalog_Delay(GoAnalog analog)
Gets the output delay.
kSize
GoAnalog::GoAnalog_CurrentInvalid
k64f GoAnalog_CurrentInvalid(GoAnalog analog)
Gets the current output level associated with an invalid measurement.
GoAnalog::GoAnalog_SetCurrentInvalid
kStatus GoAnalog_SetCurrentInvalid(GoAnalog analog, k64f invalid)
Sets the current output level associated with an invalid measurement.
GoAnalog::GoAnalog_CurrentInvalidEnabled
kBool GoAnalog_CurrentInvalidEnabled(GoAnalog analog)
Gets the status of the invalid current enabled option.
GoAnalog::GoAnalog_CurrentMinLimitMax
k64f GoAnalog_CurrentMinLimitMax(GoAnalog analog)
Gets the maximum allowable current output level to be set for the minimum current.
GoAnalog::GoAnalog_OptionAt
k32u GoAnalog_OptionAt(GoAnalog analog, kSize index)
Gets the measurement value source option at the specified index.
GoAnalog::GoAnalog_ClearSource
kStatus GoAnalog_ClearSource(GoAnalog analog)
Clears the currently selected source identifier.
GoAnalog::GoAnalog_ScheduleEnabled
kBool GoAnalog_ScheduleEnabled(GoAnalog analog)
Gets the enabled state of the scheduler for this output.
GoSdkDef.h
Essential SDK declarations.
GoAnalog::GoAnalog_DataScaleMin
k64f GoAnalog_DataScaleMin(GoAnalog analog)
Gets the measurement value associated with the minimum output current value.
GoAnalog::GoAnalog_CurrentMax
k64f GoAnalog_CurrentMax(GoAnalog analog)
Gets the maximum current output level.
GoAnalog::GoAnalog_CurrentLimitMin
k64f GoAnalog_CurrentLimitMin(GoAnalog analog)
Gets the minimum valid value for CurrentMin, CurrentMax and CurrentInvalid settings.
GoAnalog::GoAnalog_CurrentInvalidLimitMax
k64f GoAnalog_CurrentInvalidLimitMax(GoAnalog analog)
Gets the maximum allowable current output level to be set for the invalid value current.
GoAnalog::GoAnalog_CurrentInvalidLimitMin
k64f GoAnalog_CurrentInvalidLimitMin(GoAnalog analog)
Gets the minimum allowable current output level to be set for the invalid value current.
k64s
GoAnalog::GoAnalog_Event
GoAnalogEvent GoAnalog_Event(GoAnalog analog)
Gets the event which triggers this output to fire.
GoAnalog::GoAnalog_SetSource
kStatus GoAnalog_SetSource(GoAnalog analog, k32u sourceId)
Selects a source type and source identifier for output.
GoAnalogEvent
Represents a analog output event.
GoAnalog::GoAnalog_OptionCount
kSize GoAnalog_OptionCount(GoAnalog analog)
Gets the number of measurement value source options.
GoAnalog::GoAnalog_SetDelay
kStatus GoAnalog_SetDelay(GoAnalog analog, k64s delay)
Sets the delay from exposure until output is triggered, in units based on GoDomain mm when GoDomain i...
GoAnalog::GoAnalog_SetEvent
kStatus GoAnalog_SetEvent(GoAnalog analog, GoAnalogEvent event)
Set the event which triggers this output to fire.
kObject
kStatus
GoAnalog::GoAnalog_DataScaleMax
k64f GoAnalog_DataScaleMax(GoAnalog analog)
Gets the measurement value associated with the maximum output current value.
GoAnalog::GoAnalog_DelayDomain
GoOutputDelayDomain GoAnalog_DelayDomain(GoAnalog analog)
Gets the output delay domain.
GoAnalog::GoAnalog_CurrentMin
k64f GoAnalog_CurrentMin(GoAnalog analog)
Gets the minimum current output level.
GoAnalog::GoAnalog_SetCurrentMax
kStatus GoAnalog_SetCurrentMax(GoAnalog analog, k64f max)
Sets the maximum current output level.
k64f
GoAnalog::GoAnalog_SetDataScaleMax
kStatus GoAnalog_SetDataScaleMax(GoAnalog analog, k64f max)
Sets the measurement value associated with the maximum output current value.
kBool
GoAnalog::GoAnalog_CurrentMaxLimitMax
k64f GoAnalog_CurrentMaxLimitMax(GoAnalog analog)
Gets the maximum allowable current output level to be set for the maximum current.
GoAnalog
Represents Analog output settings.
GoAnalog::GoAnalog_CurrentMaxLimitMin
k64f GoAnalog_CurrentMaxLimitMin(GoAnalog analog)
Gets the minimum allowable current output level to be set for the maximum current.