Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
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) 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_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
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.