FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kHxAnalogOut.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_HX_ANALOG_OUT_H
9 #define K_FIRESYNC_HX_ANALOG_OUT_H
10 
11 #include <kFireSync/kNodeDef.h>
12 #include <kFireSync/Hardware/kHxAnalogOut.x.h>
13 
21 //typedef kObject kHxAnalogOut; --forward-declared in kFsDef.x.h
22 
23 kInlineFx(kHxNode) kHxAnalogOut_Node(kHxAnalogOut analog)
24 {
25  kObj(kHxAnalogOut, analog);
26 
27  return obj->node;
28 }
29 
30 kInlineFx(kSize) kHxAnalogOut_Index(kHxAnalogOut analog)
31 {
32  kObj(kHxAnalogOut, analog);
33 
34  return obj->index;
35 }
36 
37 kInlineFx(kAnalogOutModel) kHxAnalogOut_AnalogOutModel(kHxAnalogOut analog)
38 {
39  kObj(kHxAnalogOut, analog);
40 
41  return obj->model;
42 }
43 
44 kInlineFx(kStatus) kHxAnalogOut_Enable(kHxAnalogOut analog, kBool enabled)
45 {
46  kObj(kHxAnalogOut, analog);
47 
48  obj->enabled = enabled;
49 
50  return kOK;
51 }
52 
53 kInlineFx(kBool) kHxAnalogOut_IsEnabled(kHxAnalogOut analog)
54 {
55  kObj(kHxAnalogOut, analog);
56 
57  return obj->enabled;
58 }
59 
60 kInlineFx(kStatus) kHxAnalogOut_SetControl(kHxAnalogOut analog, kAnalogOutControl type)
61 {
62  kObj(kHxAnalogOut, analog);
63 
64  obj->controlType = type;
65 
66  return kOK;
67 }
68 
69 kInlineFx(kAnalogOutControl) kHxAnalogOut_Control(kHxAnalogOut analog)
70 {
71  kObj(kHxAnalogOut, analog);
72 
73  return obj->controlType;
74 }
75 
76 kInlineFx(kStatus) kHxAnalogOut_SetControlId(kHxAnalogOut analog, kSize id)
77 {
78  kObj(kHxAnalogOut, analog);
79 
80  obj->controlId = id;
81 
82  return kOK;
83 }
84 
85 kInlineFx(kSize) kHxAnalogOut_ControlId(kHxAnalogOut analog)
86 {
87  kObj(kHxAnalogOut, analog);
88 
89  return obj->controlId;
90 }
91 
114 kInlineFx(kStatus) kHxAnalogOut_SetCalibration(kHxAnalogOut analog, kArray2 calibration)
115 {
116  return xkHxAnalogOut_VTable(analog)->VSetCalibration(analog, calibration);
117 }
118 
130 kInlineFx(k64f) kHxAnalogOut_MinCurrent(kHxAnalogOut analog)
131 {
132  return xkHxAnalogOut_VTable(analog)->VMinCurrent(analog);
133 }
134 
146 kInlineFx(k64f) kHxAnalogOut_MaxCurrent(kHxAnalogOut analog)
147 {
148  return xkHxAnalogOut_VTable(analog)->VMaxCurrent(analog);
149 }
150 
158 kInlineFx(kBool) kHxAnalogOut_IsCalibrated(kHxAnalogOut analog)
159 {
160  return xkHxAnalogOut_VTable(analog)->VIsCalibrated(analog);
161 }
162 
177 kInlineFx(kStatus) kHxAnalogOut_EnqueueCurrent(kHxAnalogOut analog, k64f current)
178 {
179  return xkHxAnalogOut_VTable(analog)->VEnqueueCurrent(analog, current);
180 }
181 
182 kInlineFx(kStatus) kHxAnalogOut_Stats(kHxAnalogOut analog, kAnalogOutStats* stats)
183 {
184  return xkHxAnalogOut_VTable(analog)->VStats(analog, stats);
185 }
186 
187 kInlineFx(kStatus) kHxAnalogOut_Clear(kHxAnalogOut analog)
188 {
189  return xkHxAnalogOut_VTable(analog)->VClear(analog);
190 }
191 
192 #endif
Represents types of analog output (DAC) models.
#define kInlineFx(TYPE)
Essential declarations related to FireSync nodes.
Abstract base class for hardware node classes.
#define kObj(TypeName_T, T_object)
Represents analog output control modes.
#define kOK
Represents analog output run-time statistics.
Definition: kNodeDef.h:1356