Skip to content

Commit 6c1fd1f

Browse files
🩹 Fix single Neo strip M150 K (MarlinFirmware#26709)
Co-authored-by: Scott Lahteine <[email protected]>
1 parent 4f65466 commit 6c1fd1f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Marlin/src/gcode/feature/leds/M150.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ void GcodeSuite::M150() {
6060

6161
#if ENABLED(NEOPIXEL_LED)
6262
const pixel_index_t index = parser.intval('I', -1);
63+
const bool seenK = parser.seen_test('K');
6364
#if ENABLED(NEOPIXEL2_SEPARATE)
6465
#ifndef NEOPIXEL_M150_DEFAULT
6566
#define NEOPIXEL_M150_DEFAULT -1
@@ -69,12 +70,13 @@ void GcodeSuite::M150() {
6970
int8_t brightness = neo.brightness(), unit = parser.intval('S', NEOPIXEL_M150_DEFAULT);
7071
switch (unit) {
7172
case -1: neo2.neoindex = index; // fall-thru
72-
case 0: neo.neoindex = index; old_color = parser.seen('K') ? neo.pixel_color(index >= 0 ? index : 0) : 0; break;
73-
case 1: neo2.neoindex = index; brightness = neo2.brightness(); old_color = parser.seen('K') ? neo2.pixel_color(index >= 0 ? index : 0) : 0; break;
73+
case 0: neo.neoindex = index; old_color = seenK ? neo.pixel_color(_MAX(index, 0)) : 0; break;
74+
case 1: neo2.neoindex = index; brightness = neo2.brightness(); old_color = seenK ? neo2.pixel_color(_MAX(index, 0)) : 0; break;
7475
}
7576
#else
7677
const uint8_t brightness = neo.brightness();
7778
neo.neoindex = index;
79+
old_color = seenK ? neo.pixel_color(_MAX(index, 0)) : 0;
7880
#endif
7981
#endif
8082

0 commit comments

Comments
 (0)