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 4e2cbf9ef5..00c3a774cd 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 810bfcff99..8722f237f4 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 0ba411cf8e..fbcba3e75a 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 b463ba75d5..2373217125 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 d985b15dbd..7e2ba0ed62 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 00c3a774cd..35a2de35b7 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 fbcba3e75a..583f3a8dd2 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 f2b5ba95e9..663bd76d38 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 b57ec08b0f..9eb698677f 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 7e2ba0ed62..e841389452 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 e841389452..d2a2120973 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 663bd76d38..23f155c834 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 35a2de35b7..63df2416b3 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 | 62 ++++++++++++++----- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index 583f3a8dd2..292bac781b 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'. - lcd.print('X'); - if (axis_homed[X_AXIS] || (blink & 1)) - lcd.print(ftostr4sign(current_position[X_AXIS])); - else - lcd_printPGM(PSTR(" ---")); + 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_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 9eb698677f..544df9d676 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 d2a2120973..b00ff067ec 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 ebb18a7930..45a1c31a93 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 d1b093ec84..f2bf070b49 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 2efa6e1982..f60843ab6a 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 e07e60c014..9f93be6b7f 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 453a7f8ed2..cc20b49f67 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 aa667c7402..9dc51da227 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 ac7bfcf7ff..5871d926c5 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 fbcb3f578e..c2c85d75f6 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 dd625d086f..659c67e15e 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 574f828af7..e1da000b37 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 c3431ab246..63fa374b0b 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 d8b61e5dfd..25b60fe269 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 eb29becca6..c8603745ef 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 88cbee0ec1..ddf26f8934 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 26db2c01c3..6755e91304 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 2f7af851b4..254f83a94f 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 d14f06d727..3fc652e3eb 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 a171c53bdb..c551401d42 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 b5b4236a34..6f4281374c 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 5d72ca7cd3..c6cd35aa42 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 2f24be9d68..44c6d5a44c 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 9d789973d9..1759e4e520 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 125f69321c..a7dc749d6a 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 824c6c9d7a..389df13515 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 70a8508e68..eb0c05a81a 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 317e93dea3..b9d8fcff64 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 d60bcaadb6..da6a390925 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 ffd058a754..f786fb0ffa 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 7b9fcf3df9..41193f200e 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 b00ff067ec..23021339d9 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 23f155c834..39145a388f 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 63df2416b3..3362fd5c44 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 45a1c31a93..bcad565fb9 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 f2bf070b49..eec67c6fb3 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 9f93be6b7f..5d9d7d85a3 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 9dc51da227..a0d7e29a23 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 c2c85d75f6..036d85a831 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 659c67e15e..120691ca17 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 63fa374b0b..2f6ee2bd7d 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 c8603745ef..2c3ea89e62 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 6755e91304..abf104aa09 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 3fc652e3eb..1dece92ee6 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 c551401d42..65d15d6d82 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 c6cd35aa42..0cc617d504 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 1759e4e520..6cef82a233 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 389df13515..45fbe292e3 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 b9d8fcff64..5111f96595 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 f786fb0ffa..f0103bf5fc 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 292bac781b..dcbb0b5926 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 3362fd5c44..d1e23614be 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 {