From e54497d80266ff818e6c08979cc53fee1a47b8e7 Mon Sep 17 00:00:00 2001 From: Renzo Date: Thu, 20 Jun 2019 00:09:55 +0200 Subject: [PATCH 1/3] added new function belt test under calibration menu --- Firmware/ultralcd.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++ Firmware/ultralcd.h | 1 + 2 files changed, 61 insertions(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 3b2be088a..46ae201c1 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -152,6 +152,7 @@ static void mmu_cut_filament_menu(); static void lcd_menu_fails_stats(); #endif //TMC2130 or FILAMENT_SENSOR +static void lcd_belttest_v(); static void lcd_selftest_v(); #ifdef TMC2130 @@ -5568,6 +5569,9 @@ static void lcd_calibration_menu() MENU_ITEM_FUNCTION_P(_i("Wizard"), lcd_wizard);////MSG_WIZARD c=17 r=1 MENU_ITEM_SUBMENU_P(_i("First layer cal."), lcd_v2_calibration);////MSG_V2_CALIBRATION c=17 r=1 MENU_ITEM_GCODE_P(_T(MSG_AUTO_HOME), PSTR("G28 W")); +#ifdef TMC2130 + MENU_ITEM_FUNCTION_P(_i("Belt test "), lcd_belttest_v);////MSG_BELTTEST +#endif //TMC2130 MENU_ITEM_FUNCTION_P(_i("Selftest "), lcd_selftest_v);////MSG_SELFTEST #ifdef MK1BP // MK1 @@ -6942,6 +6946,62 @@ void lcd_sdcard_menu() MENU_END(); } +static void lcd_belttest_v() +{ + lcd_belttest(); + menu_back_if_clicked(); +} +void lcd_belttest_print(const char* msg, uint16_t X, uint16_t Y) +{ + lcd_clear(); + lcd_printf_P( + _N( + ESC_H(0,0) + "%S:\n" + "%S\n" + "X:%d\n" + "Y:%d" + ), + _i("Belt status"), + msg, + X,Y + ); +} +void lcd_belttest() +{ + int _progress = 0; + bool _result = true; + uint16_t X = eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_X)); + uint16_t Y = eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y)); + lcd_belttest_print(_i("Checking X..."), X, Y); + + _delay(2000); + KEEPALIVE_STATE(IN_HANDLER); + + _result = lcd_selfcheck_axis_sg(X_AXIS); + X = eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_X)); + if (!_result){ + lcd_belttest_print(_i("Error"), X, Y); + return; + } + + lcd_belttest_print(_i("Checking Y..."), X, Y); + _result = lcd_selfcheck_axis_sg(Y_AXIS); + Y = eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y)); + + if (!_result){ + lcd_belttest_print(_i("Error"), X, Y); + lcd_clear(); + return; + } + + + lcd_belttest_print(_i("Done"), X, Y); + + KEEPALIVE_STATE(NOT_BUSY); + _delay(3000); +} + static void lcd_selftest_v() { (void)lcd_selftest(); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 665c1233f..ac3a017d8 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -50,6 +50,7 @@ unsigned char lcd_choose_color(); void lcd_load_filament_color_check(); //void lcd_mylang(); +extern void lcd_belttest(); extern bool lcd_selftest(); void lcd_menu_statistics(); From 9a904362e5a0da174786d556b8bc9795e07c7f4e Mon Sep 17 00:00:00 2001 From: Renzo Dani Date: Thu, 20 Jun 2019 10:17:48 +0200 Subject: [PATCH 2/3] code only for TMC2130 --- Firmware/ultralcd.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 46ae201c1..7dd8b0274 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -152,7 +152,10 @@ static void mmu_cut_filament_menu(); static void lcd_menu_fails_stats(); #endif //TMC2130 or FILAMENT_SENSOR +#ifdef TMC2130 static void lcd_belttest_v(); +#endif //TMC2130 + static void lcd_selftest_v(); #ifdef TMC2130 @@ -6945,7 +6948,7 @@ void lcd_sdcard_menu() } MENU_END(); } - +#ifdef TMC2130 static void lcd_belttest_v() { lcd_belttest(); @@ -7001,6 +7004,7 @@ void lcd_belttest() KEEPALIVE_STATE(NOT_BUSY); _delay(3000); } +#endif //TMC2130 static void lcd_selftest_v() { From 9e780f0b2b40a19a776bd218d891e99dbc80c39e Mon Sep 17 00:00:00 2001 From: DRracer Date: Fri, 15 Nov 2019 09:26:56 +0100 Subject: [PATCH 3/3] remove ESC sequence --- Firmware/ultralcd.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7dd8b0274..d2cb51a15 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6959,7 +6959,6 @@ void lcd_belttest_print(const char* msg, uint16_t X, uint16_t Y) lcd_clear(); lcd_printf_P( _N( - ESC_H(0,0) "%S:\n" "%S\n" "X:%d\n"