Extended condition macros (#13419)
Allow `ENABLED`, `DISABLED`, `PIN_EXISTS`, and `BUTTON_EXISTS` to take multiple arguments. Also add: - Alias `ANY(...)` for `!DISABLED(...)` - Alias `ANY_PIN(...)` for `PIN_EXISTS(a) || PIN_EXISTS(b) ...` - Alias `EITHER(A,B)` for `ANY(...)` - Alias `ALL(...)` and `BOTH(A,B)` for `ENABLED(...)` - `NONE(...)` for `DISABLED(...)`
This commit is contained in:
		@@ -52,7 +52,7 @@
 | 
			
		||||
  );
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if ENABLED(LED_CONTROL_MENU) || ENABLED(PRINTER_EVENT_LEDS)
 | 
			
		||||
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
 | 
			
		||||
  LEDColor LEDLights::color;
 | 
			
		||||
  bool LEDLights::lights_on;
 | 
			
		||||
#endif
 | 
			
		||||
@@ -60,7 +60,7 @@
 | 
			
		||||
LEDLights leds;
 | 
			
		||||
 | 
			
		||||
void LEDLights::setup() {
 | 
			
		||||
  #if ENABLED(RGB_LED) || ENABLED(RGBW_LED)
 | 
			
		||||
  #if EITHER(RGB_LED, RGBW_LED)
 | 
			
		||||
    if (PWM_PIN(RGB_LED_R_PIN)) SET_PWM(RGB_LED_R_PIN); else SET_OUTPUT(RGB_LED_R_PIN);
 | 
			
		||||
    if (PWM_PIN(RGB_LED_G_PIN)) SET_PWM(RGB_LED_G_PIN); else SET_OUTPUT(RGB_LED_G_PIN);
 | 
			
		||||
    if (PWM_PIN(RGB_LED_B_PIN)) SET_PWM(RGB_LED_B_PIN); else SET_OUTPUT(RGB_LED_B_PIN);
 | 
			
		||||
@@ -108,7 +108,7 @@ void LEDLights::set_color(const LEDColor &incol
 | 
			
		||||
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  #if ENABLED(RGB_LED) || ENABLED(RGBW_LED)
 | 
			
		||||
  #if EITHER(RGB_LED, RGBW_LED)
 | 
			
		||||
 | 
			
		||||
    // This variant uses 3-4 separate pins for the RGB(W) components.
 | 
			
		||||
    // If the pins can do PWM then their intensity will be set.
 | 
			
		||||
@@ -131,7 +131,7 @@ void LEDLights::set_color(const LEDColor &incol
 | 
			
		||||
    RGBsetColor(incol.r, incol.g, incol.b, true);
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  #if ENABLED(LED_CONTROL_MENU) || ENABLED(PRINTER_EVENT_LEDS)
 | 
			
		||||
  #if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
 | 
			
		||||
    // Don't update the color when OFF
 | 
			
		||||
    lights_on = !incol.is_off();
 | 
			
		||||
    if (lights_on) color = incol;
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@
 | 
			
		||||
  #include "neopixel.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define HAS_WHITE_LED (ENABLED(RGBW_LED) || ENABLED(NEOPIXEL_LED))
 | 
			
		||||
#define HAS_WHITE_LED EITHER(RGBW_LED, NEOPIXEL_LED)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * LEDcolor type for use with leds.set_color
 | 
			
		||||
@@ -183,7 +183,7 @@ public:
 | 
			
		||||
    static inline LEDColor get_color() { return lights_on ? color : LEDColorOff(); }
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  #if ENABLED(LED_CONTROL_MENU) || ENABLED(PRINTER_EVENT_LEDS)
 | 
			
		||||
  #if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
 | 
			
		||||
    static LEDColor color; // last non-off color
 | 
			
		||||
    static bool lights_on; // the last set color was "on"
 | 
			
		||||
  #endif
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user