|
|
@ -868,11 +868,20 @@ void setup_homepin(void) { |
|
|
|
#if HAS_CASE_LIGHT |
|
|
|
|
|
|
|
void setup_case_light() { |
|
|
|
#if ENABLED(CASE_LIGHT_DEFAULT_ON) |
|
|
|
OUT_WRITE(CASE_LIGHT_PIN, HIGH); |
|
|
|
#else |
|
|
|
OUT_WRITE(CASE_LIGHT_PIN, LOW); |
|
|
|
#endif |
|
|
|
digitalWrite(CASE_LIGHT_PIN, |
|
|
|
#if ENABLED(CASE_LIGHT_DEFAULT_ON) |
|
|
|
255 |
|
|
|
#else |
|
|
|
0 |
|
|
|
#endif |
|
|
|
); |
|
|
|
analogWrite(CASE_LIGHT_PIN, |
|
|
|
#if ENABLED(CASE_LIGHT_DEFAULT_ON) |
|
|
|
255 |
|
|
|
#else |
|
|
|
0 |
|
|
|
#endif |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
@ -7183,33 +7192,30 @@ inline void gcode_M907() { |
|
|
|
#endif // HAS_MICROSTEPS
|
|
|
|
|
|
|
|
#if HAS_CASE_LIGHT |
|
|
|
|
|
|
|
/**
|
|
|
|
* M355: Turn case lights on/off |
|
|
|
* |
|
|
|
* S<int> change state on/off or sets PWM |
|
|
|
* M355: Turn case lights on/off and set brightness |
|
|
|
* |
|
|
|
* S<bool> Turn case light on or off |
|
|
|
* P<byte> Set case light brightness (PWM pin required) |
|
|
|
*/ |
|
|
|
inline void gcode_M355() { |
|
|
|
static bool case_light_on |
|
|
|
#if ENABLED(CASE_LIGHT_DEFAULT_ON) |
|
|
|
= true |
|
|
|
#else |
|
|
|
; |
|
|
|
#endif |
|
|
|
static uint8_t case_light_brightness = 255; |
|
|
|
if (code_seen('P')) case_light_brightness = code_value_byte(); |
|
|
|
if (code_seen('S')) { |
|
|
|
SERIAL_ECHO_START; |
|
|
|
SERIAL_ECHOPGM("Case lights "); |
|
|
|
byte light_pwm = code_value_byte(); |
|
|
|
switch (light_pwm) { |
|
|
|
case 0: // Disable lights
|
|
|
|
SERIAL_ECHOPGM("off"); |
|
|
|
break; |
|
|
|
case 1: // Enable lights
|
|
|
|
light_pwm = 255; |
|
|
|
SERIAL_ECHOPGM("on"); |
|
|
|
break; |
|
|
|
default: // Enable lights PWM
|
|
|
|
SERIAL_ECHOPAIR("set to: ", (int)map(light_pwm, 0, 255, 0, 100)); |
|
|
|
SERIAL_CHAR('%'); |
|
|
|
break; |
|
|
|
} |
|
|
|
analogWrite(CASE_LIGHT_PIN, light_pwm); |
|
|
|
SERIAL_EOL; |
|
|
|
case_light_on = code_value_bool(); |
|
|
|
digitalWrite(CASE_LIGHT_PIN, case_light_on ? HIGH : LOW); |
|
|
|
analogWrite(CASE_LIGHT_PIN, case_light_on ? case_light_brightness : 0); |
|
|
|
} |
|
|
|
SERIAL_ECHO_START; |
|
|
|
SERIAL_ECHOPGM("Case lights "); |
|
|
|
case_light_on ? SERIAL_ECHOLNPGM("on") : SERIAL_ECHOLNPGM("off"); |
|
|
|
} |
|
|
|
|
|
|
|
#endif // HAS_CASE_LIGHT
|
|
|
|