Accessories
Arduino for motors and lights library.
AccessoryLight.hpp
1 //-------------------------------------------------------------------
2 #ifndef __accessoryLight_H__
3 #define __accessoryLight_H__
4 //-------------------------------------------------------------------
5 
6 #include "Accessory.hpp"
7 #include "AccessoryBaseLight.hpp"
8 
9 //-------------------------------------------------------------------
10 
11 #ifndef NO_LIGHT
12 
36 class AccessoryLight : public Accessory
37 {
38  private:
39  AccessoryBaseLight *pLight;
40 
41  public:
44 
51  void begin(Port *inpPort, unsigned long inId, unsigned long inBlinkDuration = 0, int inIntensity = 255);
55  inline void SetBlinking(unsigned long inBlinkingDelay) { this->pLight->SetBlinking(inBlinkingDelay); }
60  inline void SetFading(uint8_t inStep, uint8_t inDelay) { this->pLight->SetFading(inStep, inDelay); }
61 
65  inline bool IsOn() const { return this->pLight->IsOn(); }
69  inline bool IsBlinking() const { return this->pLight->IsBlinking(); }
74  inline bool IsFading() const { return this->pLight->IsFading(); }
75 
81  void Event(unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID, int inData = 0);
82 
86  inline void SetState(ACC_STATE inState) { this->pLight->SetState(inState); }
90  inline ACC_STATE Toggle() { return this->pLight->Toggle(); }
92  inline void LightOn() { this->pLight->LightOn(); }
94  inline void LightOff() { this->pLight->LightOff(); }
96  inline void Blink() { this->pLight->Blink(); }
97 
98 #ifndef NO_EEPROM
99 
102  int EEPROMLoad(int inPos);
103 #endif
104 
105  private:
106  inline bool IsGroupActionPending() { return this->pLight->IsGroupActionPending(); }
107  inline void StartAction() { this->pLight->StartAction(); }
108  inline bool ActionEnded() { return this->pLight->ActionEnded(); }
109  inline void ResetAction() { return this->ResetStartingMillis(); }
110 
111  void Move(unsigned long inId);
112 
113 #ifdef ACCESSORIES_PRINT_ACCESSORIES
114  public:
118  void printAccessory();
119 #endif
120 };
121 #endif
122 
123 
124 //-------------------------------------------------------------------
125 #endif
126 //-------------------------------------------------------------------
void ResetStartingMillis()
Definition: Accessory.hpp:472
ACC_STATE Toggle()
void SetState(ACC_STATE inState)
void Event(unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID, int inData = 0)
bool IsFading() const
bool IsBlinking() const
void SetFading(uint8_t inStep, uint8_t inDelay)
int EEPROMLoad(int inPos)
void SetFading(uint8_t inStep, uint8_t inDelay)
void SetBlinking(unsigned long inBlinkingDelay)
void SetBlinking(unsigned long inBlinkingDelay)
Definition: Port.hpp:61
bool IsOn() const
void begin(Port *inpPort, unsigned long inId, unsigned long inBlinkDuration = 0, int inIntensity = 255)