Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups Pages
GoOutputTypes.h
Go to the documentation of this file.
1 /**
2  * @file GoOutputTypes.h
3  * @brief Declares the Output Type classes.
4  *
5  * @internal
6  * Copyright (C) 2011-2012 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_API_OUTPUT_TYPES_H
11 #define GO_API_OUTPUT_TYPES_H
12 
13 #include <GoSdk/GoSdkDef.h>
14 kBeginHeader()
15 
16 
17 /**
18  * @class GoEthernet
19  * @extends kObject
20  * @ingroup GoSdk
21  * @brief Represents Ethernet output settings.
22  */
23 typedef kObject GoEthernet;
24 
25 /**
26  * Gets the number of source options for the specified output type.
27  *
28  * @public @memberof GoEthernet
29  * @param ethernet GoEthernet object.
30  * @param type Output source type.
31  * @return Count of source options.
32  */
33 GoFx(kSize) GoEthernet_OptionCount(GoEthernet ethernet, GoOutputSource type);
34 
35 /**
36  * Gets the source option at the specified index.
37  *
38  * @public @memberof GoEthernet
39  * @param ethernet GoEthernet object.
40  * @param type Output source type.
41  * @param index Source option index.
42  * @return Source option.
43  */
44 GoFx(k32u) GoEthernet_OptionAt(GoEthernet ethernet, GoOutputSource type, k32u index);
45 
46 /**
47  * Gets the number of sources of the specified output type that are currently selected for transmission.
48  *
49  * @public @memberof GoEthernet
50  * @param ethernet GoEthernet object.
51  * @param type Output source type.
52  * @return Count of selected sources.
53  */
54 GoFx(kSize) GoEthernet_SourceCount(GoEthernet ethernet, GoOutputSource type);
55 
56 /**
57  * Gets the identifier of the selected output at the specified index.
58  *
59  * @public @memberof GoEthernet
60  * @param ethernet GoEthernet object.
61  * @param type Output source type.
62  * @param index Selected source index.
63  * @return Source identifier.
64  */
65 GoFx(k32u) GoEthernet_SourceAt(GoEthernet ethernet, GoOutputSource type, k32u index);
66 
67 /**
68  * Selects the specified source for transmission.
69  *
70  * @public @memberof GoEthernet
71  * @param ethernet GoEthernet object.
72  * @param type Output source type.
73  * @param sourceId Output source identifier.
74  * @return Operation status.
75  */
76 GoFx(kStatus) GoEthernet_AddSource(GoEthernet ethernet, GoOutputSource type, k32u sourceId);
77 
78 /**
79  * Removes (deselects) the source at the specified index.
80  *
81  * @public @memberof GoEthernet
82  * @param ethernet GoEthernet object.
83  * @param type Output source type.
84  * @param index Index of the source to be removed.
85  * @return Operation status.
86  */
87 GoFx(kStatus) GoEthernet_RemoveSource(GoEthernet ethernet, GoOutputSource type, kSize index);
88 
89 /**
90  * Removes all selected sources for the specified output type.
91  *
92  * @public @memberof GoEthernet
93  * @param ethernet GoEthernet object.
94  * @param type Output source type.
95  * @return Operation status.
96  */
97 GoFx(kStatus) GoEthernet_ClearSources(GoEthernet ethernet, GoOutputSource type);
98 
99 /**
100  * Removes all selected sources for all possible ethernet output types.
101  *
102  * @public @memberof GoEthernet
103  * @param ethernet GoEthernet object.
104  * @return Operation status.
105  */
106 GoFx(kStatus) GoEthernet_ClearAllSources(GoEthernet ethernet);
107 
108 
109 /**
110  * Gets the protocol that the ethernet utilizes for output.
111  *
112  * @public @memberof GoEthernet
113  * @param ethernet GoEthernet object.
114  * @return The ethernet protocol.
115  */
116 GoFx(GoEthernetProtocol) GoEthernet_Protocol(GoEthernet ethernet);
117 
118 /**
119  * Sets the protocol which will be output via ethernet.
120  *
121  * @public @memberof GoEthernet
122  * @param ethernet GoEthernet object.
123  * @param protocol The selected ethernet protocol.
124  * @return Operation status.
125  */
126 GoFx(kStatus) GoEthernet_SetProtocol(GoEthernet ethernet, GoEthernetProtocol protocol);
127 
128 /**
129  * Gets the ASCII protocol operational mode.
130  *
131  * @public @memberof GoEthernet
132  * @param ethernet GoEthernet object.
133  * @return Operation mode.
134  */
135 GoFx(GoAsciiOperation) GoEthernet_AsciiOperation(GoEthernet ethernet);
136 
137 /**
138  * Sets the ASCII operation mode.
139  *
140  * @public @memberof GoEthernet
141  * @param ethernet GoEthernet object.
142  * @param mode The selected ASCII operation mode.
143  * @return Operation status.
144  */
145 GoFx(kStatus) GoEthernet_SetAsciiOperation(GoEthernet ethernet, GoAsciiOperation mode);
146 
147 /**
148  * Gets the ASCII protocol control channel port number.
149  *
150  * @public @memberof GoEthernet
151  * @param ethernet GoEthernet object.
152  * @return Control channel port number.
153  */
154 GoFx(k32u) GoEthernet_AsciiControlPort(GoEthernet ethernet);
155 
156 /**
157  * Sets the port number of the ASCII control port.
158  *
159  * @public @memberof GoEthernet
160  * @param ethernet GoEthernet object.
161  * @param port The selected ASCII control port value.
162  * @return Operation status.
163  */
164 GoFx(kStatus) GoEthernet_SetAsciiControlPort(GoEthernet ethernet, k32u port);
165 
166 /**
167  * Gets the ASCII protocol health channel port number.
168  *
169  * @public @memberof GoEthernet
170  * @param ethernet GoEthernet object.
171  * @return Health channel port number.
172  */
173 GoFx(k32u) GoEthernet_AsciiHealthPort(GoEthernet ethernet);
174 
175 /**
176  * Sets the port number of the ASCII health port.
177  *
178  * @public @memberof GoEthernet
179  * @param ethernet GoEthernet object.
180  * @param port The selected ASCII health port value.
181  * @return Operation status.
182  */
183 GoFx(kStatus) GoEthernet_SetAsciiHealthPort(GoEthernet ethernet, k32u port);
184 
185 /**
186  * Gets the ASCII protocol data channel port number.
187  *
188  * @public @memberof GoEthernet
189  * @param ethernet GoEthernet object.
190  * @return Data channel port number.
191  */
192 GoFx(k32u) GoEthernet_AsciiDataPort(GoEthernet ethernet);
193 
194 /**
195  * Sets the port number of the ASCII data port.
196  *
197  * @public @memberof GoEthernet
198  * @param ethernet GoEthernet object.
199  * @param port The selected ASCII data port value.
200  * @return Operation status.
201  */
202 GoFx(kStatus) GoEthernet_SetAsciiDataPort(GoEthernet ethernet, k32u port);
203 
204 /**
205  * Gets the ASCII protocol output delimiter string.
206  *
207  * @public @memberof GoEthernet
208  * @param ethernet GoEthernet object.
209  * @return A pointer to the string representing the ASCII protocol output delimiter.
210  */
211 GoFx(kChar*) GoEthernet_AsciiDelimiter(GoEthernet ethernet);
212 
213 /**
214  * Sets the ASCII protocol output delimiter string.
215  *
216  * @public @memberof GoEthernet
217  * @param ethernet GoEthernet object.
218  * @param string A pointer to the string representing the ASCII protocol output delimiter.
219  * @return Operation status.
220  */
221 GoFx(kStatus) GoEthernet_SetAsciiDelimiter(GoEthernet ethernet, const kChar* string);
222 
223 /**
224  * Gets the ASCII protocol output terminator string.
225  *
226  * @public @memberof GoEthernet
227  * @param ethernet GoEthernet object.
228  * @return A pointer to the terminator representing the ASCII protocol output delimiter.
229  */
230 GoFx(kChar*) GoEthernet_AsciiTerminator(GoEthernet ethernet);
231 
232 /**
233  * Sets the ASCII protocol output terminator string.
234  *
235  * @public @memberof GoEthernet
236  * @param ethernet GoEthernet object.
237  * @param string A pointer to the string representing the ASCII protocol output terminator.
238  * @return Operation status.
239  */
240 GoFx(kStatus) GoEthernet_SetAsciiTerminator(GoEthernet ethernet, const kChar* string);
241 
242 /**
243  * Gets the ASCII protocol output invalid value string.
244  *
245  * @public @memberof GoEthernet
246  * @param ethernet GoEthernet object.
247  * @return A pointer to the string representing the ASCII protocol output invalid value.
248  */
249 GoFx(kChar*) GoEthernet_AsciiInvalidValue(GoEthernet ethernet);
250 
251 /**
252  * Sets the ASCII protocol output invalid value string.
253  *
254  * @public @memberof GoEthernet
255  * @param ethernet GoEthernet object.
256  * @param string A pointer to the string representing the ASCII protocol output invalid value.
257  * @return Operation status.
258  */
259 GoFx(kStatus) GoEthernet_SetAsciiInvalidValue(GoEthernet ethernet, const kChar* string);
260 
261 /**
262  * Gets the ASCII protocol output custom data format string.
263  *
264  * @public @memberof GoEthernet
265  * @param ethernet GoEthernet object.
266  * @return A pointer to the string representing the ASCII protocol output custom data format.
267  */
268 GoFx(kChar*) GoEthernet_AsciiCustomDataFormat(GoEthernet ethernet);
269 
270 /**
271  * Sets the ASCII protocol output custom data format string.
272  *
273  * @public @memberof GoEthernet
274  * @param ethernet GoEthernet object.
275  * @param string A pointer to the string representing the ASCII protocol output custom data format.
276  * @return Operation status.
277  */
278 GoFx(kStatus) GoEthernet_SetAsciiCustomDataFormat(GoEthernet ethernet, const kChar* string);
279 
280 /**
281  * Enables or disables the ASCII protocol output custom data format.
282  *
283  * @public @memberof GoEthernet
284  * @param ethernet GoEthernet object.
285  * @param enabled kTRUE to enable custom data format output. kFALSE to use the default output format.
286  * @return Operation status.
287  */
288 GoFx(kStatus) GoEthernet_EnableAsciiCustomFormat(GoEthernet ethernet, kBool enabled);
289 
290 /**
291  * Returns the value of whether the ASCII protocol custom data format is enabled or disabled.
292  *
293  * @public @memberof GoEthernet
294  * @param ethernet GoEthernet object.
295  * @return kTRUE if the custom data format is enabled. kFALSE otherwise.
296  */
297 GoFx(kBool) GoEthernet_AsciiCustomFormatEnabled(GoEthernet ethernet);
298 
299 /**
300  * Enables or disables EthernetIP protocol output buffering.
301  *
302  * @public @memberof GoEthernet
303  * @param ethernet GoEthernet object.
304  * @param enabled kTRUE to enable buffering. kFALSE to disable it.
305  * @return Operation status.
306  */
307 GoFx(kStatus) GoEthernet_SetEIPBufferingEnabled(GoEthernet ethernet, kBool enabled);
308 
309 /**
310  * Returns the value of whether the EthernetIP protocol output buffering is enabled or disabled.
311  *
312  * @public @memberof GoEthernet
313  * @param ethernet GoEthernet object.
314  * @return kTRUE if buffering is enabled. kFALSE otherwise.
315  */
316 GoFx(kBool) GoEthernet_EIPBufferingEnabled(GoEthernet ethernet);
317 
318 /**
319  * Enables or disables Modbus protocol output buffering.
320  *
321  * @public @memberof GoEthernet
322  * @param ethernet GoEthernet object.
323  * @param enabled kTRUE to enable buffering. kFALSE to disable it.
324  * @return Operation status.
325  */
326 GoFx(kStatus) GoEthernet_SetModbusBufferingEnabled(GoEthernet ethernet, kBool enabled);
327 
328 /**
329  * Returns the value of whether Modbus protocol output buffering is enabled or disabled.
330  *
331  * @public @memberof GoEthernet
332  * @param ethernet GoEthernet object.
333  * @return kTRUE if buffering is enabled. kFALSE otherwise.
334  */
335 GoFx(kBool) GoEthernet_ModbusBufferingEnabled(GoEthernet ethernet);
336 
337 /**
338  * @class GoSerial
339  * @extends kObject
340  * @ingroup GoSdk
341  * @brief Represents Serial output settings.
342  */
343 typedef kObject GoSerial;
344 
345 /**
346  * Gets the list of source measurement options.
347  *
348  * @public @memberof GoSerial
349  * @param serial GoSerial object.
350  * @return An array list of source measurement options.
351  */
352 GoFx(kArrayList) GoSerial_OptionList(GoSerial serial);
353 
354 /**
355  * Gets the number of source options.
356  *
357  * @public @memberof GoSerial
358  * @param serial GoSerial object.
359  * @return Source option.
360  */
361 GoFx(kSize) GoSerial_OptionCount(GoSerial serial);
362 
363 /**
364  * Gets the source option at the specified index.
365  *
366  * @public @memberof GoSerial
367  * @param serial GoSerial object.
368  * @param index Source option index.
369  * @return Source option.
370  */
371 GoFx(k32u) GoSerial_OptionAt(GoSerial serial, k32u index);
372 
373 /**
374  * Gets the number of sources of the specified output type that are currently selected for transmission.
375  *
376  * @public @memberof GoSerial
377  * @param serial GoSerial object.
378  * @return Count of selected sources.
379  */
380 GoFx(kSize) GoSerial_SourceCount(GoSerial serial);
381 
382 /**
383  * Gets the identifier of the selected output source at the specified index.
384  *
385  * @public @memberof GoSerial
386  * @param serial GoSerial object.
387  * @param index Selected source index.
388  * @return Source identifier.
389  */
390 GoFx(k32u) GoSerial_SourceAt(GoSerial serial, k32u index);
391 
392 /**
393  * Selects the specified source for transmission.
394  *
395  * @public @memberof GoSerial
396  * @param serial GoSerial object.
397  * @param sourceId Source identifier.
398  * @return Operation status.
399  */
400 GoFx(kStatus) GoSerial_AddSource(GoSerial serial, k32u sourceId);
401 
402 /**
403  * Removes (deselects) the source at the specified index.
404  *
405  * @public @memberof GoSerial
406  * @param serial GoSerial object.
407  * @param type Output source type (value or decision).
408  * @param index Index of the source to be removed.
409  * @return Operation status.
410  */
411 GoFx(kStatus) GoSerial_RemoveSource(GoSerial serial, k32u index);
412 
413 /**
414  * Removes all selected sources for the specified output type.
415  *
416  * @public @memberof GoSerial
417  * @param serial GoSerial object.
418  * @return Operation status.
419  */
420 GoFx(kStatus) GoSerial_ClearSources(GoSerial serial);
421 
422 /**
423  * Sets the Selcom protocol output rate.
424  *
425  * @public @memberof GoSerial
426  * @param serial GoSerial object.
427  * @param index An index value representing the Selcom rate to set.
428  * @return Operation status.
429  */
430 GoFx(kStatus) GoSerial_SetSelcomRate(GoSerial serial, kSize index);
431 
432 /**
433  * Gets the index of the currently selected Selcom output rate.
434  *
435  * @public @memberof GoSerial
436  * @param serial GoSerial object.
437  * @return An integer corresponding to the current Selcom output rate.
438  */
439 GoFx(k32u) GoSerial_SelcomRate(GoSerial serial);
440 
441 GoFx(kArrayList) GoSerial_SelcomRateOptionList(GoSerial serial);
442 
443 /**
444  * Returns the number of available Selcom protocol output options.
445  *
446  * @public @memberof GoSerial
447  * @param serial GoSerial object.
448  * @return A number representing the available Selcom protocol output options.
449  */
450 GoFx(k32u) GoSerial_SelcomRateOptionCount(GoSerial serial);
451 
452 GoFx(k32u) GoSerial_SelcomRateOptionAt(GoSerial serial, kSize index);
453 GoFx(kStatus) GoSerial_SetSelcomFormat(GoSerial serial, GoSelcomFormat format);
454 GoFx(GoSelcomFormat) GoSerial_SelcomFormat(GoSerial serial);
455 GoFx(kArrayList) GoSerial_SelcomFormatOptionList(GoSerial serial);
456 GoFx(k32u) GoSerial_SelcomFormatOptionCount(GoSerial serial);
457 GoFx(GoSelcomFormat) GoSerial_SelcomFormatOptionAt(GoSerial serial, kSize index);
458 GoFx(kStatus) GoSerial_SetSelcomDataScaleMax(GoSerial serial, k64f value);
459 GoFx(k64f) GoSerial_SelcomDataScaleMax(GoSerial serial);
460 GoFx(kStatus) GoSerial_SetSelcomDataScaleMin(GoSerial serial, k64f value);
461 GoFx(k64f) GoSerial_SelcomDataScaleMin(GoSerial serial);
462 
463 GoFx(kChar*) GoSerial_AsciiDelimiter(GoSerial serial);
464 GoFx(kStatus) GoSerial_SetAsciiDelimiter(GoSerial serial, const kChar* string);
465 GoFx(kChar*) GoSerial_AsciiTerminator(GoSerial serial);
466 GoFx(kStatus) GoSerial_SetAsciiTerminator(GoSerial serial, const kChar* string);
467 GoFx(kChar*) GoSerial_AsciiInvalidValue(GoSerial serial);
468 GoFx(kStatus) GoSerial_SetAsciiInvalidValue(GoSerial serial, const kChar* string);
469 GoFx(kChar*) GoSerial_AsciiCustomDataFormat(GoSerial serial);
470 GoFx(kStatus) GoSerial_SetAsciiCustomDataFormat(GoSerial serial, const kChar* string);
471 GoFx(kStatus) GoSerial_EnableAsciiCustomFormat(GoSerial serial, kBool enabled);
472 GoFx(kBool) GoSerial_AsciiCustomFormatEnabled(GoSerial serial);
473 
474 /**
475  * @class GoAnalog
476  * @extends kObject
477  * @ingroup GoSdk
478  * @brief Represents Analog output settings.
479  */
480 typedef kObject GoAnalog;
481 
482 
483 /**
484  * Gets the event which triggers this output to fire
485  *
486  * @public @memberof GoAnalog
487  * @param analog GoAnalog object.
488  * @return The output event.
489  */
490 GoFx(GoAnalogEvent) GoAnalog_Event(GoAnalog analog);
491 
492 /**
493  * Set the event which triggers this output to fire
494  *
495  * @public @memberof GoAnalog
496  * @param analog GoAnalog object.
497  * @param event The selected output event.
498  * @return Operation status.
499  */
500 GoFx(kStatus) GoAnalog_SetEvent(GoAnalog analog, GoAnalogEvent event);
501 
502 /**
503  * Gets the list of source options for the specified output type.
504  *
505  * @public @memberof GoAnalog
506  * @param analog GoAnalog object.
507  * @return An array list of source options.
508  */
509 GoFx(kArrayList) GoAnalog_OptionList(GoAnalog analog);
510 
511 /**
512  * Gets the number of source options for the specified output type.
513  *
514  * @public @memberof GoAnalog
515  * @param analog GoAnalog object.
516  * @param type Output source type (value or decision).
517  * @return Count of source options.
518  */
519 GoFx(kSize) GoAnalog_OptionCount(GoAnalog analog);
520 
521 /**
522  * Gets the source option at the specified index.
523  *
524  * @public @memberof GoAnalog
525  * @param analog GoAnalog object.
526  * @param type Output source type (value or decision).
527  * @param index Source option index.
528  * @return Source option.
529  */
530 GoFx(k32u) GoAnalog_OptionAt(GoAnalog analog, GoOutputSource type, k32u index);
531 
532 /**
533  * Selects a source type and source identifier for output.
534  *
535  * @public @memberof GoAnalog
536  * @param analog GoAnalog object.
537  * @param sourceId Output source identifier.
538  * @return Operation status.
539  */
540 GoFx(kStatus) GoAnalog_SetSource(GoAnalog analog, k32u sourceId);
541 
542 /**
543  * Gets the selected source identifier.
544  *
545  * @public @memberof GoAnalog
546  * @param analog GoAnalog object.
547  * @return Selected source identifier.
548  */
549 GoFx(k32u) GoAnalog_Source(GoAnalog analog);
550 
551 /**
552  * Clears the currently selected source identifier.
553  *
554  * @public @memberof GoAnalog
555  * @param analog GoAnalog object.
556  * @return Operation status.
557  */
558 GoFx(kStatus) GoAnalog_ClearSource(GoAnalog analog);
559 
560 /**
561  * Gets the minimum valid value for CurrentMin, CurrentMax and CurrentInvalid settings.
562  *
563  * @public @memberof GoAnalog
564  * @param analog GoAnalog object.
565  * @return Minimum valid current value (mA).
566  */
567 GoFx(k64f) GoAnalog_CurrentLimitMin(GoAnalog analog);
568 
569 /**
570  * Gets the maximum valid value for CurrentMin, CurrentMax and CurrentInvalid settings.
571  *
572  * @public @memberof GoAnalog
573  * @param analog GoAnalog object.
574  * @return Maximum valid current value (mA).
575  */
576 GoFx(k64f) GoAnalog_CurrentLimitMax(GoAnalog analog);
577 
578 /**
579  * Sets the minimum current output level.
580  *
581  * @public @memberof GoAnalog
582  * @param analog GoAnalog object.
583  * @param min Minimum current output level (mA).
584  * @return Operation status.
585  */
586 GoFx(kStatus) GoAnalog_SetCurrentMin(GoAnalog analog, k64f min);
587 
588 /**
589  * Gets the minimum current output level.
590  *
591  * @public @memberof GoAnalog
592  * @param analog GoAnalog object.
593  * @return Minimum current output (mA).
594  */
595 GoFx(k64f) GoAnalog_CurrentMin(GoAnalog analog);
596 GoFx(k64f) GoAnalog_CurrentMinLimitMin(GoAnalog analog);
597 GoFx(k64f) GoAnalog_CurrentMinLimitMax(GoAnalog analog);
598 
599 /**
600  * Sets the maximum current output level.
601  *
602  * @public @memberof GoAnalog
603  * @param analog GoAnalog object.
604  * @param max Maximum current output level (mA).
605  * @return Operation status.
606  */
607 GoFx(kStatus) GoAnalog_SetCurrentMax(GoAnalog analog, k64f max);
608 
609 /**
610  * Gets the maximum current output level.
611  *
612  * @public @memberof GoAnalog
613  * @param analog GoAnalog object.
614  * @return Maximum current output (mA).
615  */
616 GoFx(k64f) GoAnalog_CurrentMax(GoAnalog analog);
617 GoFx(k64f) GoAnalog_CurrentMaxLimitMin(GoAnalog analog);
618 GoFx(k64f) GoAnalog_CurrentMaxLimitMax(GoAnalog analog);
619 
620 
621 /**
622  * Enables the current output level associated with an invalid measurement.
623  * When this is disabled, the output value will be held constant on an invalid measurement
624  *
625  * @public @memberof GoAnalog
626  * @param analog GoAnalog object.
627  * @param enable kTRUE to enable, or kFALSE to disable.
628  * @return Operation status.
629  */
630 GoFx(kStatus) GoAnalog_EnableCurrentInvalid(GoAnalog analog, kBool enable);
631 
632 /**
633  * Gets the status of the invalid current enabled option
634  *
635  * @public @memberof GoAnalog
636  * @param analog GoAnalog object.
637  * @return Whether invalid current is enabled for this output.
638  */
639 GoFx(kBool) GoAnalog_CurrentInvalidEnabled(GoAnalog analog);
640 
641 /**
642  * Sets the current output level associated with an invalid measurement.
643  *
644  * @public @memberof GoAnalog
645  * @param analog GoAnalog object.
646  * @param invalid Invalid output current (mA).
647  * @return Operation status.
648  */
649 GoFx(kStatus) GoAnalog_SetCurrentInvalid(GoAnalog analog, k64f invalid);
650 
651 /**
652  * Gets the current output level associated with an invalid measurement.
653  *
654  * @public @memberof GoAnalog
655  * @param analog GoAnalog object.
656  * @return Invalid current level (mA).
657  */
658 GoFx(k64f) GoAnalog_CurrentInvalid(GoAnalog analog);
659 GoFx(k64f) GoAnalog_CurrentInvalidLimitMax(GoAnalog analog);
660 GoFx(k64f) GoAnalog_CurrentInvalidLimitMin(GoAnalog analog);
661 
662 /**
663  * Sets the measurement value associated with the minimum output current value.
664  *
665  * @public @memberof GoAnalog
666  * @param analog GoAnalog object.
667  * @param min Minimum measurement value (units are measurement dependent).
668  * @return Operation status.
669  */
670 GoFx(kStatus) GoAnalog_SetDataScaleMin(GoAnalog analog, k64f min);
671 
672 /**
673  * Gets the measurement value associated with the minimum output current value.
674  *
675  * @public @memberof GoAnalog
676  * @param analog GoAnalog object.
677  * @return Minimum measurement value (units are measurement dependent).
678  */
679 GoFx(k64f) GoAnalog_DataScaleMin(GoAnalog analog);
680 
681 /**
682  * Sets the measurement value associated with the maximum output current value.
683  *
684  * @public @memberof GoAnalog
685  * @param analog GoAnalog object.
686  * @param max Maximum measurement value (units are measurement dependent).
687  * @return Operation status.
688  */
689 GoFx(kStatus) GoAnalog_SetDataScaleMax(GoAnalog analog, k64f max);
690 
691 /**
692  * Gets the measurement value associated with the maximum output current value.
693  *
694  * @public @memberof GoAnalog
695  * @param analog GoAnalog object.
696  * @return Maximum measurement value (units are measurement dependent).
697  */
698 GoFx(k64f) GoAnalog_DataScaleMax(GoAnalog analog);
699 
700 /**
701  * Sets the delay from exposure until output is triggered, in units based on GoDomain
702  * mm when GoDomain is distance, uS when GoDomain is time.
703  *
704  * The delay is ignored when GoDomain is Immediate or when output is Software triggered.
705  *
706  * @public @memberof GoAnalog
707  * @param analog GoAnalog object.
708  * @param delay The delay (uS or mm)
709  * @return Operation status.
710  */
711 GoFx(kStatus) GoAnalog_SetDelay(GoAnalog analog, k64s delay);
712 
713 /**
714  * Gets the output delay.
715  *
716  * @public @memberof GoAnalog
717  * @param analog GoAnalog object.
718  * @return The output delay (uS or mm).
719  */
720 GoFx(k64s) GoAnalog_Delay(GoAnalog analog);
721 
722 GoFx(kStatus) GoAnalog_SetDelayDomain(GoAnalog analog, GoOutputDelayDomain delayDomain);
723 GoFx(GoOutputDelayDomain) GoAnalog_DelayDomain(GoAnalog analog);
724 
725 /**
726  * Enables or disables the scheduler for this output.
727  *
728  * @public @memberof GoAnalog
729  * @param analog GoAnalog object.
730  * @param enabled kTRUE to enable, kFALSE to disable
731  * @return Operation status.
732  */
733 GoFx(kStatus) GoAnalog_EnableSchedule(GoAnalog analog, kBool enabled );
734 
735 /**
736  * Gets the enabled state of the scheduler for this output.
737  *
738  * @public @memberof GoAnalog
739  * @param analog GoAnalog object.
740  * @return kTRUE if the scheduler is enabled; kFALSE otherwise.
741  */
742 GoFx(kBool) GoAnalog_ScheduleEnabled(GoAnalog analog);
743 
744 
745 /**
746  * @class GoDigital
747  * @extends kObject
748  * @ingroup GoSdk
749  * @brief Represents Digital output settings.
750  */
751 typedef kObject GoDigital;
752 
753 /**
754  * Sets the event which triggers this output to fire.
755  *
756  * @public @memberof GoDigital
757  * @param digital GoDigital object.
758  * @param event The output event.
759  * @return Operation status.
760  */
761 GoFx(kStatus) GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event);
762 
763 /**
764  * Gets the event which triggers this output to fire
765  *
766  * @public @memberof GoDigital
767  * @param digital GoDigital object.
768  * @return The output event.
769  */
770 GoFx(GoDigitalEvent) GoDigital_Event(GoDigital digital);
771 
772 /**
773  * Gets the list of source options for the specified output type.
774  *
775  * @public @memberof GoDigital
776  * @param digital GoDigital object.
777  * @return An array list of source options.
778  */
779 GoFx(kArrayList) GoDigital_OptionList(GoDigital digital);
780 
781 /**
782  * Gets the number of available decision source options.
783  *
784  * @public @memberof GoDigital
785  * @param digital GoDigital object.
786  * @return Count of decision source options.
787  */
788 GoFx(kSize) GoDigital_OptionCount(GoDigital digital);
789 
790 /**
791  * Gets the decision source option at the specified index.
792  *
793  * @public @memberof GoDigital
794  * @param digital GoDigital object.
795  * @param index Source option index.
796  * @return Source option.
797  */
798 GoFx(k32u) GoDigital_OptionAt(GoDigital digital, k32u index);
799 
800 /**
801  * Gets the number of decision sources that are currently selected for determining pass/fail state.
802  *
803  * @public @memberof GoDigital
804  * @param digital GoDigital object.
805  * @return Count of selected sources.
806  */
807 GoFx(kSize) GoDigital_SourceCount(GoDigital digital);
808 
809 /**
810  * Gets the identifier of the selected output source at the specified index.
811  *
812  * @public @memberof GoDigital
813  * @param digital GoDigital object.
814  * @param index Selected source index.
815  * @return Source identifier.
816  */
817 GoFx(k32u) GoDigital_SourceAt(GoDigital digital, k32u index);
818 
819 /**
820  * Selects the specified decision source for use in determining pass/fail status.
821  *
822  * @public @memberof GoDigital
823  * @param digital GoDigital object.
824  * @param sourceId Index of the source to be added/selected.
825  * @return Operation status.
826  */
827 GoFx(kStatus) GoDigital_AddSource(GoDigital digital, k32u sourceId);
828 
829 /**
830  * Removes (deselects) the decision source at the specified index.
831  *
832  * @public @memberof GoDigital
833  * @param digital GoDigital object.
834  * @param index Index of the source to be removed.
835  * @return Operation status.
836  */
837 GoFx(kStatus) GoDigital_RemoveSource(GoDigital digital, k32u index);
838 
839 /**
840  * Removes all selected decision sources.
841  *
842  * @public @memberof GoDigital
843  * @param digital GoDigital object.
844  * @return Operation status.
845  */
846 GoFx(kStatus) GoDigital_ClearSources(GoDigital digital);
847 
848 /**
849  * Sets the pass/fail mode for the digital output.
850  *
851  * @public @memberof GoDigital
852  * @param digital GoDigital object.
853  * @param pass Pass/fail mode.
854  * @return Operation status.
855  */
856 GoFx(kStatus) GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass);
857 
858 /**
859  * Gets the pass/fail mode for the digital output.
860  *
861  * @public @memberof GoDigital
862  * @param digital GoDigital object.
863  * @return Current pass/fail mode.
864  */
865 GoFx(GoDigitalPass) GoDigital_PassMode(GoDigital digital);
866 
867 /**
868  * Gets the minimum valid value for the PulseWidth setting.
869  *
870  * @public @memberof GoDigital
871  * @param digital GoDigital object.
872  * @return Minimum valid pulse width value (microseconds).
873  */
874 GoFx(k32u) GoDigital_PulseWidthLimitMin(GoDigital digital);
875 
876 /**
877  * Gets the maximum valid value for the PulseWidth setting.
878  *
879  * @public @memberof GoDigital
880  * @param digital GoDigital object.
881  * @return Maximum valid pulse width value (microseconds).
882  */
883 GoFx(k32u) GoDigital_PulseWidthLimitMax(GoDigital digital);
884 
885 /**
886  * Sets the width of digital output pulses.
887  *
888  * @public @memberof GoDigital
889  * @param digital GoDigital object.
890  * @param width Pulse width (microseconds).
891  * @return Operation status.
892  */
893 GoFx(kStatus) GoDigital_SetPulseWidth(GoDigital digital, k32u width);
894 
895 /**
896  * Gets the width of digital output pulses.
897  *
898  * @public @memberof GoDigital
899  * @param digital GoDigital object.
900  * @return Pulse width (microseconds).
901  */
902 GoFx(k32u) GoDigital_PulseWidth(GoDigital digital);
903 
904 /**
905  * Sets the signal type of output.
906  *
907  * @public @memberof GoDigital
908  * @param digital GoDigital object.
909  * @param signal The signal type.
910  * @return Operation status.
911  */
912 GoFx(kStatus) GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal);
913 
914 /**
915  * Gets the signal type of output.
916  *
917  * @public @memberof GoDigital
918  * @param digital GoDigital object.
919  * @return The signal type.
920  */
921 GoFx(GoDigitalSignal) GoDigital_SignalType(GoDigital digital);
922 
923 /**
924  * Sets the delay from exposure until output is triggered, in units based on GoDomain.
925  * mm units when GoDomain is distance, uS units when GoDomain is time.
926  * Ignored when GoDomain is Immediate or when PassMode is Software.
927  *
928  * @public @memberof GoDigital
929  * @param digital GoDigital object.
930  * @param delay k64s object.
931  * @return Operation status.
932  */
933 GoFx(kStatus) GoDigital_SetDelay(GoDigital digital, k64s delay);
934 
935 /**
936  * Gets the output delay.
937  *
938  * @public @memberof GoDigital
939  * @param digital GoDigital object.
940  * @return The output delay (us or mm).
941  */
942 GoFx(k64s) GoDigital_Delay(GoDigital digital);
943 
944 GoFx(kStatus) GoDigital_SetDelayDomain(GoDigital digital, GoOutputDelayDomain delayDomain);
945 GoFx(GoOutputDelayDomain) GoDigital_DelayDomain(GoDigital digital);
946 
947 /**
948  * Enables or disables the scheduler for this output.
949  *
950  * @public @memberof GoDigital
951  * @param digital GoDigital object.
952  * @param enabled kTRUE to enable, kFALSE to disable
953  * @return Operation status.
954  */
955 GoFx(kStatus) GoDigital_EnableSchedule(GoDigital digital, kBool enabled );
956 
957 /**
958  * Gets the enabled state of the scheduler for this output
959  *
960  * @public @memberof GoDigital
961  * @param digital GoDigital object.
962  * @return kTRUE if the scheduler is enabled.
963  */
964 GoFx(kBool) GoDigital_ScheduleEnabled(GoDigital digital);
965 
966 
967 kEndHeader()
968 #include <GoSdk/GoOutputTypes.x.h>
969 
970 #endif
kBool GoEthernet_ModbusBufferingEnabled(GoEthernet ethernet)
Returns the value of whether Modbus protocol output buffering is enabled or disabled.
kStatus GoEthernet_ClearAllSources(GoEthernet ethernet)
Removes all selected sources for all possible ethernet output types.
k64f GoAnalog_CurrentLimitMin(GoAnalog analog)
Gets the minimum valid value for CurrentMin, CurrentMax and CurrentInvalid settings.
kSize GoDigital_OptionCount(GoDigital digital)
Gets the number of available decision source options.
GoDigitalSignal GoDigital_SignalType(GoDigital digital)
Gets the signal type of output.
kArrayList GoSerial_OptionList(GoSerial serial)
Gets the list of source measurement options.
kStatus GoEthernet_AddSource(GoEthernet ethernet, GoOutputSource type, k32u sourceId)
Selects the specified source for transmission.
kSize GoEthernet_OptionCount(GoEthernet ethernet, GoOutputSource type)
Gets the number of source options for the specified output type.
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.
k32u GoDigital_PulseWidth(GoDigital digital)
Gets the width of digital output pulses.
kStatus GoEthernet_SetAsciiTerminator(GoEthernet ethernet, const kChar *string)
Sets the ASCII protocol output terminator string.
kStatus GoAnalog_SetDataScaleMax(GoAnalog analog, k64f max)
Sets the measurement value associated with the maximum output current value.
k32u GoSerial_OptionAt(GoSerial serial, k32u index)
Gets the source option at the specified index.
k64f GoAnalog_CurrentMax(GoAnalog analog)
Gets the maximum current output level.
kStatus GoEthernet_SetAsciiDelimiter(GoEthernet ethernet, const kChar *string)
Sets the ASCII protocol output delimiter string.
kBool GoEthernet_EIPBufferingEnabled(GoEthernet ethernet)
Returns the value of whether the EthernetIP protocol output buffering is enabled or disabled...
k32u GoAnalog_OptionAt(GoAnalog analog, GoOutputSource type, k32u index)
Gets the source option at the specified index.
kStatus GoEthernet_SetAsciiDataPort(GoEthernet ethernet, k32u port)
Sets the port number of the ASCII data port.
k64s GoDigital_Delay(GoDigital digital)
Gets the output delay.
GoEthernetProtocol GoEthernet_Protocol(GoEthernet ethernet)
Gets the protocol that the ethernet utilizes for output.
GoAnalogEvent GoAnalog_Event(GoAnalog analog)
Gets the event which triggers this output to fire.
kStatus GoDigital_AddSource(GoDigital digital, k32u sourceId)
Selects the specified decision source for use in determining pass/fail status.
kStatus GoEthernet_SetAsciiHealthPort(GoEthernet ethernet, k32u port)
Sets the port number of the ASCII health port.
kSize GoSerial_SourceCount(GoSerial serial)
Gets the number of sources of the specified output type that are currently selected for transmission...
kStatus GoEthernet_ClearSources(GoEthernet ethernet, GoOutputSource type)
Removes all selected sources for the specified output type.
k32u GoDigital_SourceAt(GoDigital digital, k32u index)
Gets the identifier of the selected output source at the specified index.
kStatus GoSerial_SetSelcomRate(GoSerial serial, kSize index)
Sets the Selcom protocol output rate.
kStatus GoAnalog_SetSource(GoAnalog analog, k32u sourceId)
Selects a source type and source identifier for output.
k32u GoEthernet_SourceAt(GoEthernet ethernet, GoOutputSource type, k32u index)
Gets the identifier of the selected output at the specified index.
k32u GoEthernet_AsciiHealthPort(GoEthernet ethernet)
Gets the ASCII protocol health channel port number.
kStatus GoEthernet_RemoveSource(GoEthernet ethernet, GoOutputSource type, kSize index)
Removes (deselects) the source at the specified index.
k32u GoEthernet_OptionAt(GoEthernet ethernet, GoOutputSource type, k32u index)
Gets the source option at the specified index.
kStatus GoAnalog_ClearSource(GoAnalog analog)
Clears the currently selected source identifier.
k32u GoDigital_OptionAt(GoDigital digital, k32u index)
Gets the decision source option at the specified index.
kStatus GoDigital_SetDelay(GoDigital digital, k64s delay)
Sets the delay from exposure until output is triggered, in units based on GoDomain.
kStatus GoEthernet_SetProtocol(GoEthernet ethernet, GoEthernetProtocol protocol)
Sets the protocol which will be output via ethernet.
Represents Digital output settings.
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 GoDigital_SourceCount(GoDigital digital)
Gets the number of decision sources that are currently selected for determining pass/fail state...
kSize GoAnalog_OptionCount(GoAnalog analog)
Gets the number of source options for the specified output type.
kStatus GoEthernet_EnableAsciiCustomFormat(GoEthernet ethernet, kBool enabled)
Enables or disables the ASCII protocol output custom data format.
kStatus GoDigital_SetPassMode(GoDigital digital, GoDigitalPass pass)
Sets the pass/fail mode for the digital output.
Essential API declarations.
k32u GoSerial_SelcomRate(GoSerial serial)
Gets the index of the currently selected Selcom output rate.
kStatus GoAnalog_EnableSchedule(GoAnalog analog, kBool enabled)
Enables or disables the scheduler for this output.
kStatus GoEthernet_SetModbusBufferingEnabled(GoEthernet ethernet, kBool enabled)
Enables or disables Modbus protocol output buffering.
GoDigitalPass GoDigital_PassMode(GoDigital digital)
Gets the pass/fail mode for the digital output.
kBool GoAnalog_CurrentInvalidEnabled(GoAnalog analog)
Gets the status of the invalid current enabled option.
Represents Serial output settings.
k64f GoAnalog_CurrentMin(GoAnalog analog)
Gets the minimum current output level.
kStatus GoSerial_ClearSources(GoSerial serial)
Removes all selected sources for the specified output type.
kBool GoDigital_ScheduleEnabled(GoDigital digital)
Gets the enabled state of the scheduler for this output.
kStatus GoDigital_SetSignalType(GoDigital digital, GoDigitalSignal signal)
Sets the signal type of output.
kStatus GoAnalog_SetCurrentMax(GoAnalog analog, k64f max)
Sets the maximum current output level.
k32u GoEthernet_AsciiControlPort(GoEthernet ethernet)
Gets the ASCII protocol control channel port number.
kChar * GoEthernet_AsciiTerminator(GoEthernet ethernet)
Gets the ASCII protocol output terminator string.
kStatus GoAnalog_SetCurrentInvalid(GoAnalog analog, k64f invalid)
Sets the current output level associated with an invalid measurement.
kStatus GoAnalog_SetEvent(GoAnalog analog, GoAnalogEvent event)
Set the event which triggers this output to fire.
kSize GoEthernet_SourceCount(GoEthernet ethernet, GoOutputSource type)
Gets the number of sources of the specified output type that are currently selected for transmission...
kStatus GoSerial_AddSource(GoSerial serial, k32u sourceId)
Selects the specified source for transmission.
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...
kArrayList GoAnalog_OptionList(GoAnalog analog)
Gets the list of source options for the specified output type.
kStatus GoDigital_ClearSources(GoDigital digital)
Removes all selected decision sources.
kStatus GoAnalog_SetCurrentMin(GoAnalog analog, k64f min)
Sets the minimum current output level.
kBool GoAnalog_ScheduleEnabled(GoAnalog analog)
Gets the enabled state of the scheduler for this output.
k64f GoAnalog_DataScaleMax(GoAnalog analog)
Gets the measurement value associated with the maximum output current value.
GoDigitalEvent GoDigital_Event(GoDigital digital)
Gets the event which triggers this output to fire.
k32u GoSerial_SourceAt(GoSerial serial, k32u index)
Gets the identifier of the selected output source at the specified index.
kSize GoSerial_OptionCount(GoSerial serial)
Gets the number of source options.
kStatus GoEthernet_SetAsciiCustomDataFormat(GoEthernet ethernet, const kChar *string)
Sets the ASCII protocol output custom data format string.
kStatus GoEthernet_SetAsciiOperation(GoEthernet ethernet, GoAsciiOperation mode)
Sets the ASCII operation mode.
kStatus GoEthernet_SetAsciiControlPort(GoEthernet ethernet, k32u port)
Sets the port number of the ASCII control port.
k64f GoAnalog_DataScaleMin(GoAnalog analog)
Gets the measurement value associated with the minimum output current value.
k32u GoDigital_PulseWidthLimitMax(GoDigital digital)
Gets the maximum valid value for the PulseWidth setting.
kStatus GoDigital_EnableSchedule(GoDigital digital, kBool enabled)
Enables or disables the scheduler for this output.
kStatus GoDigital_RemoveSource(GoDigital digital, k32u index)
Removes (deselects) the decision source at the specified index.
kStatus GoAnalog_EnableCurrentInvalid(GoAnalog analog, kBool enable)
Enables the current output level associated with an invalid measurement.
kBool GoEthernet_AsciiCustomFormatEnabled(GoEthernet ethernet)
Returns the value of whether the ASCII protocol custom data format is enabled or disabled.
GoAsciiOperation GoEthernet_AsciiOperation(GoEthernet ethernet)
Gets the ASCII protocol operational mode.
k32u GoSerial_SelcomRateOptionCount(GoSerial serial)
Returns the number of available Selcom protocol output options.
kStatus GoEthernet_SetEIPBufferingEnabled(GoEthernet ethernet, kBool enabled)
Enables or disables EthernetIP protocol output buffering.
Represents Ethernet output settings.
Definition: GoOutputTypes.h:14
k32u GoAnalog_Source(GoAnalog analog)
Gets the selected source identifier.
kChar * GoEthernet_AsciiInvalidValue(GoEthernet ethernet)
Gets the ASCII protocol output invalid value string.
kStatus GoSerial_RemoveSource(GoSerial serial, k32u index)
Removes (deselects) the source at the specified index.
kChar * GoEthernet_AsciiDelimiter(GoEthernet ethernet)
Gets the ASCII protocol output delimiter string.
kStatus GoDigital_SetPulseWidth(GoDigital digital, k32u width)
Sets the width of digital output pulses.
Represents Analog output settings.
k32u GoDigital_PulseWidthLimitMin(GoDigital digital)
Gets the minimum valid value for the PulseWidth setting.
kChar * GoEthernet_AsciiCustomDataFormat(GoEthernet ethernet)
Gets the ASCII protocol output custom data format string.
k32u GoEthernet_AsciiDataPort(GoEthernet ethernet)
Gets the ASCII protocol data channel port number.
kArrayList GoDigital_OptionList(GoDigital digital)
Gets the list of source options for the specified output type.
kStatus GoDigital_SetEvent(GoDigital digital, GoDigitalEvent event)
Sets the event which triggers this output to fire.
kStatus GoEthernet_SetAsciiInvalidValue(GoEthernet ethernet, const kChar *string)
Sets the ASCII protocol output invalid value string.