void Spectrum::acquireColourResponces(HSVColour &leftColour, HSVColour &rightColour) { leftColour = HSVColour(); rightColour = HSVColour(); RGBColour leftRGB; RGBColour rightRGB; acquireColourResponces(leftRGB, rightRGB); leftRGB.computeHSV(leftColour.h, leftColour.s, leftColour.v); rightRGB.computeHSV(rightColour.h, rightColour.s, rightColour.v); }
void Spectrum::acquireColourPulses(list<HSVColour> &colours, list<PositionAngle> &angles) { list<RGBColour>* rgbColours = new list<RGBColour>(); acquireColourPulses(*rgbColours, angles); list<RGBColour>::iterator colourIter = rgbColours->begin(); while(colourIter != rgbColours->end()) { colours.push_back(HSVColour((*colourIter).computeHue(), (*colourIter).computeSaturation(), (*colourIter).computeValue())); colourIter++; } delete rgbColours; }
#include "pwm.h" #include "hardware.h" #include "colourengine.hpp" #include "fader.hpp" ///// Static Member Initialization ///// q15 ColourEngine::mode_param = Q15(0.0); power_t ColourEngine::current_power = OFF; ColourEngine::mode_t ColourEngine::current_mode = mManual; ColourEngine::colourspace_t ColourEngine::current_colourspace = clSRGBW; q15 ColourEngine::current_brightness = Q15(0.0); RGBWColour ColourEngine::current_rgbw = RGBWColour(Q15(1.0), Q15(1.0), Q15(1.0), Q15(1.0)); HSVColour ColourEngine::current_hsv = HSVColour(Q15(0.0), Q15(1.0), Q15(1.0)); Fader ColourEngine::brightness_fader(¤t_brightness, 1, NULL); ///// Public Methods ///// void ColourEngine::Initialize() { // Nothing to initialize } void ColourEngine::SetBrightness(q15 brightness) { if (brightness_fader.is_fading) { brightness_fader.set_target(brightness); } else { current_brightness = brightness;