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 
15 class AccessoryLight : public Accessory
16 {
17  private:
18  AccessoryBaseLight *pLight;
19 
20  public:
23 
30  void begin(Port *inpPort, unsigned long inId, unsigned long inBlinkDuration = 0, int inIntensity = 255);
34  inline void SetBlinking(unsigned long inBlinkingDelay) { this->pLight->SetBlinking(inBlinkingDelay); }
39  inline void SetFading(uint8_t inStep, uint8_t inDelay) { this->pLight->SetFading(inStep, inDelay); }
40 
44  inline bool IsOn() const { return this->pLight->IsOn(); }
48  inline bool IsBlinking() const { return this->pLight->IsBlinking(); }
53  inline bool IsFading() const { return this->pLight->IsFading(); }
54 
60  void Event(unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID, int inData = 0);
61 
65  inline void SetState(ACC_STATE inState) { this->pLight->SetState(inState); }
69  inline ACC_STATE Toggle() { return this->pLight->Toggle(); }
71  inline void LightOn() { this->pLight->LightOn(); }
73  inline void LightOff() { this->pLight->LightOff(); }
75  inline void Blink() { this->pLight->Blink(); }
76 
77 #ifndef NO_EEPROM
78 
81  int EEPROMLoad(int inPos);
82 #endif
83 
84  private:
85  inline bool IsGroupActionPending() { return this->pLight->IsGroupActionPending(); }
86  inline void StartAction() { this->pLight->StartAction(); }
87  inline bool ActionEnded() { return this->pLight->ActionEnded(); }
88  inline void ResetAction() { return this->ResetStartingMillis(); }
89 
90  void Move(unsigned long inId);
91 
92 #ifdef ACCESSORIES_PRINT_ACCESSORIES
93  public:
97  void printAccessory();
98 #endif
99 };
100 #endif
101 
102 
103 //-------------------------------------------------------------------
104 #endif
105 //-------------------------------------------------------------------
int EEPROMLoad(int inPos)
void SetState(ACC_STATE inState)
bool IsFading() const
bool IsOn() const
void SetFading(uint8_t inStep, uint8_t inDelay)
void Event(unsigned long inId, ACCESSORIES_EVENT_TYPE inEvent = ACCESSORIES_EVENT_MOVEPOSITIONID, int inData = 0)
void SetFading(uint8_t inStep, uint8_t inDelay)
void SetBlinking(unsigned long inBlinkingDelay)
void SetBlinking(unsigned long inBlinkingDelay)
bool IsBlinking() const
Definition: Port.hpp:61
void begin(Port *inpPort, unsigned long inId, unsigned long inBlinkDuration = 0, int inIntensity = 255)
ACC_STATE Toggle()
void ResetStartingMillis()
Definition: Accessory.hpp:446