8 #ifndef K_FIRESYNC_HX_LIGHT_H
9 #define K_FIRESYNC_HX_LIGHT_H
12 #include <kFireSync/Utils/kLdModel.h>
13 #include <kFireSync/Hardware/kHxLight.x.h>
26 kObj(kHxLight, light);
33 kObj(kHxLight, light);
40 kObj(kHxLight, light);
47 kObj(kHxLight, light);
52 kInlineFx(kLightCapability) kHxLight_Capabilities(kHxLight light)
54 kObj(kHxLight, light);
56 return obj->capabilities;
61 kObj(kHxLight, light);
63 obj->enabled = enabled;
70 kObj(kHxLight, light);
77 kObj(kHxLight, light);
79 obj->controlType = type;
86 kObj(kHxLight, light);
88 return obj->controlType;
93 kObj(kHxLight, light);
102 kObj(kHxLight, light);
104 return obj->controlId;
109 return xkHxLight_VTable(light)->VSetIntensity(light, intensity);
114 kObj(kHxLight, light);
116 return obj->intensity;
121 kObj(kHxLight, light);
123 return obj->minIntensity;
128 kObj(kHxLight, light);
137 kObj(kHxLight, light);
144 kObj(kHxLight, light);
153 kObj(kHxLight, light);
160 kObj(kHxLight, light);
162 obj->maskPolarity = isActiveHigh;
169 kObj(kHxLight, light);
171 return obj->maskPolarity;
176 kObj(kHxLight, light);
178 obj->powerSaverEnabled = enabled;
185 kObj(kHxLight, light);
187 return obj->powerSaverEnabled;
190 kFsFx(
k32u) kHxLight_PrimeCount(kHxLight light);
192 kFsFx(
kStatus) kHxLight_PrimePeriod(kHxLight light,
k64u* delay,
k64u* exposure,
k64u* gap);
194 kInlineFx(
kStatus) kHxLight_SetStateCount(kHxLight light,
kSize count)
196 return xkHxLight_VTable(light)->VSetStateCount(light, count);
201 kObj(kHxLight, light);
203 return kArrayList_Count(obj->states);
206 kInlineFx(kHxLightState) kHxLight_StateAt(kHxLight light,
kSize index)
208 kObj(kHxLight, light);
215 kObj(kHxLight, light);
217 return kArrayList_Purge(obj->extensions);
223 return xkHxLight_VTable(light)->VAddExtension(light, extension);
228 kObj(kHxLight, light);
230 return kArrayList_Count(obj->extensions);
236 kFsFx(
kBool) kHxLight_HasOverrideExt(kHxLight light);
240 return xkHxLight_VTable(light)->VOverride(light, overrides, count);
245 return xkHxLight_VTable(light)->VSetOutputState(light, state);
250 return xkHxLight_VTable(light)->VStats(light, stats);
255 return xkHxLight_VTable(light)->VTrigger(light);
260 return xkHxLight_VTable(light)->VLockOut(light, shouldLock);
265 return xkHxLight_VTable(light)->VClear(light);
kLightModel kLdModel_LightModel(kLdModel model)
Returns the light model enumerator corresponding to this object.
Represents light override item.
Definition: kNodeDef.h:979
Represents light run-time statistics.
Definition: kNodeDef.h:1052
Essential declarations related to FireSync nodes.
Abstract base class for hardware node classes.
#define kObj(TypeName_T, T_object)
Represents light control modes.
#define kArrayList_AsT(kArrayList_list, kSize_index, T)
Represents light mask sources.
Represents supported light device types.
Abstract base class for light control extension parameters.
Represents supported light diode types.
kLightDiodeModel kLdModel_DiodeModel(kLdModel model)
Returns the diode model enumerator corresponding to this object.