From e736779d7ee786e55d5267b84ca15a393a473849 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 8 Oct 2015 20:55:46 +0200 Subject: [PATCH 01/10] blink for char-lcds Implement and test blinking for char-lcds # Conflicts: # Marlin/ultralcd_implementation_hitachi_HD44780.h solved --- Marlin/dogm_lcd_implementation.h | 6 +++--- Marlin/ultralcd.cpp | 10 ++++++---- Marlin/ultralcd_implementation_hitachi_HD44780.h | 16 ++++++---------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 4e2cbf9ef..00c3a774c 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -352,7 +352,7 @@ static void lcd_implementation_status_screen() { u8g.drawPixel(8, XYZ_BASELINE - 5); u8g.drawPixel(8, XYZ_BASELINE - 3); u8g.setPrintPos(10, XYZ_BASELINE); - if (axis_known_position[X_AXIS]) + if (axis_known_position[X_AXIS] || (blink & 1)) lcd_print(ftostr31ns(current_position[X_AXIS])); else lcd_printPGM(PSTR("---")); @@ -361,7 +361,7 @@ static void lcd_implementation_status_screen() { u8g.drawPixel(49, XYZ_BASELINE - 5); u8g.drawPixel(49, XYZ_BASELINE - 3); u8g.setPrintPos(51, XYZ_BASELINE); - if (axis_known_position[Y_AXIS]) + if (axis_known_position[Y_AXIS] || (blink & 1)) lcd_print(ftostr31ns(current_position[Y_AXIS])); else lcd_printPGM(PSTR("---")); @@ -370,7 +370,7 @@ static void lcd_implementation_status_screen() { u8g.drawPixel(89, XYZ_BASELINE - 5); u8g.drawPixel(89, XYZ_BASELINE - 3); u8g.setPrintPos(91, XYZ_BASELINE); - if (axis_known_position[Z_AXIS]) + if (axis_known_position[Z_AXIS] || (blink & 1)) lcd_print(ftostr32sp(current_position[Z_AXIS])); else lcd_printPGM(PSTR("---.--")); diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 810bfcff9..8722f237f 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -1732,21 +1732,23 @@ void lcd_update() { } #if ENABLED(DOGLCD) // Changes due to different driver architecture of the DOGM display if (lcdDrawUpdate) { - blink++; // Variable for fan animation and alive dot + blink++; // Variable for animation and alive dot u8g.firstPage(); do { lcd_setFont(FONT_MENU); u8g.setPrintPos(125, 0); - if (blink % 2) u8g.setColorIndex(1); else u8g.setColorIndex(0); // Set color for the alive dot + if (blink & 1) u8g.setColorIndex(1); else u8g.setColorIndex(0); // Set color for the alive dot u8g.drawPixel(127, 63); // draw alive dot u8g.setColorIndex(1); // black on white (*currentMenu)(); } while (u8g.nextPage()); } #else - if (lcdDrawUpdate) + if (lcdDrawUpdate) { + blink++; // Variable for animation (*currentMenu)(); - #endif + } + #endif #if ENABLED(LCD_HAS_STATUS_INDICATORS) lcd_implementation_update_indicators(); diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index 0ba411cf8..fbcba3e75 100644 --- a/Marlin/ultralcd_implementation_hitachi_HD44780.h +++ b/Marlin/ultralcd_implementation_hitachi_HD44780.h @@ -3,14 +3,10 @@ /** * Implementation of the LCD display routines for a Hitachi HD44780 display. These are common LCD character displays. -* When selecting the Russian language, a slightly different LCD implementation is used to handle UTF8 characters. **/ -//#if DISABLED(REPRAPWORLD_KEYPAD) -// extern volatile uint8_t buttons; //the last checked buttons in a bit array. -//#else - extern volatile uint8_t buttons; //an extended version of the last checked buttons in a bit array. -//#endif +static unsigned char blink = 0; // Variable for animation +extern volatile uint8_t buttons; //an extended version of the last checked buttons in a bit array. //////////////////////////////////// // Setup button and encode mappings for each panel (into 'buttons' variable @@ -621,13 +617,13 @@ static void lcd_implementation_status_screen() { #else lcd.print('X'); - if (axis_known_position[X_AXIS]) + if (axis_known_position[X_AXIS] || (blink & 1)) lcd.print(ftostr4sign(current_position[X_AXIS])); else lcd_printPGM(PSTR(" ---")); - lcd_printPGM(PSTR(" Y")); - if (axis_known_position[Y_AXIS]) + lcd_printPGM(PSTR(" Y")); + if (axis_known_position[Y_AXIS] || (blink & 1)) lcd.print(ftostr4sign(current_position[Y_AXIS])); else lcd_printPGM(PSTR(" ---")); @@ -638,7 +634,7 @@ static void lcd_implementation_status_screen() { lcd.setCursor(LCD_WIDTH - 8, 1); lcd_printPGM(PSTR("Z ")); - if (axis_known_position[Z_AXIS]) + if (axis_known_position[Z_AXIS] || (blink & 1)) lcd.print(ftostr32sp(current_position[Z_AXIS] + 0.00001)); else lcd_printPGM(PSTR("---.--")); From 051325ccd79e62f0e76239d09684d16b26b67c67 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 8 Oct 2015 21:04:17 +0200 Subject: [PATCH 02/10] Introduce axis_homed Introduce additional variable axis_homed to replace axix_known_position when the coordinate display should indicate the axis is not homed. This is to distinguish between "not homed" and "inexact position possible because stepper was disabled". # Conflicts: # Marlin/ultralcd_implementation_hitachi_HD44780.h solved --- Marlin/Marlin.h | 1 + Marlin/Marlin_main.cpp | 2 ++ Marlin/dogm_lcd_implementation.h | 6 +++--- Marlin/ultralcd_implementation_hitachi_HD44780.h | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index b463ba75d..237321712 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -259,6 +259,7 @@ extern float home_offset[3]; // axis[n].home_offset extern float min_pos[3]; // axis[n].min_pos extern float max_pos[3]; // axis[n].max_pos extern bool axis_known_position[3]; // axis[n].is_known +extern bool axis_homed[3]; // axis[n].is_homed #if ENABLED(DELTA) extern float delta[3]; diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index d985b15db..7e2ba0ed6 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -245,6 +245,7 @@ static float feedrate = 1500.0, saved_feedrate; float current_position[NUM_AXIS] = { 0.0 }; static float destination[NUM_AXIS] = { 0.0 }; bool axis_known_position[3] = { false }; +bool axis_homed[3] = { false }; static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0; @@ -1981,6 +1982,7 @@ static void homeaxis(AxisEnum axis) { feedrate = 0.0; endstops_hit_on_purpose(); // clear endstop hit flags axis_known_position[axis] = true; + axis_homed[axis] = true; #if ENABLED(Z_PROBE_SLED) // bring Z probe back diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 00c3a774c..35a2de35b 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -352,7 +352,7 @@ static void lcd_implementation_status_screen() { u8g.drawPixel(8, XYZ_BASELINE - 5); u8g.drawPixel(8, XYZ_BASELINE - 3); u8g.setPrintPos(10, XYZ_BASELINE); - if (axis_known_position[X_AXIS] || (blink & 1)) + if (axis_homed[X_AXIS] || (blink & 1)) lcd_print(ftostr31ns(current_position[X_AXIS])); else lcd_printPGM(PSTR("---")); @@ -361,7 +361,7 @@ static void lcd_implementation_status_screen() { u8g.drawPixel(49, XYZ_BASELINE - 5); u8g.drawPixel(49, XYZ_BASELINE - 3); u8g.setPrintPos(51, XYZ_BASELINE); - if (axis_known_position[Y_AXIS] || (blink & 1)) + if (axis_homed[Y_AXIS] || (blink & 1)) lcd_print(ftostr31ns(current_position[Y_AXIS])); else lcd_printPGM(PSTR("---")); @@ -370,7 +370,7 @@ static void lcd_implementation_status_screen() { u8g.drawPixel(89, XYZ_BASELINE - 5); u8g.drawPixel(89, XYZ_BASELINE - 3); u8g.setPrintPos(91, XYZ_BASELINE); - if (axis_known_position[Z_AXIS] || (blink & 1)) + if (axis_homed[Z_AXIS] || (blink & 1)) lcd_print(ftostr32sp(current_position[Z_AXIS])); else lcd_printPGM(PSTR("---.--")); diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index fbcba3e75..583f3a8dd 100644 --- a/Marlin/ultralcd_implementation_hitachi_HD44780.h +++ b/Marlin/ultralcd_implementation_hitachi_HD44780.h @@ -617,13 +617,13 @@ static void lcd_implementation_status_screen() { #else lcd.print('X'); - if (axis_known_position[X_AXIS] || (blink & 1)) + if (axis_homed[X_AXIS] || (blink & 1)) lcd.print(ftostr4sign(current_position[X_AXIS])); else lcd_printPGM(PSTR(" ---")); lcd_printPGM(PSTR(" Y")); - if (axis_known_position[Y_AXIS] || (blink & 1)) + if (axis_homed[Y_AXIS] || (blink & 1)) lcd.print(ftostr4sign(current_position[Y_AXIS])); else lcd_printPGM(PSTR(" ---")); @@ -634,7 +634,7 @@ static void lcd_implementation_status_screen() { lcd.setCursor(LCD_WIDTH - 8, 1); lcd_printPGM(PSTR("Z ")); - if (axis_known_position[Z_AXIS] || (blink & 1)) + if (axis_homed[Z_AXIS] || (blink & 1)) lcd.print(ftostr32sp(current_position[Z_AXIS] + 0.00001)); else lcd_printPGM(PSTR("---.--")); From b6e69e71cec45b2d238c2e3097bb8dc702166440 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 28 Feb 2016 15:50:50 +0100 Subject: [PATCH 03/10] Make stepper shutdown after inactivity dependent Make stepper shutdown after inactivity dependent on a new set of #defines. DISABLE_INACTIV_X DISABLE_INACTIV_Y DISABLE_INACTIV_Z DISABLE_INACTIV_E And make exemplaric Configuration. Names can be discussed. This makes the disabling of the steppers independent from the DISABLE_? settings witch shut down the steppers immediately. --- Marlin/Configuration.h | 2 +- Marlin/Configuration_adv.h | 10 ++++++++-- Marlin/Marlin_main.cpp | 8 ++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f2b5ba95e..663bd76d3 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -349,7 +349,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index b57ec08b0..9eb698677 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -52,7 +52,7 @@ * The maximum buffered steps/sec of the extruder motor is called "se". * Start autotemp mode with M109 S B F * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by - * mintemp and maxtemp. Turn this off by excuting M109 without F* + * mintemp and maxtemp. Turn this off by executing M109 without F* * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode */ @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. -#define DEFAULT_STEPPER_DEACTIVE_TIME 60 +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIV_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 7e2ba0ed6..e84138945 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -6956,16 +6956,16 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { if (stepper_inactive_time && ms > previous_cmd_ms + stepper_inactive_time && !ignore_stepper_queue && !blocks_queued()) { - #if DISABLE_X == true + #if DISABLE_INACTIV_X == true disable_x(); #endif - #if DISABLE_Y == true + #if DISABLE_INACTIV_Y == true disable_y(); #endif - #if DISABLE_Z == true + #if DISABLE_INACTIV_Z == true disable_z(); #endif - #if DISABLE_E == true + #if DISABLE_INACTIV_E == true disable_e0(); disable_e1(); disable_e2(); From 32ae9f9ab702deaface2f63af3a658be2bf5c9d3 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 8 Oct 2015 21:23:18 +0200 Subject: [PATCH 04/10] Fix stepper shutdown during waiting for temperatures In the wait loops of M109 M190 idle() is called, what checks stepper_inactive_time against previous_cmd_ms. Because we can be several minutes inside the loop, resetting previous_cmd_ms only outside the loop caused stepper shutdowns. The name of previous_cmd_ms does not really reflect its use. It's set not only when a new command was received or executed but also in many of the movement routines. For that the little extension of using it during the wait will (hopefully) not hurt. # Conflicts: # Marlin/Configuration_adv.h --- Marlin/Marlin_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index e84138945..d2a212097 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -3975,6 +3975,7 @@ inline void gcode_M109() { } idle(); + refresh_cmd_timeout(); // to prevent stepper_inactive_time from running out #ifdef TEMP_RESIDENCY_TIME // start/restart the TEMP_RESIDENCY_TIME timer whenever we reach target temp for the first time @@ -3989,7 +3990,6 @@ inline void gcode_M109() { } LCD_MESSAGEPGM(MSG_HEATING_COMPLETE); - refresh_cmd_timeout(); print_job_start_ms = previous_cmd_ms; } @@ -4024,9 +4024,9 @@ inline void gcode_M109() { #endif } idle(); + refresh_cmd_timeout(); // to prevent stepper_inactive_time from running out } LCD_MESSAGEPGM(MSG_BED_DONE); - refresh_cmd_timeout(); } #endif // HAS_TEMP_BED From 5b0f659355c45f8d6859b98c4ebdc1a639c9bdc8 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 28 Feb 2016 23:19:32 +0100 Subject: [PATCH 05/10] Changes for graphics displays Replaced displaying "---" instead of the value of a coordinate when unhomed or with reduced precision with blinking the coordinate-prefix-character ('X','Y','Z'). For "unhomed" a '?' is shown every second second - until that axis is homed. The value displayed is, as before the "---" where displayed, the relative to the reset position coordinate value. When the axis stepper was disabled, now we can display a hint on that, by showing a blinking ' ' instead of the axis letter, when WARN_REDUCED_ACCURACY is defined. I suppose the code itself is here the better documentation. A '+/-' character is in non of our charsets so i decided for a '?' for now to reduce the work. There is no additional space on the displays one could use to display the information, so replacing something is the only option. As the axis letters are totally redundant with their positions on the display they contain the least information. So my decision was to overwrite them. --- Marlin/Configuration.h | 4 ++- Marlin/dogm_lcd_implementation.h | 62 ++++++++++++++++++++++++-------- 2 files changed, 50 insertions(+), 16 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 663bd76d3..23f155c83 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -349,11 +349,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis stepper immediately when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 35a2de35b..63df2416b 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -338,6 +338,9 @@ static void lcd_implementation_status_screen() { } // X, Y, Z-Coordinates + // Before homing the axis letters are blinking 'X' <-> '?'. + // When axis is homed but axis_known_position is false the axis letters are blinking 'X' <-> ' '. + // When everything is ok you see a constant 'X'. #define XYZ_BASELINE 38 lcd_setFont(FONT_STATUSMENU); @@ -348,32 +351,61 @@ static void lcd_implementation_status_screen() { #endif u8g.setColorIndex(0); // white on black u8g.setPrintPos(2, XYZ_BASELINE); - lcd_print('X'); + if (blink & 1) + lcd_printPGM(PSTR("X")); + else { + if (!axis_homed[X_AXIS]) + lcd_printPGM(PSTR("?")); + else + #if ENABLED(WARN_REDUCED_ACCURACY) + if (!axis_known_position[X_AXIS]) + lcd_printPGM(PSTR(" ")); + else + #endif + lcd_printPGM(PSTR("X")); + } u8g.drawPixel(8, XYZ_BASELINE - 5); u8g.drawPixel(8, XYZ_BASELINE - 3); u8g.setPrintPos(10, XYZ_BASELINE); - if (axis_homed[X_AXIS] || (blink & 1)) - lcd_print(ftostr31ns(current_position[X_AXIS])); - else - lcd_printPGM(PSTR("---")); + lcd_print(ftostr31ns(current_position[X_AXIS])); + u8g.setPrintPos(43, XYZ_BASELINE); - lcd_print('Y'); + if (blink & 1) + lcd_printPGM(PSTR("Y")); + else { + if (!axis_homed[Y_AXIS]) + lcd_printPGM(PSTR("?")); + else + #if ENABLED(WARN_REDUCED_ACCURACY) + if (!axis_known_position[Y_AXIS]) + lcd_printPGM(PSTR(" ")); + else + #endif + lcd_printPGM(PSTR("Y")); + } u8g.drawPixel(49, XYZ_BASELINE - 5); u8g.drawPixel(49, XYZ_BASELINE - 3); u8g.setPrintPos(51, XYZ_BASELINE); - if (axis_homed[Y_AXIS] || (blink & 1)) - lcd_print(ftostr31ns(current_position[Y_AXIS])); - else - lcd_printPGM(PSTR("---")); + lcd_print(ftostr31ns(current_position[Y_AXIS])); + u8g.setPrintPos(83, XYZ_BASELINE); - lcd_print('Z'); + if (blink & 1) + lcd_printPGM(PSTR("Z")); + else { + if (!axis_homed[Z_AXIS]) + lcd_printPGM(PSTR("?")); + else + #if ENABLED(WARN_REDUCED_ACCURACY) + if (!axis_known_position[Z_AXIS]) + lcd_printPGM(PSTR(" ")); + else + #endif + lcd_printPGM(PSTR("Z")); + } u8g.drawPixel(89, XYZ_BASELINE - 5); u8g.drawPixel(89, XYZ_BASELINE - 3); u8g.setPrintPos(91, XYZ_BASELINE); - if (axis_homed[Z_AXIS] || (blink & 1)) - lcd_print(ftostr32sp(current_position[Z_AXIS])); - else - lcd_printPGM(PSTR("---.--")); + lcd_print(ftostr32sp(current_position[Z_AXIS])); u8g.setColorIndex(1); // black on white // Feedrate From be24fdaceae77e61e306d4ebcaa9c8e11fabaf69 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 28 Feb 2016 23:13:24 +0100 Subject: [PATCH 06/10] The same changes to the axis-letters now for the char-displays Exactly the same - copy/paste. --- .../ultralcd_implementation_hitachi_HD44780.h | 64 ++++++++++++++----- 1 file changed, 48 insertions(+), 16 deletions(-) diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index 583f3a8dd..292bac781 100644 --- a/Marlin/ultralcd_implementation_hitachi_HD44780.h +++ b/Marlin/ultralcd_implementation_hitachi_HD44780.h @@ -615,29 +615,61 @@ static void lcd_implementation_status_screen() { LCD_TEMP(degBed(), degTargetBed(), LCD_STR_BEDTEMP[0]); #else + // Before homing the axis letters are blinking 'X' <-> '?'. + // When axis is homed but axis_known_position is false the axis letters are blinking 'X' <-> ' '. + // When everything is ok you see a constant 'X'. + + if (blink & 1) + lcd_printPGM(PSTR("X")); + else { + if (!axis_homed[X_AXIS]) + lcd_printPGM(PSTR("?")); + else + #if ENABLED(WARN_REDUCED_ACCURACY) + if (!axis_known_position[X_AXIS]) + lcd_printPGM(PSTR(" ")); + else + #endif + lcd_printPGM(PSTR("X")); + } - lcd.print('X'); - if (axis_homed[X_AXIS] || (blink & 1)) - lcd.print(ftostr4sign(current_position[X_AXIS])); - else - lcd_printPGM(PSTR(" ---")); - - lcd_printPGM(PSTR(" Y")); - if (axis_homed[Y_AXIS] || (blink & 1)) - lcd.print(ftostr4sign(current_position[Y_AXIS])); - else - lcd_printPGM(PSTR(" ---")); + lcd.print(ftostr4sign(current_position[X_AXIS])); + + lcd_printPGM(PSTR(" ")); + if (blink & 1) + lcd_printPGM(PSTR("Y")); + else { + if (!axis_homed[Y_AXIS]) + lcd_printPGM(PSTR("?")); + else + #if ENABLED(WARN_REDUCED_ACCURACY) + if (!axis_known_position[Y_AXIS]) + lcd_printPGM(PSTR(" ")); + else + #endif + lcd_printPGM(PSTR("Y")); + } + lcd.print(ftostr4sign(current_position[Y_AXIS])); #endif // EXTRUDERS > 1 || TEMP_SENSOR_BED != 0 #endif // LCD_WIDTH >= 20 lcd.setCursor(LCD_WIDTH - 8, 1); - lcd_printPGM(PSTR("Z ")); - if (axis_homed[Z_AXIS] || (blink & 1)) - lcd.print(ftostr32sp(current_position[Z_AXIS] + 0.00001)); - else - lcd_printPGM(PSTR("---.--")); + if (blink & 1) + lcd_printPGM(PSTR("Z")); + else { + if (!axis_homed[Z_AXIS]) + lcd_printPGM(PSTR("?")); + else + #if ENABLED(WARN_REDUCED_ACCURACY) + if (!axis_known_position[Z_AXIS]) + lcd_printPGM(PSTR(" ")); + else + #endif + lcd_printPGM(PSTR("Z")); + } + lcd.print(ftostr32sp(current_position[Z_AXIS] + 0.00001)); #endif // LCD_HEIGHT > 2 From 4b02f33e6971911ead9655aea6c3e6e0260fa525 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 8 Oct 2015 22:23:44 +0200 Subject: [PATCH 07/10] Distribute config-changes to the other configurations --- Marlin/Configuration_adv.h | 2 +- Marlin/Marlin_main.cpp | 8 ++++---- Marlin/example_configurations/Felix/Configuration.h | 4 +++- Marlin/example_configurations/Felix/Configuration_DUAL.h | 4 +++- Marlin/example_configurations/Felix/Configuration_adv.h | 6 ++++++ Marlin/example_configurations/Hephestos/Configuration.h | 4 +++- .../example_configurations/Hephestos/Configuration_adv.h | 6 ++++++ Marlin/example_configurations/K8200/Configuration.h | 4 +++- Marlin/example_configurations/K8200/Configuration_adv.h | 6 ++++++ .../RepRapWorld/Megatronics/Configuration.h | 4 +++- Marlin/example_configurations/RigidBot/Configuration.h | 4 +++- .../example_configurations/RigidBot/Configuration_adv.h | 6 ++++++ Marlin/example_configurations/SCARA/Configuration.h | 4 +++- Marlin/example_configurations/SCARA/Configuration_adv.h | 6 ++++++ Marlin/example_configurations/TAZ4/Configuration.h | 4 +++- Marlin/example_configurations/TAZ4/Configuration_adv.h | 6 ++++++ Marlin/example_configurations/WITBOX/Configuration.h | 4 +++- Marlin/example_configurations/WITBOX/Configuration_adv.h | 6 ++++++ .../adafruit/ST7565/Configuration.h | 4 +++- .../example_configurations/delta/biv2.5/Configuration.h | 4 +++- .../delta/biv2.5/Configuration_adv.h | 6 ++++++ .../example_configurations/delta/generic/Configuration.h | 4 +++- .../delta/generic/Configuration_adv.h | 6 ++++++ .../delta/kossel_mini/Configuration.h | 4 +++- .../delta/kossel_mini/Configuration_adv.h | 6 ++++++ .../delta/kossel_pro/Configuration.h | 4 +++- .../delta/kossel_pro/Configuration_adv.h | 6 ++++++ Marlin/example_configurations/makibox/Configuration.h | 4 +++- Marlin/example_configurations/makibox/Configuration_adv.h | 6 ++++++ .../example_configurations/tvrrug/Round2/Configuration.h | 4 +++- .../tvrrug/Round2/Configuration_adv.h | 6 ++++++ 31 files changed, 131 insertions(+), 21 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 9eb698677..544df9d67 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -232,7 +232,7 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. -// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIV_? is true. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. // Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 120 #define DISABLE_INACTIVE_X true diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index d2a212097..b00ff067e 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -6956,16 +6956,16 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { if (stepper_inactive_time && ms > previous_cmd_ms + stepper_inactive_time && !ignore_stepper_queue && !blocks_queued()) { - #if DISABLE_INACTIV_X == true + #if DISABLE_INACTIVE_X == true disable_x(); #endif - #if DISABLE_INACTIV_Y == true + #if DISABLE_INACTIVE_Y == true disable_y(); #endif - #if DISABLE_INACTIV_Z == true + #if DISABLE_INACTIVE_Z == true disable_z(); #endif - #if DISABLE_INACTIV_E == true + #if DISABLE_INACTIVE_E == true disable_e0(); disable_e1(); disable_e2(); diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index ebb18a793..45a1c31a9 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -331,11 +331,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/Felix/Configuration_DUAL.h b/Marlin/example_configurations/Felix/Configuration_DUAL.h index d1b093ec8..f2bf070b4 100644 --- a/Marlin/example_configurations/Felix/Configuration_DUAL.h +++ b/Marlin/example_configurations/Felix/Configuration_DUAL.h @@ -315,11 +315,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY #define DISABLE_E false // For all extruders #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index 2efa6e198..f60843ab6 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index e07e60c01..9f93be6b7 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -341,11 +341,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/Hephestos/Configuration_adv.h b/Marlin/example_configurations/Hephestos/Configuration_adv.h index 453a7f8ed..cc20b49f6 100644 --- a/Marlin/example_configurations/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/Hephestos/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index aa667c740..9dc51da22 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -364,11 +364,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false // not for K8200 -> looses Steps +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/K8200/Configuration_adv.h b/Marlin/example_configurations/K8200/Configuration_adv.h index ac7bfcf7f..5871d926c 100644 --- a/Marlin/example_configurations/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/K8200/Configuration_adv.h @@ -237,7 +237,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index fbcb3f578..c2c85d75f 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -349,11 +349,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index dd625d086..659c67e15 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -340,11 +340,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index 574f828af..e1da000b3 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index c3431ab24..63fa374b0 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -357,11 +357,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index d8b61e5df..25b60fe26 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 240 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index eb29becca..c8603745e 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -369,11 +369,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/TAZ4/Configuration_adv.h b/Marlin/example_configurations/TAZ4/Configuration_adv.h index 88cbee0ec..ddf26f893 100644 --- a/Marlin/example_configurations/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/TAZ4/Configuration_adv.h @@ -240,7 +240,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index 26db2c01c..6755e9130 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -341,11 +341,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z true +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/WITBOX/Configuration_adv.h b/Marlin/example_configurations/WITBOX/Configuration_adv.h index 2f7af851b..254f83a94 100644 --- a/Marlin/example_configurations/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/WITBOX/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index d14f06d72..3fc652e3e 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -349,11 +349,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration.h b/Marlin/example_configurations/delta/biv2.5/Configuration.h index a171c53bd..c551401d4 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration.h @@ -384,11 +384,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h b/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h index b5b4236a3..6f4281374 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 0 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 5d72ca7cd..c6cd35aa4 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -384,11 +384,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index 2f24be9d6..44c6d5a44 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 9d789973d..1759e4e52 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -384,11 +384,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index 125f69321..a7dc749d6 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 824c6c9d7..389df1351 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -371,11 +371,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index 70a8508e6..eb0c05a81 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -236,7 +236,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 317e93dea..b9d8fcff6 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -352,11 +352,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index d60bcaadb..da6a39092 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index ffd058a75..f786fb0ff 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -339,11 +339,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define Z_ENABLE_ON 1 #define E_ENABLE_ON 1 // For all extruders -// Disables axis when it's not being used. +// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define WARN_REDUCED_ACCURACY // @section extruder diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index 7b9fcf3df..41193f200 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -232,7 +232,13 @@ #define INVERT_E_STEP_PIN false // Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINTRAVELFEEDRATE 0.0 From 1c889cd303f9b4ac5125f4a972b0a6f3c8e3d7be Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Nov 2015 20:14:15 +0100 Subject: [PATCH 08/10] Refresh previous_cmd_ms during run_z_probe() Refresh previous_cmd_ms during run_z_probe() to prevent: stepper shutdown for expired DEFAULT_STEPPER_DEACTIVE_TIME and extrudes for expired EXTRUDER_RUNOUT_SECONDS (https://github.com/MarlinFirmware/MarlinDev/issues/238) --- Marlin/Marlin_main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index b00ff067e..23021339d 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1281,6 +1281,8 @@ static void setup_for_endstop_move() { static void run_z_probe() { + refresh_cmd_timeout(); // to prevent stepper_inactive_time from running out and EXTRUDER_RUNOUT_PREVENT from extruding + #if ENABLED(DELTA) float start_z = current_position[Z_AXIS]; From 615bec2329d14b371ad57dbe2bd3aaec0138a91c Mon Sep 17 00:00:00 2001 From: AnHardt Date: Wed, 4 Nov 2015 14:19:33 +0100 Subject: [PATCH 09/10] Activate warning about possible reduced accuracy by default Renamed `WARN_REDUCED_ACCURACY` to `DISABLE_REDUCED_ACCURACY_WARNING` Changed the condition for blinking from ``` #if ENABLED(WARN_REDUCED_ACCURACY) ``` to ``` #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) ``` --- Marlin/Configuration.h | 2 +- Marlin/dogm_lcd_implementation.h | 6 +++--- Marlin/example_configurations/Felix/Configuration.h | 2 +- .../Felix/Configuration_DUAL.h | 2 +- .../example_configurations/Hephestos/Configuration.h | 2 +- Marlin/example_configurations/K8200/Configuration.h | 2 +- .../RepRapWorld/Megatronics/Configuration.h | 2 +- .../example_configurations/RigidBot/Configuration.h | 2 +- Marlin/example_configurations/SCARA/Configuration.h | 2 +- Marlin/example_configurations/TAZ4/Configuration.h | 2 +- Marlin/example_configurations/WITBOX/Configuration.h | 2 +- .../adafruit/ST7565/Configuration.h | 2 +- .../delta/biv2.5/Configuration.h | 2 +- .../delta/generic/Configuration.h | 2 +- .../delta/kossel_mini/Configuration.h | 2 +- .../delta/kossel_pro/Configuration.h | 2 +- .../example_configurations/makibox/Configuration.h | 2 +- .../tvrrug/Round2/Configuration.h | 2 +- Marlin/ultralcd_implementation_hitachi_HD44780.h | 12 ++++++------ 19 files changed, 26 insertions(+), 26 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 23f155c83..39145a388 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -355,7 +355,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 63df2416b..3362fd5c4 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -357,7 +357,7 @@ static void lcd_implementation_status_screen() { if (!axis_homed[X_AXIS]) lcd_printPGM(PSTR("?")); else - #if ENABLED(WARN_REDUCED_ACCURACY) + #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) if (!axis_known_position[X_AXIS]) lcd_printPGM(PSTR(" ")); else @@ -376,7 +376,7 @@ static void lcd_implementation_status_screen() { if (!axis_homed[Y_AXIS]) lcd_printPGM(PSTR("?")); else - #if ENABLED(WARN_REDUCED_ACCURACY) + #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) if (!axis_known_position[Y_AXIS]) lcd_printPGM(PSTR(" ")); else @@ -395,7 +395,7 @@ static void lcd_implementation_status_screen() { if (!axis_homed[Z_AXIS]) lcd_printPGM(PSTR("?")); else - #if ENABLED(WARN_REDUCED_ACCURACY) + #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) if (!axis_known_position[Z_AXIS]) lcd_printPGM(PSTR(" ")); else diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index 45a1c31a9..bcad565fb 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -337,7 +337,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/Felix/Configuration_DUAL.h b/Marlin/example_configurations/Felix/Configuration_DUAL.h index f2bf070b4..eec67c6fb 100644 --- a/Marlin/example_configurations/Felix/Configuration_DUAL.h +++ b/Marlin/example_configurations/Felix/Configuration_DUAL.h @@ -321,7 +321,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING #define DISABLE_E false // For all extruders #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 9f93be6b7..5d9d7d85a 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -347,7 +347,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 9dc51da22..a0d7e29a2 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -370,7 +370,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // not for K8200 -> looses Steps // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index c2c85d75f..036d85a83 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -355,7 +355,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index 659c67e15..120691ca1 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -346,7 +346,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 63fa374b0..2f6ee2bd7 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -363,7 +363,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index c8603745e..2c3ea89e6 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -375,7 +375,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index 6755e9130..abf104aa0 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -347,7 +347,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define DISABLE_Y false #define DISABLE_Z true // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 3fc652e3e..1dece92ee 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -355,7 +355,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration.h b/Marlin/example_configurations/delta/biv2.5/Configuration.h index c551401d4..65d15d6d8 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration.h @@ -390,7 +390,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index c6cd35aa4..0cc617d50 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -390,7 +390,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 1759e4e52..6cef82a23 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -390,7 +390,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 389df1351..45fbe292e 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -377,7 +377,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index b9d8fcff6..5111f9659 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -358,7 +358,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index f786fb0ff..f0103bf5f 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -345,7 +345,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define DISABLE_Y false #define DISABLE_Z false // Warn on display about possibly reduced accuracy -//#define WARN_REDUCED_ACCURACY +//#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index 292bac781..dcbb0b592 100644 --- a/Marlin/ultralcd_implementation_hitachi_HD44780.h +++ b/Marlin/ultralcd_implementation_hitachi_HD44780.h @@ -624,8 +624,8 @@ static void lcd_implementation_status_screen() { else { if (!axis_homed[X_AXIS]) lcd_printPGM(PSTR("?")); - else - #if ENABLED(WARN_REDUCED_ACCURACY) + else + #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) if (!axis_known_position[X_AXIS]) lcd_printPGM(PSTR(" ")); else @@ -641,8 +641,8 @@ static void lcd_implementation_status_screen() { else { if (!axis_homed[Y_AXIS]) lcd_printPGM(PSTR("?")); - else - #if ENABLED(WARN_REDUCED_ACCURACY) + else + #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) if (!axis_known_position[Y_AXIS]) lcd_printPGM(PSTR(" ")); else @@ -661,8 +661,8 @@ static void lcd_implementation_status_screen() { else { if (!axis_homed[Z_AXIS]) lcd_printPGM(PSTR("?")); - else - #if ENABLED(WARN_REDUCED_ACCURACY) + else + #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) if (!axis_known_position[Z_AXIS]) lcd_printPGM(PSTR(" ")); else From f27c2b6b4bf75bff13b3c2f1e6dea3e26134f931 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 28 Feb 2016 22:34:10 +0100 Subject: [PATCH 10/10] Reimplement #2892 Include #2892 to fix the isHeating symbol in the extruder graphics --- Marlin/dogm_lcd_implementation.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 3362fd5c4..d1e23614b 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -270,7 +270,7 @@ static void _draw_heater_status(int x, int heater) { lcd_print(itostr3(int(heater >= 0 ? degHotend(heater) : degBed()) + 0.5)); lcd_printPGM(PSTR(LCD_STR_DEGREE " ")); - if (!isHeatingHotend(0)) { + if (heater >= 0 ? !isHeatingHotend(heater) : !isHeatingBed()) { u8g.drawBox(x+7,y,2,2); } else {