2 #ifndef __accessoryLightMulti_H__ 3 #define __accessoryLightMulti_H__ 6 #include "Accessory.hpp" 12 #define LIGHTMULTI(list, nb) ((AccessoryLightMulti *) (list)[nb]) 40 int *pMovingPositionBlinks;
52 void begin(
unsigned long inId, uint8_t inSize,
unsigned long inBlinkDuration);
58 void beginLight(uint8_t inIndex,
Port *inpPort,
int inIntensity = 255);
64 inline bool IsOn(uint8_t inIndex)
const {
return this->pLights[inIndex].
IsOn(); }
75 inline bool IsFading(uint8_t inIndex)
const {
return this->pLights[inIndex].
IsFading(); }
79 inline uint8_t
GetSize()
const {
return this->lightsSize; }
87 unsigned char AddMovingPosition(
unsigned long inId,
int inOnMask,
int inBlinkMask = 0);
101 inline void SetBlinking(uint8_t inIndex,
unsigned long inBlinkingDelay) { this->pLights[inIndex].
SetBlinking(inBlinkingDelay); }
107 inline void SetFading(uint8_t inIndex, uint8_t inStep, uint8_t inDelay) { this->pLights[inIndex].
SetFading(inStep, inDelay); }
113 void Event(
unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID,
int inData = 0);
118 inline void LightOn(uint8_t inIndex) { this->pLights[inIndex].LightOn(); }
122 inline void LightOff(uint8_t inIndex) { this->pLights[inIndex].LightOff(); }
126 inline void Blink(uint8_t inIndex) { this->pLights[inIndex].Blink(); }
136 inline void SetState(uint8_t inIndex, ACC_STATE inState) { this->pLights[inIndex].SetState(inState); }
137 inline ACC_STATE Toggle(uint8_t inIndex) {
return this->pLights[inIndex].Toggle(); }
139 inline bool IsGroupActionPending(uint8_t inIndex) {
return this->pLights[inIndex].IsGroupActionPending(); }
140 inline void StartAction(uint8_t inIndex) { this->pLights[inIndex].StartAction(); }
141 inline bool ActionEnded(uint8_t inIndex) {
return this->pLights[inIndex].ActionEnded(); }
146 void Move(
unsigned long inId);
147 void Move(
int position);
148 void MoveBlink(
int inOnMask,
int inBlinkMask);
150 int EEPROMSave(
int inPos,
bool inSimulate =
false);
151 int EEPROMLoad(
int inPos);
153 #ifdef ACCESSORIES_DEBUG_MODE 154 void CheckPort()
const;
155 void CheckIndex(
int inIndex,
const __FlashStringHelper *infunc);
158 #ifdef ACCESSORIES_PRINT_ACCESSORIES 163 void printAccessory();
167 void printMovingPositions();
virtual void StartAction()
void LightOn(uint8_t inIndex)
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)
unsigned char AddMovingPosition(unsigned long inId, int inOnMask, int inBlinkMask = 0)
bool IsFading(uint8_t inIndex) const
bool IsBlinking(uint8_t inIndex) const
virtual bool IsGroupActionPending() const
void Blink(uint8_t inIndex)
bool IsOn(uint8_t inIndex) const
void Event(unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID, int inData = 0)
void beginLight(uint8_t inIndex, Port *inpPort, int inIntensity = 255)
void begin(unsigned long inId, uint8_t inSize, unsigned long inBlinkDuration)