2 #ifndef __accessoryLightMulti_H__ 3 #define __accessoryLightMulti_H__ 6 #include "Accessory.hpp" 12 #define LIGHTMULTI(list, nb) ((AccessoryLightMulti *) (list)[nb]) 62 int *pMovingPositionBlinks;
74 void begin(
unsigned long inId, uint8_t inSize,
unsigned long inBlinkDuration);
80 void beginLight(uint8_t inIndex,
Port *inpPort,
int inIntensity = 255);
86 inline bool IsOn(uint8_t inIndex)
const {
return this->pLights[inIndex].
IsOn(); }
97 inline bool IsFading(uint8_t inIndex)
const {
return this->pLights[inIndex].
IsFading(); }
101 inline uint8_t
GetSize()
const {
return this->lightsSize; }
109 unsigned char AddMovingPosition(
unsigned long inId,
int inOnMask,
int inBlinkMask = 0);
123 inline void SetBlinking(uint8_t inIndex,
unsigned long inBlinkingDelay) { this->pLights[inIndex].
SetBlinking(inBlinkingDelay); }
129 inline void SetFading(uint8_t inIndex, uint8_t inStep, uint8_t inDelay) { this->pLights[inIndex].
SetFading(inStep, inDelay); }
135 void Event(
unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID,
int inData = 0);
140 inline void LightOn(uint8_t inIndex) { this->pLights[inIndex].LightOn(); }
144 inline void LightOff(uint8_t inIndex) { this->pLights[inIndex].LightOff(); }
148 inline void Blink(uint8_t inIndex) { this->pLights[inIndex].Blink(); }
158 inline void SetState(uint8_t inIndex, ACC_STATE inState) { this->pLights[inIndex].SetState(inState); }
159 inline ACC_STATE Toggle(uint8_t inIndex) {
return this->pLights[inIndex].Toggle(); }
161 inline bool IsGroupActionPending(uint8_t inIndex) {
return this->pLights[inIndex].IsGroupActionPending(); }
162 inline void StartAction(uint8_t inIndex) { this->pLights[inIndex].StartAction(); }
163 inline bool ActionEnded(uint8_t inIndex) {
return this->pLights[inIndex].ActionEnded(); }
168 void Move(
unsigned long inId);
169 void Move(
int position);
170 void MoveBlink(
int inOnMask,
int inBlinkMask);
172 int EEPROMSave(
int inPos,
bool inSimulate =
false);
173 int EEPROMLoad(
int inPos);
175 #ifdef ACCESSORIES_DEBUG_MODE 176 void CheckPort()
const;
177 void CheckIndex(
int inIndex,
const __FlashStringHelper *infunc);
180 #ifdef ACCESSORIES_PRINT_ACCESSORIES 185 void printAccessory();
189 void printMovingPositions();
virtual void StartAction()
virtual bool IsGroupActionPending() const
void LightOn(uint8_t inIndex)
void Event(unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID, int inData = 0)
void SetFading(uint8_t inStep, uint8_t inDelay)
void SetFading(uint8_t inIndex, uint8_t inStep, uint8_t inDelay)
void SetBlinking(unsigned long inBlinkingDelay)
void SetBlinking(uint8_t inIndex, unsigned long inBlinkingDelay)
void LightOff(uint8_t inIndex)
int GetMovingPositionBlinksByIndex(int inIndex) const
void AdjustMovingPositionBlinksSize(uint8_t inNewSize)
bool IsFading(uint8_t inIndex) const
bool IsBlinking(uint8_t inIndex) const
void Blink(uint8_t inIndex)
bool IsOn(uint8_t inIndex) const
unsigned char AddMovingPosition(unsigned long inId, int inOnMask, int inBlinkMask = 0)
void beginLight(uint8_t inIndex, Port *inpPort, int inIntensity = 255)
void begin(unsigned long inId, uint8_t inSize, unsigned long inBlinkDuration)