diff options
Diffstat (limited to 'Colours.cpp')
-rw-r--r-- | Colours.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/Colours.cpp b/Colours.cpp index bb77e85..50b782d 100644 --- a/Colours.cpp +++ b/Colours.cpp @@ -6,6 +6,16 @@ #include "Colours.h" Colours::Colours(int rPin,int gPin,int bPin) { + _initPINs(rPin,gPin,bPin); + _invert = false; +} + +Colours::Colours(int rPin,int gPin,int bPin,bool invert) { + _initPINs(rPin,gPin,bPin); + _invert = invert; +} + +void Colours::_initPINs(int rPin,int gPin,int bPin) { _rPin = rPin; _gPin = gPin; _bPin = bPin; @@ -15,9 +25,15 @@ Colours::Colours(int rPin,int gPin,int bPin) { } void Colours::writeRGB(unsigned char r,unsigned char g,unsigned char b) { - analogWrite(_rPin, r); - analogWrite(_gPin, g); - analogWrite(_bPin, b); + if (_invert) { + analogWrite(_rPin, 255-r); + analogWrite(_gPin, 255-g); + analogWrite(_bPin, 255-b); + } else { + analogWrite(_rPin, r); + analogWrite(_gPin, g); + analogWrite(_bPin, b); + } } void Colours::writeHSV(unsigned int h,unsigned char s,unsigned char v) { |