From 051325ccd79e62f0e76239d09684d16b26b67c67 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 8 Oct 2015 21:04:17 +0200 Subject: [PATCH] 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("---.--"));