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