Selaa lähdekoodia

[2.0.x] Option to use Neopixel as case light (#9270)

* Add option to use Neopixel as case light

* Apply CASE_LIGHT_USE_NEOPIXEL to example configs
Scott Lahteine 7 vuotta sitten
vanhempi
commit
8190fdb260
No account linked to committer's email address
46 muutettua tiedostoa jossa 218 lisäystä ja 17 poistoa
  1. 1
    1
      .travis.yml
  2. 4
    0
      Marlin/Configuration_adv.h
  3. 4
    0
      Marlin/src/config/default/Configuration_adv.h
  4. 4
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  5. 4
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  6. 4
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  7. 4
    0
      Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h
  8. 4
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  9. 4
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  10. 4
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  11. 4
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  12. 4
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  13. 4
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  14. 4
    0
      Marlin/src/config/examples/Creality/Ender/Configuration_adv.h
  15. 4
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  16. 4
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  17. 4
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  18. 4
    0
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  19. 4
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  20. 4
    0
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  21. 4
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  22. 4
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  23. 4
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  24. 4
    0
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  25. 4
    0
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  26. 4
    0
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  27. 4
    0
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  28. 4
    0
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  29. 4
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  30. 4
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  31. 4
    0
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  32. 4
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  33. 4
    0
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  34. 4
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  35. 4
    0
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  36. 4
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  37. 4
    0
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  38. 4
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  39. 4
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  40. 4
    0
      Marlin/src/config/examples/makibox/Configuration_adv.h
  41. 4
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  42. 4
    0
      Marlin/src/config/examples/wt150/Configuration_adv.h
  43. 33
    15
      Marlin/src/feature/caselight.cpp
  44. 1
    1
      Marlin/src/feature/caselight.h
  45. 15
    0
      Marlin/src/feature/leds/leds.h
  46. 4
    0
      Marlin/src/inc/SanityCheck.h

+ 1
- 1
.travis.yml Näytä tiedosto

@@ -66,7 +66,7 @@ script:
66 66
   - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS
67 67
   - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED
68 68
   - opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
69
-  - opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU
69
+  - opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL
70 70
   - opt_set ABL_GRID_POINTS_X 16
71 71
   - opt_set ABL_GRID_POINTS_Y 16
72 72
   - opt_set_adv FANMUX0_PIN 53

+ 4
- 0
Marlin/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/default/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Creality/Ender/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/MakerParts/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/SCARA/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/TheBorg/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h Näytä tiedosto

@@ -256,6 +256,10 @@
256 256
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
257 257
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
258 258
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
259
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
260
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
261
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
262
+  #endif
259 263
 #endif
260 264
 
261 265
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 255   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   #define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/delta/generic/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h Näytä tiedosto

@@ -248,6 +248,10 @@
248 248
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
249 249
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
250 250
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
251
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
252
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
253
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
254
+  #endif
251 255
 #endif
252 256
 
253 257
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/makibox/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 4
- 0
Marlin/src/config/examples/wt150/Configuration_adv.h Näytä tiedosto

@@ -243,6 +243,10 @@
243 243
   #define CASE_LIGHT_DEFAULT_ON true          // Set default power-up state on
244 244
   #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105   // Set default power-up brightness (0-255, requires PWM pin)
245 245
   //#define MENU_ITEM_CASE_LIGHT              // Add a Case Light option to the LCD main menu
246
+  //#define CASE_LIGHT_USE_NEOPIXEL           // Use Neopixel LED as case light, requires NEOPIXEL_LED.
247
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
248
+    #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
249
+  #endif
246 250
 #endif
247 251
 
248 252
 //===========================================================================

+ 33
- 15
Marlin/src/feature/caselight.cpp Näytä tiedosto

@@ -27,6 +27,17 @@
27 27
 uint8_t case_light_brightness = CASE_LIGHT_DEFAULT_BRIGHTNESS;
28 28
 bool case_light_on = CASE_LIGHT_DEFAULT_ON;
29 29
 
30
+#if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
31
+  #include "leds/leds.h"
32
+  LEDColor case_light_color =
33
+    #ifdef CASE_LIGHT_NEOPIXEL_COLOR
34
+      CASE_LIGHT_NEOPIXEL_COLOR
35
+    #else
36
+      { 255, 255, 255, 255 }
37
+    #endif
38
+  ;
39
+#endif
40
+
30 41
 /**
31 42
  * The following are needed because ARM chips ignore a "WRITE(CASE_LIGHT_PIN,x)" command to the pins that
32 43
  * are directly controlled by the PWM module. In order to turn them off the brightness level needs to be
@@ -34,32 +45,39 @@ bool case_light_on = CASE_LIGHT_DEFAULT_ON;
34 45
  * to save it.
35 46
  */
36 47
 uint8_t case_light_brightness_sav;   // saves brighness info so can restore when "M355 S1" received
37
-bool case_light_arg_flag;  // flag to notify if S or P arguement type
48
+bool case_light_arg_flag;  // flag to notify if S or P argument type
38 49
 
39 50
 #ifndef INVERT_CASE_LIGHT
40 51
   #define INVERT_CASE_LIGHT false
41 52
 #endif
42 53
 
43 54
 void update_case_light() {
44
-  SET_OUTPUT(CASE_LIGHT_PIN);
45 55
 
46 56
   if (!(case_light_arg_flag && !case_light_on))
47
-    case_light_brightness_sav = case_light_brightness;  // save brightness except if this is an S0 arguement
57
+    case_light_brightness_sav = case_light_brightness;  // save brightness except if this is an S0 argument
48 58
   if (case_light_arg_flag && case_light_on)
49
-    case_light_brightness = case_light_brightness_sav;  // restore last brightens if this is an S1 arguement
59
+    case_light_brightness = case_light_brightness_sav;  // restore last brightens if this is an S1 argument
50 60
 
51
-  if (case_light_on) {
52
-    if (USEABLE_HARDWARE_PWM(CASE_LIGHT_PIN))
53
-      analogWrite(CASE_LIGHT_PIN, INVERT_CASE_LIGHT ? 255 - case_light_brightness : case_light_brightness);
54
-    else
55
-      WRITE(CASE_LIGHT_PIN, INVERT_CASE_LIGHT ? LOW : HIGH);
56
-  }
57
-  else {
61
+  const uint8_t i = case_light_on ? case_light_brightness : 0, n10ct = INVERT_CASE_LIGHT ? 255 - i : i;
62
+
63
+  #if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
64
+
65
+    leds.set_color(
66
+      MakeLEDColor(case_light_color.r, case_light_color.g, case_light_color.b, case_light_color.w, n10ct),
67
+      false
68
+    );
69
+
70
+  #else // !CASE_LIGHT_USE_NEOPIXEL
71
+
72
+    SET_OUTPUT(CASE_LIGHT_PIN);
58 73
     if (USEABLE_HARDWARE_PWM(CASE_LIGHT_PIN))
59
-      analogWrite(CASE_LIGHT_PIN, INVERT_CASE_LIGHT ? 255 : 0);
60
-    else
61
-      WRITE(CASE_LIGHT_PIN, INVERT_CASE_LIGHT ? HIGH : LOW);
62
-  }
74
+      analogWrite(CASE_LIGHT_PIN, n10ct);
75
+    else {
76
+      const bool s = case_light_on ? !INVERT_CASE_LIGHT : INVERT_CASE_LIGHT;
77
+      WRITE(CASE_LIGHT_PIN, s ? HIGH : LOW);
78
+    }
79
+
80
+  #endif // !CASE_LIGHT_USE_NEOPIXEL
63 81
 }
64 82
 
65 83
 #endif // HAS_CASE_LIGHT

+ 1
- 1
Marlin/src/feature/caselight.h Näytä tiedosto

@@ -26,7 +26,7 @@
26 26
 extern uint8_t case_light_brightness;
27 27
 extern bool case_light_on;
28 28
 extern uint8_t case_light_brightness_sav;   // saves brighness info when case_light_on is false
29
-extern bool case_light_arg_flag;  // flag to notify if S or P arguement type
29
+extern bool case_light_arg_flag;  // flag to notify if S or P argument type
30 30
 
31 31
 void update_case_light();
32 32
 

+ 15
- 0
Marlin/src/feature/leds/leds.h Näytä tiedosto

@@ -70,6 +70,21 @@ typedef struct LEDColor {
70 70
       #endif
71 71
     #endif
72 72
   {}
73
+  LEDColor(const uint8_t (&rgbw)[4]) : r(rgbw[0]), g(rgbw[1]), b(rgbw[2])
74
+    #if HAS_WHITE_LED
75
+      , w(rgbw[3])
76
+      #if ENABLED(NEOPIXEL_LED)
77
+        , i(NEOPIXEL_BRIGHTNESS)
78
+      #endif
79
+    #endif
80
+  {}
81
+  LEDColor& operator=(const uint8_t (&rgbw)[4]) {
82
+    r = rgbw[0]; g = rgbw[1]; b = rgbw[2];
83
+    #if HAS_WHITE_LED
84
+      w = rgbw[3];
85
+    #endif
86
+    return *this;
87
+  }
73 88
   LEDColor& operator=(const LEDColor &right) {
74 89
     if (this != &right) memcpy(this, &right, sizeof(LEDColor));
75 90
     return *this;

+ 4
- 0
Marlin/src/inc/SanityCheck.h Näytä tiedosto

@@ -1549,6 +1549,10 @@ static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too m
1549 1549
   #error "LED_CONTROL_MENU requires an LCD controller."
1550 1550
 #endif
1551 1551
 
1552
+#if ENABLED(CASE_LIGHT_USE_NEOPIXEL) && DISABLED(NEOPIXEL_LED)
1553
+  #error "CASE_LIGHT_USE_NEOPIXEL requires NEOPIXEL_LED."
1554
+#endif
1555
+
1552 1556
 #if ENABLED(SKEW_CORRECTION)
1553 1557
   #if !defined(XY_SKEW_FACTOR) && !(defined(XY_DIAG_AC) && defined(XY_DIAG_BD) && defined(XY_SIDE_AD))
1554 1558
     #error "SKEW_CORRECTION requires XY_SKEW_FACTOR or XY_DIAG_AC, XY_DIAG_BD, XY_SIDE_AD."

Loading…
Peruuta
Tallenna