Skip to content

Commit

Permalink
Patches for CASE_LIGHT_USE_RGB_LED (MarlinFirmware#21811)
Browse files Browse the repository at this point in the history
Co-authored-by: Scott Lahteine <[email protected]>
  • Loading branch information
2 people authored and lkrammes committed May 10, 2021
1 parent 4a09dad commit 4cd0e21
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 19 deletions.
20 changes: 5 additions & 15 deletions Marlin/src/feature/caselight.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@

CaseLight caselight;

#if CASE_LIGHT_IS_COLOR_LED
#include "leds/leds.h"
#endif

#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
#endif
Expand All @@ -43,13 +39,9 @@ CaseLight caselight;
bool CaseLight::on = CASE_LIGHT_DEFAULT_ON;

#if CASE_LIGHT_IS_COLOR_LED
LEDColor CaseLight::color =
#ifdef CASE_LIGHT_DEFAULT_COLOR
CASE_LIGHT_DEFAULT_COLOR
#else
{ 255, 255, 255, 255 }
#endif
;
#include "leds/leds.h"
constexpr uint8_t init_case_light[] = 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]) };
#endif

#ifndef INVERT_CASE_LIGHT
Expand All @@ -73,14 +65,12 @@ void CaseLight::update(const bool sflag) {
brightness = brightness_sav; // Restore last brightness for M355 S1

const uint8_t i = on ? brightness : 0, n10ct = INVERT_CASE_LIGHT ? 255 - i : i;
UNUSED(n10ct);
#endif

#if CASE_LIGHT_IS_COLOR_LED

leds.set_color(
MakeLEDColor(color.r, color.g, color.b, color.w, n10ct),
false
);
leds.set_color(MakeLEDColor(color.r, color.g, color.b, color.w, n10ct));

#else // !CASE_LIGHT_IS_COLOR_LED

Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/feature/caselight.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#include "leds/leds.h" // for LEDColor
#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
#endif

Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/feature/leds/leds.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
);
#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;
bool LEDLights::lights_on;
#endif
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/feature/leds/leds.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ class LEDLights {
static inline LEDColor get_color() { return lights_on ? color : LEDColorOff(); }
#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 bool lights_on; // the last set color was "on"
#endif
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/gcode/feature/caselight/M355.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ void GcodeSuite::M355() {
SERIAL_ECHOLNPGM(STR_OFF);
else {
#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));
return;
}
Expand Down

0 comments on commit 4cd0e21

Please sign in to comment.