Two simple classes for using the RGB led
Dependents: 4180-lab3-RTOS 4180-FinalProject
Diff: SimpleRGB.cpp
- Revision:
- 0:7a3ee33c0a53
- Child:
- 1:0008e30a2bda
diff -r 000000000000 -r 7a3ee33c0a53 SimpleRGB.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SimpleRGB.cpp Mon Oct 10 00:32:31 2016 +0000 @@ -0,0 +1,36 @@ +#include "SimpleRGB.h" + + +// construct a LightColor object +LightColor::LightColor(float r, float g, float b) + : red(r), green(g), blue(b) +{ +} + +// construct an RGBLed object +RGBLed::RGBLed(PinName rpin, PinName gpin, PinName bpin) + : _rpin(rpin), _gpin(gpin), _bpin(bpin) +{ + //50Hz PWM clock default a bit too low, go to 2000Hz (less flicker) + _rpin.period(0.0005); +} + +// write directly to an RGBLed object +void RGBLed::write(float red, float green, float blue) { + _rpin = red; + _gpin = green; + _bpin = blue; +} + +// use a LightColor object to change the RGBLed +void RGBLed::write(LightColor color) { + _rpin = color.red; + _gpin = color.green; + _bpin = color.blue; +} + +// alow assingment of LightColor object to the RGBLed object +RGBLed operator = (LightColor color) { + write(color); + return *this; +} \ No newline at end of file