From 3f0b38ed5df318cfd28ac7433c21f2c4ceab5ddc Mon Sep 17 00:00:00 2001 From: Roxy-3D Date: Fri, 25 Aug 2017 17:03:07 -0500 Subject: [PATCH] Add Max7219 LED Matrix Debug Support (#7563) * Add Max7219 LED Matrix Debug Support The Max7219 8x8 LED Matrix's are very helpful for debugging new code. And for that matter, just trying to maximize printer settings without causing stuttering. The displays are very inexpensive (under $2.00 with shipping) and provide a lot of help when trying to debug complicated code. * Try to keep Makefile up to date. --- Marlin/Makefile | 2 +- Marlin/Marlin_main.cpp | 18 +- Marlin/Max7219_Debug_LEDs.cpp | 286 ++++++++++++++++++ Marlin/Max7219_Debug_LEDs.h | 85 ++++++ .../AlephObjects/TAZ4/Configuration_adv.h | 26 ++ .../Anet/A6/Configuration_adv.h | 26 ++ .../Anet/A8/Configuration_adv.h | 26 ++ .../BQ/Hephestos/Configuration_adv.h | 26 ++ .../BQ/Hephestos_2/Configuration_adv.h | 26 ++ .../BQ/WITBOX/Configuration_adv.h | 26 ++ .../Cartesio/Configuration_adv.h | 26 ++ .../Felix/Configuration_adv.h | 26 ++ .../Folger Tech/i3-2020/Configuration_adv.h | 26 ++ .../Infitary/i3-M508/Configuration_adv.h | 26 ++ .../Malyan/M150/Configuration_adv.h | 26 ++ .../RigidBot/Configuration_adv.h | 26 ++ .../SCARA/Configuration_adv.h | 26 ++ .../Sanguinololu/Configuration_adv.h | 26 ++ .../TinyBoy2/Configuration_adv.h | 26 ++ .../Velleman/K8200/Configuration_adv.h | 26 ++ .../Velleman/K8400/Configuration_adv.h | 26 ++ .../FLSUN/auto_calibrate/Configuration_adv.h | 26 ++ .../FLSUN/kossel_mini/Configuration_adv.h | 26 ++ .../delta/generic/Configuration_adv.h | 26 ++ .../delta/kossel_mini/Configuration_adv.h | 26 ++ .../delta/kossel_pro/Configuration_adv.h | 26 ++ .../delta/kossel_xl/Configuration_adv.h | 26 ++ .../gCreate/gMax1.5+/Configuration.h | 2 +- .../gCreate/gMax1.5+/Configuration_adv.h | 26 ++ .../makibox/Configuration_adv.h | 26 ++ .../tvrrug/Round2/Configuration_adv.h | 26 ++ .../wt150/Configuration_adv.h | 26 ++ 32 files changed, 1090 insertions(+), 5 deletions(-) create mode 100644 Marlin/Max7219_Debug_LEDs.cpp create mode 100644 Marlin/Max7219_Debug_LEDs.h diff --git a/Marlin/Makefile b/Marlin/Makefile index 98d035d959..150f07439a 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -310,7 +310,7 @@ CXXSRC = WMath.cpp WString.cpp Print.cpp Marlin_main.cpp \ temperature.cpp cardreader.cpp configuration_store.cpp \ watchdog.cpp SPI.cpp servo.cpp Tone.cpp ultralcd.cpp digipot_mcp4451.cpp \ dac_mcp4728.cpp vector_3.cpp least_squares_fit.cpp endstops.cpp stopwatch.cpp utility.cpp \ - printcounter.cpp nozzle.cpp serial.cpp gcode.cpp + printcounter.cpp nozzle.cpp serial.cpp gcode.cpp Max7219_Debug_LEDs.cpp ifeq ($(NEOPIXEL), 1) CXXSRC += Adafruit_NeoPixel.cpp endif diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 5196bca81f..1134324034 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -279,6 +279,10 @@ #include "watchdog.h" #endif +#if ENABLED(MAX7219_DEBUG) + #include "Max7219_Debug_LEDs.h" +#endif + #if ENABLED(NEOPIXEL_RGBW_LED) #include #endif @@ -10292,7 +10296,7 @@ inline void invalid_extruder_error(const uint8_t e) { SET_OUTPUT(FANMUX1_PIN); #if PIN_EXISTS(FANMUX2) SET_OUTPUT(FANMUX2_PIN); - #endif + #endif #endif fanmux_switch(0); } @@ -13201,6 +13205,10 @@ void idle( bool no_stepper_sleep/*=false*/ #endif ) { + #if ENABLED(MAX7219_DEBUG) + Max7219_idle_tasks(); + #endif // MAX7219_DEBUG + lcd_update(); host_keepalive(); @@ -13316,6 +13324,10 @@ void stop() { */ void setup() { + #if ENABLED(MAX7219_DEBUG) + Max7219_init(); + #endif + #ifdef DISABLE_JTAG // Disable JTAG on AT90USB chips to free up pins for IO MCUCR = 0x80; @@ -13467,11 +13479,11 @@ void setup() { SET_OUTPUT(E_MUX1_PIN); SET_OUTPUT(E_MUX2_PIN); #endif - + #if HAS_FANMUX fanmux_init(); #endif - + lcd_init(); #ifndef CUSTOM_BOOTSCREEN_TIMEOUT diff --git a/Marlin/Max7219_Debug_LEDs.cpp b/Marlin/Max7219_Debug_LEDs.cpp new file mode 100644 index 0000000000..a5aa3e50d2 --- /dev/null +++ b/Marlin/Max7219_Debug_LEDs.cpp @@ -0,0 +1,286 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * This module is normally not enabled. It can be enabled to facilitate + * the display of extra debug information during code development. + * It assumes the existance of a Max7219 LED Matrix. A suitable + * device can be obtained on eBay similar to this: http://www.ebay.com/itm/191781645249 + * for under $2.00 including shipping. + * + * Just connect up +5v and Gnd to give it power. And then 3 wires declared in the + * #define's below. Actual pin assignments can be changed in MAX7219_DEBUG section + * of configuration_adv.h + * + * #define Max7219_clock 77 + * #define Max7219_data_in 78 + * #define Max7219_load 79 + * + * First call Max7219_init() and then there are a number of support functions available + * to control the LED's in the 8x8 grid. + * + * void Max7219_init(); + * void Max7219_PutByte(uint8_t data); + * void Max7219(uint8_t reg, uint8_t data); + * void Max7219_LED_On( int8_t row, int8_t col); + * void Max7219_LED_Off( int8_t row, int8_t col); + * void Max7219_LED_Toggle( int8_t row, int8_t col); + * void Max7219_Clear_Row( int8_t row); + * void Max7219_Clear_Column( int8_t col); + */ + + +#include "Marlin.h" + +#if ENABLED(MAX7219_DEBUG) + #include "planner.h" + #include "stepper.h" + #include "Max7219_Debug_LEDs.h" + + static uint8_t LEDs[8] = {0}; + + void Max7219_PutByte(uint8_t data) { + uint8_t i = 8; + while(i > 0) { + digitalWrite( Max7219_clock, LOW); // tick + if (data & 0x80) // check bit + digitalWrite(Max7219_data_in,HIGH); // send 1 + else + digitalWrite(Max7219_data_in,LOW); // send 0 + digitalWrite(Max7219_clock, HIGH); // tock + data = data << 0x01; + --i; // move to lesser bit + } + } + + void Max7219( uint8_t reg, uint8_t data) { + digitalWrite(Max7219_load, LOW); // begin + Max7219_PutByte(reg); // specify register + Max7219_PutByte(data); // put data + digitalWrite(Max7219_load, LOW); // and tell the chip to load the data + digitalWrite(Max7219_load,HIGH); + } + + void Max7219_LED_On( int8_t row, int8_t col) { + int x_index; + if ( row>=8 || row<0 || col>=8 || col<0) + return; + if ( LEDs[row] & (0x01<=8 || row<0 || col>=8 || col<0) + return; + if ( !(LEDs[row] & (0x01<=8 || row<0 || col>=8 || col<0) + return; + if ( (LEDs[row] & (0x01<=8 || col<0 ) + return; + LEDs[col] = 0; + x_index = 7-col; + Max7219( x_index+1, LEDs[col] ); + } + + void Max7219_Clear_Row( int8_t row) { + int c; + if ( row>=8 || row<0 ) + return; + + for(c=0; c<8; c++) + Max7219_LED_Off( c, row); + } + + void Max7219_Set_Row( int8_t row, uint8_t val) { + int b; + + if ( row<0 || row>7 ) + return; + + if ( val<0 || val>255 ) + return; + + for(b=0; b<8; b++) + if ( val & (0x01 << b) ) + Max7219_LED_On( 7-b, row); + else + Max7219_LED_Off( 7-b, row); + } + + void Max7219_Set_Column( int8_t col, uint8_t val) { + int x_index; + + if ( col>=8 || col<0 ) + return; + + if ( val<0 || val>255 ) + return; + + LEDs[col] = val; + x_index = 7-col; + Max7219( x_index+1, LEDs[col] ); + } + + + void Max7219_init() { + int i, x, y; + + pinMode(Max7219_data_in, OUTPUT); + pinMode(Max7219_clock, OUTPUT); + pinMode(Max7219_load, OUTPUT); + + digitalWrite(Max7219_load, HIGH); + + //initiation of the max 7219 + Max7219(max7219_reg_scanLimit, 0x07); + Max7219(max7219_reg_decodeMode, 0x00); // using an led matrix (not digits) + Max7219(max7219_reg_shutdown, 0x01); // not in shutdown mode + Max7219(max7219_reg_displayTest, 0x00); // no display test + Max7219(max7219_reg_intensity, 0x01 & 0x0f); // the first 0x0f is the value you can set + // range: 0x00 to 0x0f + for (i=0; i<8; i++) { // empty registers, turn all LEDs off + LEDs[i] = 0x00; + Max7219(i+1,0); + } + + for(x=0; x<8; x++) { // Do an austetically pleasing pattern to fully test + for(y=0; y<8; y++) { // the Max7219 module and LED's. First, turn them + Max7219_LED_On( x, y); // all on. + delay(3); + } + } + for(x=0; x<8; x++) { // Now, turn them all off. + for(y=0; y<8; y++) { + Max7219_LED_Off( x, y); + delay(3); // delay() is OK here. Max7219_init() is only called from + } // setup() and nothing is running yet. + } + + delay(150); + + for(x=7; x>=0; x--) { // Now, do the same thing from the opposite direction + for(y=0; y<8; y++) { + Max7219_LED_On( x, y); + delay(2); + } + } + + for(x=7; x>=0; x--) { + for(y=0; y<8; y++) { + Max7219_LED_Off( x, y); + delay(2); + } + } + } + +/* + * These are sample debug features to demonstrate the usage of the 8x8 LED Matrix for debug purposes. + * There is very little CPU burden added to the system by displaying information within the idle() + * task. + * + * But with that said, if your debugging can be facilitated by making calls into the library from + * other places in the code, feel free to do it. The CPU burden for a few calls to toggle an LED + * or clear a row is not very significant. + */ + void Max7219_idle_tasks() { + #ifdef MAX7219_DEBUG_PRINTER_ALIVE + static int debug_cnt=0; + if (debug_cnt++ > 100) { + Max7219_LED_Toggle(7,7); + debug_cnt = 0; + } + #endif + + #ifdef MAX7219_DEBUG_STEPPER_HEAD + Max7219_Clear_Row(MAX7219_DEBUG_STEPPER_HEAD); + Max7219_Clear_Row(MAX7219_DEBUG_STEPPER_HEAD+1); + if ( planner.block_buffer_head < 8) + Max7219_LED_On( planner.block_buffer_head, MAX7219_DEBUG_STEPPER_HEAD); + else + Max7219_LED_On( planner.block_buffer_head-8, MAX7219_DEBUG_STEPPER_HEAD+1); + #endif + + #ifdef MAX7219_DEBUG_STEPPER_TAIL + Max7219_Clear_Row(MAX7219_DEBUG_STEPPER_TAIL); + Max7219_Clear_Row(MAX7219_DEBUG_STEPPER_TAIL+1); + if ( planner.block_buffer_tail < 8) + Max7219_LED_On( planner.block_buffer_tail, MAX7219_DEBUG_STEPPER_TAIL ); + else + Max7219_LED_On( planner.block_buffer_tail-8, MAX7219_DEBUG_STEPPER_TAIL+1 ); + #endif + + #ifdef MAX7219_DEBUG_STEPPER_QUEUE + static int16_t last_depth=0, current_depth; + uint8_t i; + current_depth = planner.block_buffer_head - planner.block_buffer_tail; + if (current_depth != last_depth) { // usually, no update will be needed. + + if ( current_depth < 0 ) + current_depth += BLOCK_BUFFER_SIZE; + + if ( current_depth >= BLOCK_BUFFER_SIZE ) + current_depth = BLOCK_BUFFER_SIZE; + + if ( current_depth > 16 ) // if the BLOCK_BUFFER_SIZE is greater than 16 two lines + current_depth = 16; // of LED's is enough to see if the buffer is draining + + if ( current_depth < last_depth ) + for(i=current_depth; i<=last_depth; i++) { // clear the highest order LED's + if ( i & 1) + Max7219_LED_Off(i>>1, MAX7219_DEBUG_STEPPER_QUEUE+1); + else + Max7219_LED_Off(i>>1, MAX7219_DEBUG_STEPPER_QUEUE+0); + } + else + for(i=last_depth; i<=current_depth; i++) { // light up the highest order LED's + if ( i & 1) + Max7219_LED_On(i>>1, MAX7219_DEBUG_STEPPER_QUEUE+1); + else + Max7219_LED_On(i>>1, MAX7219_DEBUG_STEPPER_QUEUE+0); + } + last_depth = current_depth; + } + #endif + } +#endif //MAX7219_DEBUG + diff --git a/Marlin/Max7219_Debug_LEDs.h b/Marlin/Max7219_Debug_LEDs.h new file mode 100644 index 0000000000..d2a502953c --- /dev/null +++ b/Marlin/Max7219_Debug_LEDs.h @@ -0,0 +1,85 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * This module is normally not enabled and does not generate any code. But it + * can be enabled to facilitate the display of extra debug information during + * code development. It assumes the existance of a Max7219 LED Matrix. You + * can get one on eBay similar to this: http://www.ebay.com/itm/191781645249 + * for under $2.00 including shipping. + * + * Just connect up +5v and Gnd to give it power. And then 3 wires declared in the + * #define's below. Actual pin assignments can be changed in MAX7219_DEBUG section + * of configuration_adv.h + * + * You first call Max7219_init() and then you have 3 support functions available + * to control the LED's in the 8x8 grid. + * + * void Max7219_init(); + * void Max7219_PutByte(uint8_t data); + * void Max7219(uint8_t reg, uint8_t data); + * void Max7219_LED_On( int8_t row, int8_t col); + * void Max7219_LED_Off( int8_t row, int8_t col); + * void Max7219_LED_Toggle( int8_t row, int8_t col); + * void Max7219_Clear_Row( int8_t row); + * void Max7219_Clear_Column( int8_t col); + * void Max7219_Set_Row( int8_t row, int8_t val); + * void Max7219_Set_Column( int8_t column, int8_t val); + * void Max7219_idle_tasks(); + */ + + +#if ENABLED(MAX7219_DEBUG) + // + // define max7219 registers + // + #define max7219_reg_noop 0x00 + #define max7219_reg_digit0 0x01 + #define max7219_reg_digit1 0x02 + #define max7219_reg_digit2 0x03 + #define max7219_reg_digit3 0x04 + #define max7219_reg_digit4 0x05 + #define max7219_reg_digit5 0x06 + #define max7219_reg_digit6 0x07 + #define max7219_reg_digit7 0x08 + + #define max7219_reg_intensity 0x0a + #define max7219_reg_displayTest 0x0f + #define max7219_reg_decodeMode 0x09 + #define max7219_reg_scanLimit 0x0b + #define max7219_reg_shutdown 0x0c + + + void Max7219_init(); + void Max7219_PutByte(uint8_t data); + void Max7219(uint8_t reg, uint8_t data); + void Max7219_LED_On( int8_t row, int8_t col); + void Max7219_LED_Off( int8_t row, int8_t col); + void Max7219_LED_Toggle( int8_t row, int8_t col); + void Max7219_Clear_Row( int8_t row); + void Max7219_Clear_Column( int8_t col); + void Max7219_Set_Row( int8_t row, uint8_t val); + void Max7219_Set_Column( int8_t col, uint8_t val); + void Max7219_idle_tasks(); +#endif + + diff --git a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h index 8c52ba38a8..71bfc4a69f 100644 --- a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Anet/A6/Configuration_adv.h b/Marlin/example_configurations/Anet/A6/Configuration_adv.h index fbb7573a3f..e12347eb94 100644 --- a/Marlin/example_configurations/Anet/A6/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A6/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Anet/A8/Configuration_adv.h b/Marlin/example_configurations/Anet/A8/Configuration_adv.h index 4812733d5c..73dcf75952 100644 --- a/Marlin/example_configurations/Anet/A8/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A8/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h index aed6aad199..1157da1214 100644 --- a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h index b0dbdadba2..b22e092d1b 100644 --- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h index aed6aad199..1157da1214 100644 --- a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Cartesio/Configuration_adv.h b/Marlin/example_configurations/Cartesio/Configuration_adv.h index 6782e070f9..928e98935d 100644 --- a/Marlin/example_configurations/Cartesio/Configuration_adv.h +++ b/Marlin/example_configurations/Cartesio/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index 638915b918..a16fbf766b 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h b/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h index 960b1b5f8b..e3ce65ad99 100644 --- a/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h +++ b/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h index 751759c30a..e86f802ae5 100644 --- a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h index 4a7930605d..f29f662170 100644 --- a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h +++ b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index 8fbd278c7e..b57af74b3a 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index cab69c2b10..da8e0ae0eb 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h index 953894cba8..46384be46e 100644 --- a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h +++ b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h @@ -1371,4 +1371,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h index 95630746dd..610c084ce1 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h index 1a31f5eda8..6265725f14 100644 --- a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h @@ -1395,4 +1395,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h index 998b25bac6..703300a679 100644 --- a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h index 3715a421ac..1f21b2f215 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -1384,4 +1384,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h index e4eaec7c47..4d41b9280e 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -1384,4 +1384,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index e4eaec7c47..4d41b9280e 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -1384,4 +1384,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index e4eaec7c47..4d41b9280e 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -1384,4 +1384,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index ffabd4eed9..35836cefaa 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -1389,4 +1389,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h index 57dc101978..a7cd5c7648 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h @@ -1384,4 +1384,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h index 51968f7076..df49c31a0c 100644 --- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h @@ -1625,7 +1625,7 @@ // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. -#define SERVO_DELAY { 300 } +#define SERVO_DELAY { 300, 300 } // Servo deactivation // diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h index b6df0fe5ee..1848bcf501 100644 --- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index 2e755a1ecc..2ea7f33e85 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index fc07c0456d..c878d49510 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/example_configurations/wt150/Configuration_adv.h b/Marlin/example_configurations/wt150/Configuration_adv.h index d8f6c3a3b0..0aa8b7ef04 100644 --- a/Marlin/example_configurations/wt150/Configuration_adv.h +++ b/Marlin/example_configurations/wt150/Configuration_adv.h @@ -1382,4 +1382,30 @@ #endif // I2C_POSITION_ENCODERS +/** + * Debug LED's using an 8x8 LED Matrix driven by a Max7219 chip. Fully assembled versions are available on + * eBay for under $2.00 (including shipping) and only require 3 signal wires. + * + * Check out auctions similar to this: https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=332349290049&_sacat=0 + */ + +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define Max7219_clock 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display + #define Max7219_data_in 57 // 78 on Re-ARM + #define Max7219_load 44 // 79 on Re-ARM + + /* + * These are sample debug features that can be turned on and configured for your use. + * The developer will need to manage the use of the various LED's in the 8x8 matrix to avoid conflicts. + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix from idle() routine if firmware is functioning + #define MAX7219_DEBUG_STEPPER_HEAD 3 // Display row position of stepper queue head on this line and the next line of LED matrix + #define MAX7219_DEBUG_STEPPER_TAIL 5 // Display row position of stepper queue tail on this line and the next line of LED matrix + + #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Display row position of stepper queue depth on this line and the next line of LED matrix + // If you have stuttering on your Delta printer, this option may help you understand how + // various tweaks you make to your configuration are affecting the printer. +#endif + #endif // CONFIGURATION_ADV_H