diff --git a/Marlin/src/lcd/ultralcd_impl_DOGM.h b/Marlin/src/lcd/ultralcd_impl_DOGM.h index f4693f3a7e..b976a92bdb 100644 --- a/Marlin/src/lcd/ultralcd_impl_DOGM.h +++ b/Marlin/src/lcd/ultralcd_impl_DOGM.h @@ -654,9 +654,15 @@ static void lcd_implementation_status_screen() { strcpy(xstring, ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS]))); strcpy(ystring, ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS]))); strcpy(zstring, ftostr52sp(FIXFLOAT(LOGICAL_Z_POSITION(current_position[Z_AXIS])))); - #if ENABLED(FILAMENT_LCD_DISPLAY) && DISABLED(SDSUPPORT) + #if ENABLED(FILAMENT_LCD_DISPLAY) strcpy(wstring, ftostr12ns(filament_width_meas)); - strcpy(mstring, itostr3(100.0 * planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM])); + if (parser.volumetric_enabled) + strcpy(mstring, itostr3(100.0 * filament_width_meas / filament_width_nominal)); + else + strcpy_P(mstring, PSTR("---")); + // Alternatively, show the ratio between cross-sectional areas: + //strcpy(mstring, itostr3(100.0 / CIRCLE_AREA(filament_width_nominal * 0.5) + // / planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM])); #endif } @@ -712,7 +718,7 @@ static void lcd_implementation_status_screen() { // // Filament sensor display if SD is disabled // - #if DISABLED(SDSUPPORT) && ENABLED(FILAMENT_LCD_DISPLAY) + #if ENABLED(FILAMENT_LCD_DISPLAY) && DISABLED(SDSUPPORT) u8g.setPrintPos(56, 50); lcd_print(wstring); u8g.setPrintPos(102, 50); @@ -742,10 +748,10 @@ static void lcd_implementation_status_screen() { else { lcd_printPGM(PSTR(LCD_STR_FILAM_DIA)); u8g.print(':'); - lcd_print(ftostr12ns(filament_width_meas)); + lcd_print(wstring); lcd_printPGM(PSTR(" " LCD_STR_FILAM_MUL)); u8g.print(':'); - lcd_print(itostr3(100.0 * planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM])); + lcd_print(mstring); u8g.print('%'); } #else diff --git a/Marlin/src/lcd/ultralcd_impl_HD44780.h b/Marlin/src/lcd/ultralcd_impl_HD44780.h index 6464509a32..b7fa512760 100644 --- a/Marlin/src/lcd/ultralcd_impl_HD44780.h +++ b/Marlin/src/lcd/ultralcd_impl_HD44780.h @@ -860,8 +860,12 @@ static void lcd_implementation_status_screen() { lcd_printPGM(PSTR("Dia ")); lcd.print(ftostr12ns(filament_width_meas)); lcd_printPGM(PSTR(" V")); - lcd.print(itostr3(100.0 * planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM])); - lcd.write('%'); + if (parser.volumetric_enabled) { + lcd.print(itostr3(100.0 * filament_width_meas / filament_width_nominal)); + lcd.write('%'); + } + else + lcd_printPGM(PSTR("--- ")); return; } diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index 1ebcf554c4..2a238ec3b9 100644 --- a/Marlin/src/module/planner.h +++ b/Marlin/src/module/planner.h @@ -377,7 +377,7 @@ class Planner { * The target is cartesian, it's translated to delta/scara if * needed. * - * rtarget - x,y,z,e CARTESIAN target in mm + * cart - x,y,z,e CARTESIAN target in mm * fr_mm_s - (target) speed of the move (mm/s) * extruder - target extruder */ diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index cb781d588a..0f3e4114d4 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1002,13 +1002,12 @@ void Temperature::updateTemperaturesFromRawValues() { // Convert raw Filament Width to millimeters float Temperature::analog2widthFil() { return current_raw_filwidth * 5.0 * (1.0 / 16383.0); - //return current_raw_filwidth; } // Convert raw Filament Width to a ratio int Temperature::widthFil_to_size_ratio() { float temp = filament_width_meas; - if (temp < MEASURED_LOWER_LIMIT) temp = filament_width_nominal; //assume sensor cut out + if (temp < MEASURED_LOWER_LIMIT) temp = filament_width_nominal; // Assume a bad sensor reading else NOMORE(temp, MEASURED_UPPER_LIMIT); return filament_width_nominal / temp * 100; }