Patches for CASE_LIGHT_USE_RGB_LED (#21811)

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
sanek88lbl 2021-05-06 14:10:18 +03:00 committed by Scott Lahteine
parent 0df9f30f14
commit d6cb657c85
5 changed files with 9 additions and 19 deletions

View file

@ -28,10 +28,6 @@
CaseLight caselight; CaseLight caselight;
#if CASE_LIGHT_IS_COLOR_LED
#include "leds/leds.h"
#endif
#if CASELIGHT_USES_BRIGHTNESS && !defined(CASE_LIGHT_DEFAULT_BRIGHTNESS) #if CASELIGHT_USES_BRIGHTNESS && !defined(CASE_LIGHT_DEFAULT_BRIGHTNESS)
#define CASE_LIGHT_DEFAULT_BRIGHTNESS 0 // For use on PWM pin as non-PWM just sets a default #define CASE_LIGHT_DEFAULT_BRIGHTNESS 0 // For use on PWM pin as non-PWM just sets a default
#endif #endif
@ -43,13 +39,9 @@ CaseLight caselight;
bool CaseLight::on = CASE_LIGHT_DEFAULT_ON; bool CaseLight::on = CASE_LIGHT_DEFAULT_ON;
#if CASE_LIGHT_IS_COLOR_LED #if CASE_LIGHT_IS_COLOR_LED
LEDColor CaseLight::color = #include "leds/leds.h"
#ifdef CASE_LIGHT_DEFAULT_COLOR constexpr uint8_t init_case_light[] = CASE_LIGHT_DEFAULT_COLOR;
CASE_LIGHT_DEFAULT_COLOR LEDColor CaseLight::color = { init_case_light[0], init_case_light[1], init_case_light[2], TERN_(HAS_WHITE_LED, init_case_light[3]) };
#else
{ 255, 255, 255, 255 }
#endif
;
#endif #endif
#ifndef INVERT_CASE_LIGHT #ifndef INVERT_CASE_LIGHT
@ -73,14 +65,12 @@ void CaseLight::update(const bool sflag) {
brightness = brightness_sav; // Restore last brightness for M355 S1 brightness = brightness_sav; // Restore last brightness for M355 S1
const uint8_t i = on ? brightness : 0, n10ct = INVERT_CASE_LIGHT ? 255 - i : i; const uint8_t i = on ? brightness : 0, n10ct = INVERT_CASE_LIGHT ? 255 - i : i;
UNUSED(n10ct);
#endif #endif
#if CASE_LIGHT_IS_COLOR_LED #if CASE_LIGHT_IS_COLOR_LED
leds.set_color( leds.set_color(MakeLEDColor(color.r, color.g, color.b, color.w, n10ct));
MakeLEDColor(color.r, color.g, color.b, color.w, n10ct),
false
);
#else // !CASE_LIGHT_IS_COLOR_LED #else // !CASE_LIGHT_IS_COLOR_LED

View file

@ -27,7 +27,7 @@
#include "leds/leds.h" // for LEDColor #include "leds/leds.h" // for LEDColor
#endif #endif
#if DISABLED(CASE_LIGHT_NO_BRIGHTNESS) || ENABLED(CASE_LIGHT_USE_NEOPIXEL) #if NONE(CASE_LIGHT_NO_BRIGHTNESS, CASE_LIGHT_IS_COLOR_LED) || ENABLED(CASE_LIGHT_USE_NEOPIXEL)
#define CASELIGHT_USES_BRIGHTNESS 1 #define CASELIGHT_USES_BRIGHTNESS 1
#endif #endif

View file

@ -53,7 +53,7 @@
); );
#endif #endif
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS) #if ANY(LED_CONTROL_MENU, PRINTER_EVENT_LEDS, CASE_LIGHT_IS_COLOR_LED)
LEDColor LEDLights::color; LEDColor LEDLights::color;
bool LEDLights::lights_on; bool LEDLights::lights_on;
#endif #endif

View file

@ -187,7 +187,7 @@ public:
static inline LEDColor get_color() { return lights_on ? color : LEDColorOff(); } static inline LEDColor get_color() { return lights_on ? color : LEDColorOff(); }
#endif #endif
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS) #if ANY(LED_CONTROL_MENU, PRINTER_EVENT_LEDS, CASE_LIGHT_IS_COLOR_LED)
static LEDColor color; // last non-off color static LEDColor color; // last non-off color
static bool lights_on; // the last set color was "on" static bool lights_on; // the last set color was "on"
#endif #endif

View file

@ -61,7 +61,7 @@ void GcodeSuite::M355() {
SERIAL_ECHOLNPGM(STR_OFF); SERIAL_ECHOLNPGM(STR_OFF);
else { else {
#if CASELIGHT_USES_BRIGHTNESS #if CASELIGHT_USES_BRIGHTNESS
if (TERN(CASE_LIGHT_USE_NEOPIXEL, true, PWM_PIN(CASE_LIGHT_PIN))) { if (TERN(CASE_LIGHT_USE_NEOPIXEL, true, TERN0(NEED_CASE_LIGHT_PIN, PWM_PIN(CASE_LIGHT_PIN)))) {
SERIAL_ECHOLN(int(caselight.brightness)); SERIAL_ECHOLN(int(caselight.brightness));
return; return;
} }