8 #ifndef K_FIRESYNC_HX_ENCODER_H
9 #define K_FIRESYNC_HX_ENCODER_H
12 #include <kFireSync/Hardware/kHxEncoder.x.h>
25 kObj(kHxEncoder, encoder);
32 kObj(kHxEncoder, encoder);
34 obj->enabled = enabled;
41 kObj(kHxEncoder, encoder);
48 kObj(kHxEncoder, encoder);
50 obj->direction = direction;
57 kObj(kHxEncoder, encoder);
59 return obj->direction;
64 kObj(kHxEncoder, encoder);
66 obj->indexReset = indexReset;
73 kObj(kHxEncoder, encoder);
75 return obj->indexReset;
80 kObj(kHxEncoder, encoder);
82 obj->simulatorEnabled = enable;
89 kObj(kHxEncoder, encoder);
91 return obj->simulatorEnabled;
96 kObj(kHxEncoder, encoder);
98 obj->simulatorDirection = isForward;
103 kInlineFx(
kBool) kHxEncoder_SimulationDirection(kHxEncoder encoder)
105 kObj(kHxEncoder, encoder);
107 return obj->simulatorDirection;
112 kObj(kHxEncoder, encoder);
114 obj->simulatorPeriod = period;
119 kInlineFx(
k64u) kHxEncoder_SimulationPeriod(kHxEncoder encoder)
121 kObj(kHxEncoder, encoder);
123 return obj->simulatorPeriod;
128 kObj(kHxEncoder, encoder);
130 obj->simulatorResolution = resolution;
135 kInlineFx(
k32u) kHxEncoder_SimulationResolution(kHxEncoder encoder)
137 kObj(kHxEncoder, encoder);
139 return obj->simulatorResolution;
144 kObj(kHxEncoder, encoder);
146 obj->snapshotSource = source;
153 kObj(kHxEncoder, encoder);
155 return obj->snapshotSource;
160 kObj(kHxEncoder, encoder);
162 obj->snapshotSourceId = id;
167 kInlineFx(
k32u) kHxEncoder_SnapshotSourceId(kHxEncoder encoder)
169 kObj(kHxEncoder, encoder);
171 return obj->snapshotSourceId;
176 return xkHxEncoder_VTable(encoder)->VApply(encoder);
181 return xkHxEncoder_VTable(encoder)->VReset(encoder);
186 return xkHxEncoder_VTable(encoder)->VClear(encoder);
191 return xkHxEncoder_VTable(encoder)->VClearDevice(encoder);
Represents encoder snapshot source.
Essential declarations related to FireSync nodes.
Abstract base class for hardware node classes.
#define kObj(TypeName_T, T_object)
Represents encoder A/B signal interpretation.