diff --git a/Firmware/messages.c b/Firmware/messages.c index 029cf0c6..faa5283d 100644 --- a/Firmware/messages.c +++ b/Firmware/messages.c @@ -78,6 +78,7 @@ const char MSG_SELFTEST_FAN_YES[] PROGMEM_I1 = ISTR("Spinning"); ////c=19 r=0 const char MSG_SELFTEST_CHECK_BED[] PROGMEM_I1 = ISTR("Checking bed "); ////c=20 r=0 const char MSG_SELFTEST_CHECK_FSENSOR[] PROGMEM_I1 = ISTR("Checking sensors "); ////c=20 r=0 const char MSG_SELFTEST_MOTOR[] PROGMEM_I1 = ISTR("Motor"); ////c=0 r=0 +const char MSG_SELFTEST_FILAMENT_SENSOR[] PROGMEM_I1 = ISTR("Filament sensor"); ////c=17 r=0 const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////c=0 r=0 const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////c=0 r=0 const char MSG_SILENT_MODE_OFF[] PROGMEM_I1 = ISTR("Mode [high power]"); ////c=0 r=0 diff --git a/Firmware/messages.h b/Firmware/messages.h index 5083b26d..752195e9 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -80,6 +80,7 @@ extern const char MSG_SELFTEST_FAN_YES[]; extern const char MSG_SELFTEST_CHECK_BED[]; extern const char MSG_SELFTEST_CHECK_FSENSOR[]; extern const char MSG_SELFTEST_MOTOR[]; +extern const char MSG_SELFTEST_FILAMENT_SENSOR[]; extern const char MSG_SELFTEST_WIRINGERROR[]; extern const char MSG_SETTINGS[]; extern const char MSG_SILENT_MODE_OFF[]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 1729ec58..f5c44db6 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -197,6 +197,7 @@ enum class TestError : uint_least8_t axis, swappedFan, wiringFsensor, + triggeringFsensor, }; static int lcd_selftest_screen(testScreen screen, int _progress, int _progress_scale, bool _clear, int _delay); @@ -7606,10 +7607,16 @@ static void lcd_selftest_error(TestError testError, const char *_error_1, const break; case TestError::wiringFsensor: lcd_set_cursor(0, 2); - lcd_puts_P(_i("Filament sensor"));////MSG_FILAMENT_SENSOR c=20 r=0 + lcd_puts_P(_T(MSG_SELFTEST_FILAMENT_SENSOR)); lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_WIRINGERROR)); break; + case TestError::triggeringFsensor: + lcd_set_cursor(0, 2); + lcd_puts_P(_T(MSG_SELFTEST_FILAMENT_SENSOR)); + lcd_set_cursor(0, 3); + lcd_puts_P(_i("False triggering"));////c=20 r=0 + break; } _delay(1000); @@ -7685,7 +7692,11 @@ static bool selftest_irsensor() mmu_load_step(false); while (blocks_queued()) { - if (PIN_GET(IR_SENSOR_PIN) == 0) return false; + if (PIN_GET(IR_SENSOR_PIN) == 0) + { + lcd_selftest_error(TestError::triggeringFsensor, "", ""); + return false; + } #ifdef TMC2130 manage_heater(); // Vojtech: Don't disable motors inside the planner! @@ -7941,7 +7952,8 @@ static int lcd_selftest_screen(testScreen screen, int _progress, int _progress_s } else if (screen >= testScreen::fsensor && screen <= testScreen::fsensorOk) { - lcd_puts_at_P(0, 2, _i("Filament sensor:"));////MSG_SELFTEST_FILAMENT_SENSOR c=18 r=0 + lcd_puts_at_P(0, 2, _T(MSG_SELFTEST_FILAMENT_SENSOR)); + lcd_putc(':'); lcd_set_cursor(18, 2); (screen == testScreen::fsensor) ? lcd_print(_indicator) : lcd_print("OK"); }