mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-28 14:24:34 +00:00
Patches for CASE_LIGHT_USE_RGB_LED (#21811)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
parent
64ad96e19e
commit
9485d44903
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user