From 229b26b02ceb5f313abe341c187ed0c4a3daee1e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 26 Jun 2018 18:51:39 -0500 Subject: [PATCH] Clear LED matrix without startup test --- Marlin/src/feature/Max7219_Debug_LEDs.cpp | 4 ++++ Marlin/src/feature/Max7219_Debug_LEDs.h | 3 +++ Marlin/src/gcode/feature/leds/M7219.cpp | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Marlin/src/feature/Max7219_Debug_LEDs.cpp b/Marlin/src/feature/Max7219_Debug_LEDs.cpp index 1291aebdc..dd4f4bf47 100644 --- a/Marlin/src/feature/Max7219_Debug_LEDs.cpp +++ b/Marlin/src/feature/Max7219_Debug_LEDs.cpp @@ -255,6 +255,10 @@ void Max7219_Clear_Column(const uint8_t _COL_) { #endif } +void Max7219_Clear() { + for (uint8_t r = 0; r < 8; r++) _Max7219_Set_Reg(r, 0); +} + void Max7219_Set_2_Rows(const uint8_t y, uint16_t val) { if (y > 6) return Max7219_Error(PSTR("Max7219_Set_2_Rows"), y, val); Max7219_Set_Row(y + 0, val & 0xFF); val >>= 8; diff --git a/Marlin/src/feature/Max7219_Debug_LEDs.h b/Marlin/src/feature/Max7219_Debug_LEDs.h index dec159cee..f00f23174 100644 --- a/Marlin/src/feature/Max7219_Debug_LEDs.h +++ b/Marlin/src/feature/Max7219_Debug_LEDs.h @@ -77,6 +77,9 @@ void Max7219_Clear_Column(const uint8_t col); void Max7219_Set_Row(const uint8_t row, const uint8_t val); void Max7219_Clear_Row(const uint8_t row); +// Quickly clear the whole matrix +void Max7219_Clear(); + // Apply custom code to update the matrix void Max7219_idle_tasks(); diff --git a/Marlin/src/gcode/feature/leds/M7219.cpp b/Marlin/src/gcode/feature/leds/M7219.cpp index 36f9f7c7c..8aaa3ea4b 100644 --- a/Marlin/src/gcode/feature/leds/M7219.cpp +++ b/Marlin/src/gcode/feature/leds/M7219.cpp @@ -39,7 +39,7 @@ */ void GcodeSuite::M7219() { if (parser.seen('I')) - Max7219_init(); + Max7219_Clear(); else if (parser.seenval('R')) { const uint8_t r = parser.value_int(); Max7219_Set_Row(r, parser.byteval('V'));