Browse Source

fixed rgb pwm led breathing.

sbg
rolandash 7 years ago committed by Lorenz Meier
parent
commit
82d5ac56a9
  1. 19
      src/drivers/rgbled_pwm/rgbled_pwm.cpp

19
src/drivers/rgbled_pwm/rgbled_pwm.cpp

@ -86,7 +86,7 @@ private: @@ -86,7 +86,7 @@ private:
uint8_t _r;
uint8_t _g;
uint8_t _b;
float _brightness;
uint8_t _brightness;
volatile bool _running;
volatile bool _should_run;
@ -209,34 +209,35 @@ RGBLED_PWM::led() @@ -209,34 +209,35 @@ RGBLED_PWM::led()
LedControlData led_control_data;
if (_led_controller.update(led_control_data) == 1) {
_brightness = led_control_data.leds[0].brightness;
switch (led_control_data.leds[0].color) {
case led_control_s::COLOR_RED:
_r = 255; _g = 0; _b = 0;
_r = _brightness; _g = 0; _b = 0;
break;
case led_control_s::COLOR_GREEN:
_r = 0; _g = 255; _b = 0;
_r = 0; _g = _brightness; _b = 0;
break;
case led_control_s::COLOR_BLUE:
_r = 0; _g = 0; _b = 255;
_r = 0; _g = 0; _b = _brightness;
break;
case led_control_s::COLOR_AMBER: //make it the same as yellow
case led_control_s::COLOR_YELLOW:
_r = 255; _g = 255; _b = 0;
_r = _brightness; _g = _brightness; _b = 0;
break;
case led_control_s::COLOR_PURPLE:
_r = 255; _g = 0; _b = 255;
_r = _brightness; _g = 0; _b = _brightness;
break;
case led_control_s::COLOR_CYAN:
_r = 0; _g = 255; _b = 255;
_r = 0; _g = _brightness; _b = _brightness;
break;
case led_control_s::COLOR_WHITE:
_r = 255; _g = 255; _b = 255;
_r = _brightness; _g = _brightness; _b = _brightness;
break;
default: // led_control_s::COLOR_OFF
@ -244,8 +245,6 @@ RGBLED_PWM::led() @@ -244,8 +245,6 @@ RGBLED_PWM::led()
break;
}
_brightness = (float)led_control_data.leds[0].brightness / 255.f;
send_led_rgb();
}

Loading…
Cancel
Save