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