diff --git a/Firmware/mks_pic/bmp_Auto.bin b/Firmware/mks_pic/bmp_Auto.bin new file mode 100644 index 0000000000..eee6ac9c9f Binary files /dev/null and b/Firmware/mks_pic/bmp_Auto.bin differ diff --git a/Firmware/mks_pic/bmp_Leveling1.bin b/Firmware/mks_pic/bmp_Leveling1.bin new file mode 100644 index 0000000000..41bbe8da3f Binary files /dev/null and b/Firmware/mks_pic/bmp_Leveling1.bin differ diff --git a/Firmware/mks_pic/bmp_Leveling2.bin b/Firmware/mks_pic/bmp_Leveling2.bin new file mode 100644 index 0000000000..eaaa91dcb5 Binary files /dev/null and b/Firmware/mks_pic/bmp_Leveling2.bin differ diff --git a/Firmware/mks_pic/bmp_Leveling3.bin b/Firmware/mks_pic/bmp_Leveling3.bin new file mode 100644 index 0000000000..4b232d2b2c Binary files /dev/null and b/Firmware/mks_pic/bmp_Leveling3.bin differ diff --git a/Firmware/mks_pic/bmp_Leveling4.bin b/Firmware/mks_pic/bmp_Leveling4.bin new file mode 100644 index 0000000000..f6e7688802 Binary files /dev/null and b/Firmware/mks_pic/bmp_Leveling4.bin differ diff --git a/Firmware/mks_pic/bmp_Leveling5.bin b/Firmware/mks_pic/bmp_Leveling5.bin new file mode 100644 index 0000000000..a972241893 Binary files /dev/null and b/Firmware/mks_pic/bmp_Leveling5.bin differ diff --git a/Firmware/mks_pic/bmp_Mamual.bin b/Firmware/mks_pic/bmp_Mamual.bin new file mode 100644 index 0000000000..9795703821 Binary files /dev/null and b/Firmware/mks_pic/bmp_Mamual.bin differ diff --git "a/Firmware/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" "b/Firmware/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index a280d19029..894c0ef398 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1149,7 +1149,7 @@ * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. * By default the firmware assumes HIGH=FILAMENT PRESENT. */ -//#define FILAMENT_RUNOUT_SENSOR +#define FILAMENT_RUNOUT_SENSOR #if ENABLED(FILAMENT_RUNOUT_SENSOR) #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. #define FIL_RUNOUT_INVERTING false // Set to true to invert the logic of the sensor. @@ -1503,7 +1503,7 @@ * P1 Raise the nozzle always to Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. */ -//#define NOZZLE_PARK_FEATURE +#define NOZZLE_PARK_FEATURE #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z_raise } diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index eaf70bd35c..1282ae68fb 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1047,7 +1047,7 @@ //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files - #define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + #define EVENT_GCODE_SD_STOP "G28XY\nM84" // G-code to run on Stop Print (e.g., "G28XY" or "G27") #if ENABLED(PRINTER_EVENT_LEDS) #define PE_LEDS_COMPLETED_TIME (30*60) // (seconds) Time to keep the LED "done" color before restoring normal illumination @@ -1868,7 +1868,7 @@ * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ -//#define ADVANCED_PAUSE_FEATURE +#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. @@ -1906,7 +1906,7 @@ #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index d1db01068a..16e0383a24 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -60,7 +60,7 @@ #if ENABLED(TFT_LITTLE_VGL_UI) #include "lvgl.h" #include "lcd/extui/lib/mks_ui/inc/tft_lvgl_configuration.h" -#include "lcd/extui/lib/mks_ui/inc/draw_ready_print.h" +#include "lcd/extui/lib/mks_ui/inc/draw_ui.h" #if ENABLED(MKS_TEST) #include "lcd/extui/lib/mks_ui/inc/mks_hardware_test.h" #endif @@ -760,7 +760,11 @@ void kill(PGM_P const lcd_error/*=nullptr*/, PGM_P const lcd_component/*=nullptr SERIAL_ERROR_MSG(STR_ERR_KILLED); #if HAS_DISPLAY - ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR); + #if ENABLED(TFT_LITTLE_VGL_UI) + lv_draw_error_message(lcd_error); + #else + ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR); + #endif #else UNUSED(lcd_error); UNUSED(lcd_component); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h index f83f2732ec..b08ad0ad29 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h @@ -36,6 +36,18 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */ #define WIFI_ENABLE_TIPS 20 +#define DIALOG_PAUSE_MESSAGE_PAUSING 21 +#define DIALOG_PAUSE_MESSAGE_CHANGING 22 +#define DIALOG_PAUSE_MESSAGE_UNLOAD 23 +#define DIALOG_PAUSE_MESSAGE_WAITING 24 +#define DIALOG_PAUSE_MESSAGE_INSERT 25 +#define DIALOG_PAUSE_MESSAGE_LOAD 26 +#define DIALOG_PAUSE_MESSAGE_PURGE 27 +#define DIALOG_PAUSE_MESSAGE_RESUME 28 +#define DIALOG_PAUSE_MESSAGE_HEAT 29 +#define DIALOG_PAUSE_MESSAGE_HEATING 30 +#define DIALOG_PAUSE_MESSAGE_OPTION 31 + #define BTN_OK_X 100 #define BTN_OK_Y 180 #define BTN_CANCEL_X 280 diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_error_message.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_error_message.h new file mode 100644 index 0000000000..b1d95f9ca9 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_error_message.h @@ -0,0 +1,21 @@ +#ifndef _LV_DRAW_ERROR_MESSAGE_ +#define _LV_DRAW_ERROR_MESSAGE_ + + + + +#if defined(__cplusplus) +extern "C" { /* Make sure we have C-declarations in C++ programs */ +#endif + +extern void lv_draw_error_message(PGM_P const msg); +extern void lv_clear_error_message(); + + +//extern void disp_temp_ready_print(); +#if defined(__cplusplus) +} /* Make sure we have C-declarations in C++ programs */ +#endif + +#endif + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_manuaLevel.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_manuaLevel.h new file mode 100644 index 0000000000..818aca61d3 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_manuaLevel.h @@ -0,0 +1,20 @@ +#ifndef _LV_DRAW_MANUAL_LEVEL_ +#define _LV_DRAW_MANUAL_LEVEL_ + + + + +#if defined(__cplusplus) +extern "C" { /* Make sure we have C-declarations in C++ programs */ +#endif + +extern void lv_draw_manualLevel(void); +extern void lv_clear_manualLevel(); + +//extern void disp_temp_ready_print(); +#if defined(__cplusplus) +} /* Make sure we have C-declarations in C++ programs */ +#endif + +#endif + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_pause_message.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_pause_message.h new file mode 100644 index 0000000000..e8411977a2 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_pause_message.h @@ -0,0 +1,19 @@ +#ifndef _LV_DRAW_ERROR_MESSAGE_ +#define _LV_DRAW_ERROR_MESSAGE_ + + + + +#if defined(__cplusplus) +extern "C" { /* Make sure we have C-declarations in C++ programs */ +#endif + +extern void lv_draw_pause_message(const PauseMessage msg); + +//extern void disp_temp_ready_print(); +#if defined(__cplusplus) +} /* Make sure we have C-declarations in C++ programs */ +#endif + +#endif + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h index 349cfd76de..8ef18c2fdc 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h @@ -24,7 +24,8 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */ #include "../inc/draw_fan.h" #include "../inc/draw_about.h" #include "../inc/draw_change_speed.h" - +#include "../inc/draw_manuaLevel.h" +#include "../inc/draw_error_message.h" #define TFT35 @@ -75,6 +76,7 @@ typedef struct uint8_t language; uint8_t leveling_mode; uint8_t from_flash_pic; + uint8_t finish_power_off; uint32_t curFilesize; }CFG_ITMES; @@ -84,6 +86,7 @@ typedef struct uint8_t curTempType:1, curSprayerChoose:3, stepHeat:4; + uint8_t leveling_first_time:1; uint8_t extruStep; uint8_t extruSpeed; uint8_t stepPrintSpeed; @@ -156,7 +159,8 @@ typedef enum DOUBLE_Z_UI, ENABLE_INVERT_UI, NUMBER_KEY_UI, - BABY_STEP_UI + BABY_STEP_UI, + ERROR_MESSAGE_UI } DISP_STATE; typedef struct diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h index 087cfc17c0..f3df62dffc 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h @@ -681,4 +681,18 @@ #define PRINTING_OPERATION_OTHER_LANGUGE "Operation" #define PRINTING_PAUSE_OTHER_LANGUGE "Pause" +#define MESSEGE_PAUSING_EN "Parking..." +#define MESSEGE_CHANGING_EN "Wait for filament change to start" +#define MESSEGE_UNLOAD_EN "Wait for filament unload" +#define MESSEGE_WAITING_EN "Press Button to resume print" +#define MESSEGE_INSERT_EN "Insert filament and press button to continue" +#define MESSEGE_LOAD_EN "Wait for filament load" +#define MESSEGE_PURGE_EN "Wait for filament purge" +#define MESSEGE_RESUME_EN "Wait for print to resume..." +#define MESSEGE_HEAT_EN "Press button to heat nozzle" +#define MESSEGE_HEATING_EN "Nozzle heating Please wait..." +#define MESSEGE_OPTION_EN "Purge more or continue print?" +#define MESSEGE_PURGE_MORE_EN "Purge" +#define MESSEGE_CONTINUE_PRINT_EN "Print" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h index 1aff42a473..9a82f663b4 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h @@ -238,4 +238,19 @@ #define DIALOG_PRINT_TIME_FR "Temps d'impression: " #define DIALOG_REPRINT_FR "Print again" #define DIALOG_WIFI_ENABLE_TIPS_FR "The wifi module is being configured,\nplease wait a moment....." + + +#define MESSEGE_PAUSING_FR "Parking..." +#define MESSEGE_CHANGING_FR "Attente filament pour démarrer" +#define MESSEGE_UNLOAD_FR "Attente retrait du filament" +#define MESSEGE_WAITING_FR "Presser bouton,pour reprendre" +#define MESSEGE_INSERT_FR "Insérer filament et app. bouton pour continuer..." +#define MESSEGE_LOAD_FR "Attente chargement filament" +#define MESSEGE_PURGE_FR "Attente Purge filament" +#define MESSEGE_RESUME_FR "Attente reprise impression" +#define MESSEGE_HEAT_FR "Presser le bouton pour chauffer..." +#define MESSEGE_HEATING_FR "Buse en chauffe Patienter SVP..." +#define MESSEGE_OPTION_FR "Purger davantage ou continuer l'impression?" +#define MESSEGE_PURGE_MORE_FR "Purge" +#define MESSEGE_CONTINUE_PRINT_FR "Impression" #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h index 0e8b8b7693..9928218cb7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h @@ -234,4 +234,18 @@ #define DIALOG_PRINT_TIME_IT "Tempo di stampa: " #define DIALOG_REPRINT_IT "Print again" #define DIALOG_WIFI_ENABLE_TIPS_IT "The wifi module is being configured,\nplease wait a moment....." + +#define MESSEGE_PAUSING_IT "Parcheggiando..." +#define MESSEGE_CHANGING_IT "Attendere avvio del cambio di filamento" +#define MESSEGE_UNLOAD_IT "Attendere l'espulsione del filamento" +#define MESSEGE_WAITING_IT "Premi per riprendere la stampa" +#define MESSEGE_INSERT_IT "Inserisci il filamento e premi per continuare" +#define MESSEGE_LOAD_IT "Attendere il caricamento del filamento" +#define MESSEGE_PURGE_IT "Attendere lo spurgo del filamento" +#define MESSEGE_RESUME_IT "Attendere la ripresa della stampa..." +#define MESSEGE_HEAT_IT "Premi per riscaldare ugello" +#define MESSEGE_HEATING_IT "Riscaldam. ugello Attendere prego..." +#define MESSEGE_OPTION_IT "Eliminare di più o continuare a stampare?" +#define MESSEGE_PURGE_MORE_IT "Epurazione" +#define MESSEGE_CONTINUE_PRINT_IT "Stampa" #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h index e90e54c3d8..a83a06d6af 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h @@ -236,4 +236,18 @@ #define DIALOG_REPRINT_RU "Print again" #define DIALOG_WIFI_ENABLE_TIPS_RU "The wifi module is being configured,\nplease wait a moment....." +#define MESSEGE_PAUSING_RU "Стоянка..." +#define MESSEGE_CHANGING_RU "Подождите, пока начнется смена филамента" +#define MESSEGE_UNLOAD_RU "Дождитесь выгрузки нити" +#define MESSEGE_WAITING_RU "Нажмите кнопку,чтобы возобновить печать" +#define MESSEGE_INSERT_RU "Вставьте нить и нажмите кнопку,чтобы продолжить" +#define MESSEGE_LOAD_RU "Дождитесь загрузки нити" +#define MESSEGE_PURGE_RU "Дождитесь чистки нити" +#define MESSEGE_RESUME_RU "Подождите,пока печать возобновится ..." +#define MESSEGE_HEAT_RU "Нажмите кнопку, чтобы нагреть форсунку" +#define MESSEGE_HEATING_RU "Подогрев форсунки Пожалуйста, подождите ..." +#define MESSEGE_OPTION_RU "Очистить больше или продолжить печать?" +#define MESSEGE_PURGE_MORE_RU "чистка" +#define MESSEGE_CONTINUE_PRINT_RU "Распечатать" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h index b1ff4c3ab7..f0c333f770 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h @@ -231,4 +231,18 @@ #define PRINTING_OPERATION_GBK "操作" #define PRINTING_PAUSE_GBK "暂停" +#define MESSEGE_PAUSING_CN "暂停中..." +#define MESSEGE_CHANGING_CN "等待换料开始..." +#define MESSEGE_UNLOAD_CN "退料中,请稍等..." +#define MESSEGE_WAITING_CN "点击按钮恢复打印" +#define MESSEGE_INSERT_CN "装载耗材后,点击按钮开始打印" +#define MESSEGE_LOAD_CN "进料中,请稍等..." +#define MESSEGE_PURGE_CN "等待挤出..." +#define MESSEGE_RESUME_CN "等待恢复打印..." +#define MESSEGE_HEAT_CN "按下按钮,加热喷头" +#define MESSEGE_HEATING_CN "喷头加热中,请等待..." +#define MESSEGE_OPTION_CN "挤出更多还是继续打印?" +#define MESSEGE_PURGE_MORE_CN "挤出" +#define MESSEGE_CONTINUE_PRINT_CN "打印" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h index b5d0fce5e5..8e5302cd52 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h @@ -243,5 +243,18 @@ #define PRINTING_AJUSTES_SP "Ajustes" #define PRINTING_PAUSAR_SP "Pausar" +#define MESSEGE_PAUSING_SP "Aparcando..." +#define MESSEGE_CHANGING_SP "Esperando para iniciar el cambio de filamento" +#define MESSEGE_UNLOAD_SP "Espere para liberar el filamento" +#define MESSEGE_WAITING_SP "Pulsar el botón para reanudar impresión" +#define MESSEGE_INSERT_SP "Inserte el filamento y pulse el botón para continuar..." +#define MESSEGE_LOAD_SP "Espere para purgar el filamento" +#define MESSEGE_PURGE_SP "Espere para purgar el filamento" +#define MESSEGE_RESUME_SP "Esperando impresora para reanudar..." +#define MESSEGE_HEAT_SP "Pulse el botón para calentar la boquilla" +#define MESSEGE_HEATING_SP "Calentando boquilla Espere por favor..." +#define MESSEGE_OPTION_SP "¿Purgar más o continuar con la impresión?" +#define MESSEGE_PURGE_MORE_SP "Purga" +#define MESSEGE_CONTINUE_PRINT_SP "Impresión" #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h index cc08160a70..0d93c5ee97 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h @@ -230,4 +230,19 @@ #define TEXT_VALUE_T_CN "%d℃/%d℃" #define EXTRUDE_TEXT_VALUE_T_T_CN ": %d℃" #define WIFI_RECONNECT_TEXT_T_CN "重新連接" + +#define MESSEGE_PAUSING_T_CN "暫停中..." +#define MESSEGE_CHANGING_T_CN "等待換料開始..." +#define MESSEGE_UNLOAD_T_CN "退料中,請稍等..." +#define MESSEGE_WAITING_T_CN "點擊按鈕恢復打印" +#define MESSEGE_INSERT_T_CN "裝載耗材後,點擊按鈕開始打印" +#define MESSEGE_LOAD_T_CN "進料中,請稍等..." +#define MESSEGE_PURGE_T_CN "等待擠出..." +#define MESSEGE_RESUME_T_CN "等待恢復打印..." +#define MESSEGE_HEAT_T_CN "按下按鈕,加熱噴頭" +#define MESSEGE_HEATING_T_CN "噴頭加熱中,請等待..." +#define MESSEGE_OPTION_T_CN "擠出更多還是繼續打印" +#define MESSEGE_PURGE_MORE_T_CN "擠出" +#define MESSEGE_CONTINUE_PRINT_T_CN "打印" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h index 0fa920a78f..57b6390634 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h @@ -471,6 +471,24 @@ typedef struct TemperatureSettings_menu_disp }TemperatureSettings_menu_def; extern TemperatureSettings_menu_def TemperatureSettings_menu; +typedef struct pause_msg_disp +{ + const char *pausing; + const char *changing; + const char *unload; + const char *waiting; + const char *insert; + const char *load; + const char *purge; + const char *resume; + const char *heat; + const char *heating; + const char *option; + const char *purgeMore; + const char *continuePrint; +}pause_msg_def; +extern pause_msg_def pause_msg_menu; + /*****************************************/ //********************************************// //#if defined(TFT70) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp index b1fdf018e2..c914dfca90 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp @@ -11,7 +11,7 @@ #include "../../../../../module/temperature.h" static lv_obj_t * scr; -static lv_obj_t * firmWare,*board; +static lv_obj_t * fw_type,*board,*fw_version; #define ID_A_RETURN 1 @@ -84,14 +84,28 @@ void lv_draw_about(void) lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); } - firmWare = lv_label_create(scr, NULL); - lv_obj_set_style(firmWare, &tft_style_lable_rel); - lv_label_set_text(firmWare, "Firmware: Robin_Nano35"); - lv_obj_align(firmWare, NULL, LV_ALIGN_CENTER,0, -20); + fw_version = lv_label_create(scr, NULL); + lv_obj_set_style(fw_version, &tft_style_lable_rel); + lv_label_set_text(fw_version, "Version: V_2.0.5.3"); + lv_obj_align(fw_version, NULL, LV_ALIGN_CENTER,0, -60); + + fw_type = lv_label_create(scr, NULL); + lv_obj_set_style(fw_type, &tft_style_lable_rel); + #if (MOTHERBOARD == BOARD_MKS_ROBIN_PRO) + lv_label_set_text(fw_type, "Firmware: Robin_Pro35"); + #elif (MOTHERBOARD == BOARD_MKS_ROBIN_NANO) + lv_label_set_text(fw_type, "Firmware: Robin_Nano35"); + #endif + lv_obj_align(fw_type, NULL, LV_ALIGN_CENTER,0, -20); board = lv_label_create(scr, NULL); lv_obj_set_style(board, &tft_style_lable_rel); + #if (MOTHERBOARD == BOARD_MKS_ROBIN_PRO) + lv_label_set_text(board, "Board: MKS Robin pro"); + #elif (MOTHERBOARD == BOARD_MKS_ROBIN_NANO) lv_label_set_text(board, "Board: MKS Robin nano"); + #endif + lv_obj_align(board, NULL, LV_ALIGN_CENTER,0, 20); } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp index 91682d47ac..d68909e766 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp @@ -14,6 +14,9 @@ #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../../../feature/powerloss.h" #endif +#if ENABLED(PARK_HEAD_ON_PAUSE) +#include "../../../../../feature/pause.h" +#endif static lv_obj_t * scr; extern uint8_t sel_id; @@ -83,22 +86,23 @@ static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) lv_draw_ready_print(); #if ENABLED (SDSUPPORT) - card.endFilePrint(); - wait_for_heatup = false; + //card.endFilePrint(); + //wait_for_heatup = false; uiCfg.print_state = IDLE; - - queue.clear(); + card.flag.abort_sd_printing = true; + //queue.clear(); //quickstop_stepper(); //print_job_timer.stop(); - thermalManager.disable_all_heaters(); + //thermalManager.disable_all_heaters(); - #if ENABLED(POWER_LOSS_RECOVERY) - recovery.purge(); - #endif - queue.enqueue_one_now(PSTR("G91")); - queue.enqueue_one_now(PSTR("G1 Z10")); - queue.enqueue_one_now(PSTR("G90")); - queue.enqueue_one_now(PSTR("G28 X0 Y0")); + //#if ENABLED(POWER_LOSS_RECOVERY) + //recovery.purge(); + //#endif + //queue.enqueue_one_now(PSTR("G91")); + //queue.enqueue_one_now(PSTR("G1 Z10")); + //queue.enqueue_one_now(PSTR("G90")); + //queue.enqueue_one_now(PSTR("G28 X0 Y0")); + //queue.inject_P(PSTR("G91\nG1 Z10\nG90\nG28 X0 Y0\nM84\nM107")); #endif } else if(DialogType == DIALOG_TYPE_FINISH_PRINT) @@ -106,6 +110,23 @@ static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) clear_cur_ui(); lv_draw_ready_print(); } + #if ENABLED(ADVANCED_PAUSE_FEATURE) + else if(DialogType == DIALOG_PAUSE_MESSAGE_WAITING + ||DialogType == DIALOG_PAUSE_MESSAGE_INSERT + ||DialogType == DIALOG_PAUSE_MESSAGE_HEAT) + { + wait_for_user = false; + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE; + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_RESUME) + { + clear_cur_ui(); + draw_return_ui(); + } + #endif } } @@ -116,8 +137,17 @@ static void btn_cancel_event_cb(lv_obj_t * btn, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - clear_cur_ui(); - draw_return_ui(); + if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + #if ENABLED(ADVANCED_PAUSE_FEATURE) + pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT; + #endif + } + else + { + clear_cur_ui(); + draw_return_ui(); + } } } @@ -176,7 +206,7 @@ void lv_draw_dialog(uint8_t type) lv_obj_set_style(labelDialog, &tft_style_lable_rel); - if(DialogType == DIALOG_TYPE_FINISH_PRINT) + if(DialogType == DIALOG_TYPE_FINISH_PRINT || DialogType == DIALOG_PAUSE_MESSAGE_RESUME) { lv_obj_t * btnOk = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(btnOk, BTN_OK_X+90, BTN_OK_Y); /*Set its position*/ @@ -187,6 +217,29 @@ void lv_draw_dialog(uint8_t type) lv_obj_t * labelOk = lv_label_create(btnOk, NULL); /*Add a label to the button*/ lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_WAITING + ||DialogType == DIALOG_PAUSE_MESSAGE_INSERT + ||DialogType == DIALOG_PAUSE_MESSAGE_HEAT) + { + lv_obj_t * btnOk = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(btnOk, BTN_OK_X+90, BTN_OK_Y); /*Set its position*/ + lv_obj_set_size(btnOk, 100, 50); /*Set its size*/ + lv_obj_set_event_cb(btnOk, btn_ok_event_cb); + lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); /*Set the button's released style*/ + lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); /*Set the button's pressed style*/ + lv_obj_t * labelOk = lv_label_create(btnOk, NULL); /*Add a label to the button*/ + lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_PAUSING + ||DialogType == DIALOG_PAUSE_MESSAGE_CHANGING + ||DialogType == DIALOG_PAUSE_MESSAGE_UNLOAD + ||DialogType == DIALOG_PAUSE_MESSAGE_LOAD + ||DialogType == DIALOG_PAUSE_MESSAGE_PURGE + ||DialogType == DIALOG_PAUSE_MESSAGE_RESUME + ||DialogType == DIALOG_PAUSE_MESSAGE_HEATING) + { + } else { @@ -197,8 +250,7 @@ void lv_draw_dialog(uint8_t type) lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); /*Set the button's released style*/ lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); /*Set the button's pressed style*/ lv_obj_t * labelOk = lv_label_create(btnOk, NULL); /*Add a label to the button*/ - lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ - + lv_obj_t * btnCancel = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(btnCancel, BTN_CANCEL_X, BTN_CANCEL_Y); /*Set its position*/ lv_obj_set_size(btnCancel, 100, 50); /*Set its size*/ @@ -206,7 +258,17 @@ void lv_draw_dialog(uint8_t type) lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); /*Set the button's released style*/ lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); /*Set the button's pressed style*/ lv_obj_t * labelCancel = lv_label_create(btnCancel, NULL); /*Add a label to the button*/ - lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + + if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + lv_label_set_text(labelOk, pause_msg_menu.purgeMore); /*Set the labels text*/ + lv_label_set_text(labelCancel, pause_msg_menu.continuePrint); + } + else + { + lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ + lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + } } if(DialogType == DIALOG_TYPE_PRINT_FILE) { @@ -229,6 +291,61 @@ void lv_draw_dialog(uint8_t type) lv_label_set_text(labelDialog, print_file_dialog_menu.print_finish); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } + else if(DialogType == DIALOG_PAUSE_MESSAGE_PAUSING) + { + lv_label_set_text(labelDialog, pause_msg_menu.pausing); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_CHANGING) + { + lv_label_set_text(labelDialog, pause_msg_menu.changing); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_UNLOAD) + { + lv_label_set_text(labelDialog, pause_msg_menu.unload); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_WAITING) + { + lv_label_set_text(labelDialog, pause_msg_menu.waiting); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_INSERT) + { + lv_label_set_text(labelDialog, pause_msg_menu.insert); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_LOAD) + { + lv_label_set_text(labelDialog, pause_msg_menu.load); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_PURGE) + { + lv_label_set_text(labelDialog, pause_msg_menu.purge); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_RESUME) + { + lv_label_set_text(labelDialog, pause_msg_menu.resume); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_HEAT) + { + lv_label_set_text(labelDialog, pause_msg_menu.heat); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_HEATING) + { + lv_label_set_text(labelDialog, pause_msg_menu.heating); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + lv_label_set_text(labelDialog, pause_msg_menu.option); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_error_message.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_error_message.cpp new file mode 100644 index 0000000000..116682e4ed --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_error_message.cpp @@ -0,0 +1,67 @@ +#include "../../../../../MarlinCore.h" +#if ENABLED(TFT_LITTLE_VGL_UI) +#include "lv_conf.h" +//#include "../../lvgl/src/lv_objx/lv_imgbtn.h" +//#include "../../lvgl/src/lv_objx/lv_img.h" +//#include "../../lvgl/src/lv_core/lv_disp.h" +//#include "../../lvgl/src/lv_core/lv_refr.h" +//#include "../../MarlinCore.h" +#include "../../../../../../Configuration.h" +#include "../inc/tft_lvgl_configuration.h" +#include "../inc/mks_hardware_test.h" +#include "../inc/draw_ui.h" + +static lv_obj_t * scr; + +void lv_draw_error_message(PGM_P const msg) +{ + #if 0 + static lv_obj_t * message=NULL,*kill_message=NULL,*reset_tips=NULL; + if(disp_state_stack._disp_state[disp_state_stack._disp_index] != ERROR_MESSAGE_UI) + { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = ERROR_MESSAGE_UI; + } + disp_state = ERROR_MESSAGE_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + if(msg) + { + message = lv_label_create(scr, NULL); + lv_obj_set_style(message, &tft_style_lable_rel); + lv_label_set_text(message, msg); + lv_obj_align(message, NULL, LV_ALIGN_CENTER,0, -50); + } + + kill_message = lv_label_create(scr, NULL); + lv_obj_set_style(kill_message, &tft_style_lable_rel); + lv_label_set_text(kill_message, "PRINTER HALTED"); + lv_obj_align(kill_message, NULL, LV_ALIGN_CENTER,0, -10); + + reset_tips = lv_label_create(scr, NULL); + lv_obj_set_style(reset_tips, &tft_style_lable_rel); + lv_label_set_text(reset_tips, "Please Reset"); + lv_obj_align(reset_tips, NULL, LV_ALIGN_CENTER,0, 30); + + lv_task_handler(); + #endif + LCD_Clear(0x0000); + if(msg) + disp_string((TFT_WIDTH-strlen(msg)*16)/2,100,msg,0xffff,0x0000); + disp_string((TFT_WIDTH-strlen("PRINTER HALTED")*16)/2,140,"PRINTER HALTED",0xffff,0x0000); + disp_string((TFT_WIDTH-strlen("Please Reset")*16)/2,180,"Please Reset",0xffff,0x0000); + +} + +void lv_clear_error_message() +{ + lv_obj_del(scr); +} +#endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_manuaLevel.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_manuaLevel.cpp new file mode 100644 index 0000000000..bd49dda5a5 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_manuaLevel.cpp @@ -0,0 +1,284 @@ +#include "../../../../../MarlinCore.h" +#if ENABLED(TFT_LITTLE_VGL_UI) +#include "lv_conf.h" +//#include "../../lvgl/src/lv_objx/lv_imgbtn.h" +//#include "../../lvgl/src/lv_objx/lv_img.h" +//#include "../../lvgl/src/lv_core/lv_disp.h" +//#include "../../lvgl/src/lv_core/lv_refr.h" +#include "../inc/draw_ui.h" +#include "../../../../../gcode/queue.h" + +//static lv_obj_t *buttonMoveZ,*buttonTest,*buttonZ0,*buttonStop,*buttonReturn; +static lv_obj_t * scr; + +#define ID_M_POINT1 1 +#define ID_M_POINT2 2 +#define ID_M_POINT3 3 +#define ID_M_POINT4 4 +#define ID_M_POINT5 5 + +#define ID_MANUAL_RETURN 6 + +static void event_handler(lv_obj_t * obj, lv_event_t event) +{ + switch(obj->mks_obj_id) + { + case ID_M_POINT1: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MIN_POS+30, Y_MIN_POS+30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + break; + case ID_M_POINT2: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MAX_POS-30, Y_MIN_POS+30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + break; + case ID_M_POINT3: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MAX_POS-30, Y_MAX_POS-30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + + break; + case ID_M_POINT4: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MIN_POS+30, Y_MAX_POS-30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + break; + case ID_M_POINT5: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_BED_SIZE/2, Y_BED_SIZE/2); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + + break; + case ID_MANUAL_RETURN: + if(event == LV_EVENT_CLICKED) { + + } + else if(event == LV_EVENT_RELEASED) { + lv_clear_manualLevel(); + lv_draw_tool(); + } + break; + + } +} + + +void lv_draw_manualLevel(void) +{ + lv_obj_t *buttonPoint1,*buttonPoint2,*buttonPoint3,*buttonPoint4,*buttonPoint5; + lv_obj_t *buttonBack; + + if(disp_state_stack._disp_state[disp_state_stack._disp_index] != LEVELING_UI) + { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = LEVELING_UI; + } + disp_state = LEVELING_UI; + + scr = lv_obj_create(NULL, NULL); + + //static lv_style_t tool_style; + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_lable_rel); + lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); + lv_label_set_text(title, creat_title_text()); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + LV_IMG_DECLARE(bmp_pic); + + /*Create an Image button*/ + buttonPoint1 = lv_imgbtn_create(scr, NULL); + buttonPoint2 = lv_imgbtn_create(scr, NULL); + buttonPoint3 = lv_imgbtn_create(scr, NULL); + buttonPoint4 = lv_imgbtn_create(scr, NULL); + buttonPoint5 = lv_imgbtn_create(scr, NULL); + buttonBack = lv_imgbtn_create(scr, NULL); + + + lv_obj_set_event_cb_mks(buttonPoint1, event_handler,ID_M_POINT1,"bmp_Leveling1.bin",0); + lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint1, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint1, LV_BTN_STATE_REL, &tft_style_lable_rel); + lv_obj_clear_protect(buttonPoint1, LV_PROTECT_FOLLOW); + #if 1 + lv_obj_set_event_cb_mks(buttonPoint2, event_handler,ID_M_POINT2,"bmp_Leveling2.bin",0); + lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint2, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint2, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonPoint3, event_handler,ID_M_POINT3,"bmp_Leveling3.bin",0); + lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint3, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint3, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonPoint4, event_handler,ID_M_POINT4,"bmp_Leveling4.bin",0); + lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint4, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint4, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonPoint5, event_handler,ID_M_POINT5,"bmp_Leveling5.bin",0); + lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint5, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint5, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_MANUAL_RETURN,"bmp_Return.bin",0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_lable_rel); + + #endif + + lv_obj_set_pos(buttonPoint1,INTERVAL_V,titleHeight); + lv_obj_set_pos(buttonPoint2,BTN_X_PIXEL+INTERVAL_V*2,titleHeight); + lv_obj_set_pos(buttonPoint3,BTN_X_PIXEL*2+INTERVAL_V*3,titleHeight); + lv_obj_set_pos(buttonPoint4,BTN_X_PIXEL*3+INTERVAL_V*4,titleHeight); + lv_obj_set_pos(buttonPoint5,INTERVAL_V, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + + /*Create a label on the Image button*/ + lv_btn_set_layout(buttonPoint1, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint2, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint3, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint4, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint5, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + + lv_obj_t * label_Point1 = lv_label_create(buttonPoint1, NULL); + lv_obj_t * label_Point2 = lv_label_create(buttonPoint2, NULL); + lv_obj_t * label_Point3 = lv_label_create(buttonPoint3, NULL); + lv_obj_t * label_Point4 = lv_label_create(buttonPoint4, NULL); + lv_obj_t * label_Point5 = lv_label_create(buttonPoint5, NULL); + lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + + + if(gCfgItems.multiple_language !=0) + { + lv_label_set_text(label_Point1, leveling_menu.position1); + lv_obj_align(label_Point1, buttonPoint1, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point2, leveling_menu.position2); + lv_obj_align(label_Point2, buttonPoint2, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point3, leveling_menu.position3); + lv_obj_align(label_Point3, buttonPoint3, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point4, leveling_menu.position4); + lv_obj_align(label_Point4, buttonPoint4, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point5, leveling_menu.position5); + lv_obj_align(label_Point5, buttonPoint5, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + } +} + +void lv_clear_manualLevel() +{ + lv_obj_del(scr); +} +#endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp index 003dd08507..c92c97d3c5 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp @@ -32,11 +32,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 X%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_P(PSTR("G91")); + sprintf(public_buf_l, "G1 X%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G90")); + } } break; case ID_M_X_N: @@ -45,11 +48,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 X-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 X-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Y_P: @@ -58,11 +64,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Y%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Y%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Y_N: @@ -71,11 +80,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Y-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Y-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Z_P: @@ -83,11 +95,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Z%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Z%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Z_N: @@ -95,11 +110,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Z-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Z-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_STEP: diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp index d039386ff1..dd9b9e5bd2 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp @@ -17,6 +17,10 @@ static lv_obj_t * scr; #define ID_O_SPEED 5 #define ID_O_RETURN 6 #define ID_O_FAN 7 +#define ID_O_POWER_OFF 8 + +static lv_obj_t *label_PowerOff; +static lv_obj_t *buttonPowerOff; static void event_handler(lv_obj_t * obj, lv_event_t event) { @@ -89,6 +93,31 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) draw_return_ui(); } break; + case ID_O_POWER_OFF: + if(event == LV_EVENT_CLICKED) { + + } + else if(event == LV_EVENT_RELEASED) { + if(gCfgItems.finish_power_off == 1) + { + gCfgItems.finish_power_off = 0; + lv_obj_set_event_cb_mks(obj, event_handler,ID_O_POWER_OFF,"bmp_Mamual.bin",0); + lv_label_set_text(label_PowerOff, printing_more_menu.manual); + lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + lv_obj_refresh_ext_draw_pad(label_PowerOff); + update_spi_flash(); + } + else + { + gCfgItems.finish_power_off = 1; + lv_obj_set_event_cb_mks(obj, event_handler,ID_O_POWER_OFF,"bmp_Auto.bin",0); + lv_label_set_text(label_PowerOff, printing_more_menu.auto_close); + lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + lv_obj_refresh_ext_draw_pad(label_PowerOff); + update_spi_flash(); + } + } + break; } } @@ -130,10 +159,12 @@ void lv_draw_opration(void) buttonFan = lv_imgbtn_create(scr, NULL); buttonSpeed = lv_imgbtn_create(scr, NULL); + if(uiCfg.print_state != WORKING) //buttonFilament = lv_imgbtn_create(scr, NULL); //else buttonMove = lv_imgbtn_create(scr, NULL); + buttonPowerOff = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); @@ -178,6 +209,18 @@ void lv_draw_opration(void) lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_PR, &tft_style_lable_pre); lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_REL, &tft_style_lable_rel); } + if(gCfgItems.finish_power_off == 1) + { + lv_obj_set_event_cb_mks(buttonPowerOff, event_handler,ID_O_POWER_OFF,"bmp_Auto.bin",0); + } + else + { + lv_obj_set_event_cb_mks(buttonPowerOff, event_handler,ID_O_POWER_OFF,"bmp_Mamual.bin",0); + } + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_REL, &tft_style_lable_rel); lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_O_RETURN,"bmp_Return.bin",0); lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); @@ -202,6 +245,11 @@ void lv_draw_opration(void) else*/ { lv_obj_set_pos(buttonMove,INTERVAL_V,BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_obj_set_pos(buttonPowerOff,BTN_X_PIXEL+INTERVAL_V*2,BTN_Y_PIXEL+INTERVAL_H+titleHeight); + } + else + { + lv_obj_set_pos(buttonPowerOff,INTERVAL_V,BTN_Y_PIXEL+INTERVAL_H+titleHeight); } lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight); @@ -219,6 +267,7 @@ void lv_draw_opration(void) { lv_btn_set_layout(buttonMove, LV_LAYOUT_OFF); } + lv_btn_set_layout(buttonPowerOff, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); labelPreHeat = lv_label_create(buttonPreHeat, NULL); @@ -235,6 +284,7 @@ void lv_draw_opration(void) { label_Move = lv_label_create(buttonMove, NULL); } + label_PowerOff = lv_label_create(buttonPowerOff, NULL); label_Back = lv_label_create(buttonBack, NULL); @@ -263,6 +313,16 @@ void lv_draw_opration(void) lv_label_set_text(label_Move, operation_menu.move); lv_obj_align(label_Move, buttonMove, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); } + + if(gCfgItems.finish_power_off == 1) + { + lv_label_set_text(label_PowerOff, printing_more_menu.auto_close); + } + else + { + lv_label_set_text(label_PowerOff, printing_more_menu.manual); + } + lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_pause_message.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_pause_message.cpp new file mode 100644 index 0000000000..80c33e73b5 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_pause_message.cpp @@ -0,0 +1,36 @@ +#include "../../../../../MarlinCore.h" +#if ENABLED(TFT_LITTLE_VGL_UI) +#include "lv_conf.h" +//#include "../../lvgl/src/lv_objx/lv_imgbtn.h" +//#include "../../lvgl/src/lv_objx/lv_img.h" +//#include "../../lvgl/src/lv_core/lv_disp.h" +//#include "../../lvgl/src/lv_core/lv_refr.h" +//#include "../../MarlinCore.h" + +#include "../inc/draw_ui.h" +#if ENABLED(ADVANCED_PAUSE_FEATURE) +#include "../../../../../feature/pause.h" + + +void lv_draw_pause_message(const PauseMessage msg) +{ + switch (msg) { + case PAUSE_MESSAGE_PAUSING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_PAUSING);break; + case PAUSE_MESSAGE_CHANGING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_CHANGING);break; + case PAUSE_MESSAGE_UNLOAD: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_UNLOAD);break; + case PAUSE_MESSAGE_WAITING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_WAITING);break; + case PAUSE_MESSAGE_INSERT: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_INSERT);break; + case PAUSE_MESSAGE_LOAD: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_LOAD);break; + case PAUSE_MESSAGE_PURGE: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_PURGE);break; + case PAUSE_MESSAGE_RESUME: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_RESUME);break; + case PAUSE_MESSAGE_HEAT: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_HEAT);break; + case PAUSE_MESSAGE_HEATING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_HEATING);break; + case PAUSE_MESSAGE_OPTION: pause_menu_response = PAUSE_RESPONSE_WAIT_FOR; + clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_OPTION);break; + case PAUSE_MESSAGE_STATUS: + default: break; + } +} +#endif + +#endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp index 6e174ec503..6a69a961c5 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp @@ -52,8 +52,13 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { if(uiCfg.print_state == WORKING) { + #if ENABLED(PARK_HEAD_ON_PAUSE) + queue.inject_P(PSTR("M25 P\nM24")); + #elif ENABLED(SDSUPPORT) + queue.inject_P(PSTR("M25")); uiCfg.print_state = PAUSED; - queue.inject_P(PSTR("M25")); + #endif + lv_obj_set_event_cb_mks(buttonPause, event_handler,ID_PAUSE,"bmp_Pause.bin",0); lv_label_set_text(labelPause, printing_menu.resume); lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER,30, 0); @@ -61,10 +66,15 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) else if(uiCfg.print_state == PAUSED) { uiCfg.print_state = WORKING; - queue.inject_P(PSTR("M24")); + + #if ENABLED(PARK_HEAD_ON_PAUSE) + wait_for_heatup = wait_for_user = false; + #endif + if (IS_SD_PAUSED())queue.inject_P(PSTR("M24"));// queue.inject_P(M24_STR); + lv_obj_set_event_cb_mks(obj, event_handler,ID_PAUSE,"bmp_Resume.bin",0); lv_label_set_text(labelPause, printing_menu.pause); - lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER,30, 0); + lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER,30, 0); } #if ENABLED(POWER_LOSS_RECOVERY) else if(uiCfg.print_state == REPRINTED) @@ -413,7 +423,7 @@ void setProBarRate() { lv_bar_set_value(bar1, rate, LV_ANIM_ON); - if(/*(mksReprint.mks_printer_state == MKS_IDLE) &&*/ (rate == 100) ) + if(marlin_state == MF_SD_COMPLETE) { if(once_flag == 0) { @@ -425,6 +435,11 @@ void setProBarRate() lv_draw_dialog(DIALOG_TYPE_FINISH_PRINT); once_flag = 1; + + #if HAS_SUICIDE + if(gCfgItems.finish_power_off == 1) + suicide(); + #endif } } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp index ee1e5bc59a..1879ba5b41 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp @@ -59,7 +59,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { + #if HAS_SUICIDE + suicide(); + #else queue.enqueue_one_now(PSTR("M84")); + #endif } break; case ID_S_LANGUAGE: @@ -148,8 +152,11 @@ void lv_draw_set(void) //lv_imgbtn_set_src(buttonContinue, LV_BTN_STATE_PR, &bmp_pic); //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_PR, &tft_style_lable_pre); //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_REL, &tft_style_lable_rel); - - lv_obj_set_event_cb_mks(buMotorOff, event_handler,ID_S_MOTOR_OFF,"bmp_Motor_off.bin",0); + #if HAS_SUICIDE + lv_obj_set_event_cb_mks(buMotorOff, event_handler,ID_S_MOTOR_OFF,"bmp_Mamual.bin",0); + #else + lv_obj_set_event_cb_mks(buMotorOff, event_handler,ID_S_MOTOR_OFF,"bmp_Motor_off.bin",0); + #endif lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_REL, &bmp_pic); lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_PR, &bmp_pic); lv_imgbtn_set_style(buMotorOff, LV_BTN_STATE_PR, &tft_style_lable_pre); @@ -216,8 +223,11 @@ void lv_draw_set(void) //lv_label_set_text(label_Continue, set_menu.breakpoint); //lv_obj_align(label_Continue, buttonContinue, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); - - lv_label_set_text(label_MotorOff, set_menu.motoroff); + #if HAS_SUICIDE + lv_label_set_text(label_MotorOff, set_menu.shutdown); + #else + lv_label_set_text(label_MotorOff, set_menu.motoroff); + #endif lv_obj_align(label_MotorOff, buMotorOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); lv_label_set_text(label_Language, set_menu.language); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp index 9455e32d7e..a30cdcc7bc 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp @@ -68,6 +68,20 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } break; case ID_T_LEVELING: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + queue.enqueue_one_P(PSTR("G28")); + queue.enqueue_one_P(PSTR("G29")); + #else + uiCfg.leveling_first_time = 1; + lv_clear_tool(); + lv_draw_manualLevel(); + #endif + } break; case ID_T_FILAMENT: @@ -95,7 +109,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) void lv_draw_tool(void) { - lv_obj_t *buttonPreHeat,*buttonExtrusion,*buttonMove,*buttonHome; + lv_obj_t *buttonPreHeat,*buttonExtrusion,*buttonMove,*buttonHome,*buttonLevel; lv_obj_t *buttonBack; if(disp_state_stack._disp_state[disp_state_stack._disp_index] != TOOL_UI) @@ -127,7 +141,7 @@ void lv_draw_tool(void) buttonExtrusion = lv_imgbtn_create(scr, NULL); buttonMove = lv_imgbtn_create(scr, NULL); buttonHome = lv_imgbtn_create(scr, NULL); - //buttonLevel = lv_imgbtn_create(scr, NULL); + buttonLevel = lv_imgbtn_create(scr, NULL); //buttonFilament = lv_imgbtn_create(scr, NULL); //buttonMore = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); @@ -158,11 +172,11 @@ void lv_draw_tool(void) lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_PR, &tft_style_lable_pre); lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_REL, &tft_style_lable_rel); - //lv_obj_set_event_cb_mks(buttonLevel, event_handler,ID_T_LEVELING,"bmp_Leveling.bin",0); - //lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_PR, &tft_style_lable_pre); - //lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_REL, &tft_style_lable_rel); + lv_obj_set_event_cb_mks(buttonLevel, event_handler,ID_T_LEVELING,"bmp_Leveling.bin",0); + lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_REL, &tft_style_lable_rel); //lv_obj_set_event_cb_mks(buttonFilament, event_handler,ID_T_FILAMENT,"bmp_Filamentchange.bin",0); //lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_REL, &bmp_pic); @@ -188,7 +202,7 @@ void lv_draw_tool(void) lv_obj_set_pos(buttonExtrusion,BTN_X_PIXEL+INTERVAL_V*2,titleHeight); lv_obj_set_pos(buttonMove,BTN_X_PIXEL*2+INTERVAL_V*3,titleHeight); lv_obj_set_pos(buttonHome,BTN_X_PIXEL*3+INTERVAL_V*4,titleHeight); - //lv_obj_set_pos(buttonLevel,INTERVAL_V, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_obj_set_pos(buttonLevel,INTERVAL_V, BTN_Y_PIXEL+INTERVAL_H+titleHeight); //lv_obj_set_pos(buttonFilament,BTN_X_PIXEL+INTERVAL_V*2,BTN_Y_PIXEL+INTERVAL_H+titleHeight); //lv_obj_set_pos(buttonMore,BTN_X_PIXEL*2+INTERVAL_V*3, BTN_Y_PIXEL+INTERVAL_H+titleHeight); lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight); @@ -198,7 +212,7 @@ void lv_draw_tool(void) lv_btn_set_layout(buttonExtrusion, LV_LAYOUT_OFF); lv_btn_set_layout(buttonMove, LV_LAYOUT_OFF); lv_btn_set_layout(buttonHome, LV_LAYOUT_OFF); - //lv_btn_set_layout(buttonLevel, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonLevel, LV_LAYOUT_OFF); //lv_btn_set_layout(buttonFilament, LV_LAYOUT_OFF); //lv_btn_set_layout(buttonMore, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); @@ -207,7 +221,7 @@ void lv_draw_tool(void) lv_obj_t * labelExtrusion = lv_label_create(buttonExtrusion, NULL); lv_obj_t * label_Move = lv_label_create(buttonMove, NULL); lv_obj_t * label_Home = lv_label_create(buttonHome, NULL); - //lv_obj_t * label_Level = lv_label_create(buttonLevel, NULL); + lv_obj_t * label_Level = lv_label_create(buttonLevel, NULL); //lv_obj_t * label_Filament = lv_label_create(buttonFilament, NULL); //lv_obj_t * label_More = lv_label_create(buttonMore, NULL); lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); @@ -236,6 +250,12 @@ void lv_draw_tool(void) lv_obj_align(label_Level, buttonLevel, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); }*/ + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + lv_label_set_text(label_Level, tool_menu.autoleveling); + #else + lv_label_set_text(label_Level, tool_menu.leveling); + #endif + lv_obj_align(label_Level, buttonLevel, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); //lv_label_set_text(label_Filament, tool_menu.filament); //lv_obj_align(label_Filament, buttonFilament, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp index 789c4cba6b..3ac43af520 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp @@ -10,6 +10,9 @@ #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../../../feature/powerloss.h" #endif +#if ENABLED(PARK_HEAD_ON_PAUSE) +#include "../../../../../feature/pause.h" +#endif CFG_ITMES gCfgItems; UI_CFG uiCfg; @@ -41,6 +44,7 @@ void gCfgItems_init() gCfgItems.leveling_mode = 0; gCfgItems.from_flash_pic = 0; gCfgItems.curFilesize = 0; + gCfgItems.finish_power_off = 0; W25QXX.SPI_FLASH_BufferRead((uint8_t *)&gCfgItems.spi_flash_flag,VAR_INF_ADDR,sizeof(gCfgItems.spi_flash_flag)); if(gCfgItems.spi_flash_flag == GCFG_FLAG_VALUE) @@ -67,6 +71,7 @@ void ui_cfg_init() uiCfg.curTempType = 0; uiCfg.curSprayerChoose = 0; uiCfg.stepHeat = 10; + uiCfg.leveling_first_time = 0; uiCfg.extruStep = 5; uiCfg.extruSpeed = 10; uiCfg.move_dist = 1; @@ -700,7 +705,7 @@ void GUI_RefreshPage() disp_print_time(); disp_fan_Zpos(); } - if(printing_rate_update_flag) + if(printing_rate_update_flag || marlin_state == MF_SD_COMPLETE) { printing_rate_update_flag = 0; if(gcode_preview_over == 0) @@ -961,7 +966,7 @@ void clear_cur_ui() //Clear_Printmore(); break; case LEVELING_UI: - //Clear_Leveling();//** + lv_clear_manualLevel(); break; case BIND_UI: //Clear_Bind(); @@ -1179,7 +1184,7 @@ void draw_return_ui() //draw_FilamentChange(); break; case LEVELING_UI: - //draw_leveling(); + lv_draw_manualLevel(); break; case BIND_UI: diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp index 9361716e27..5299ae9770 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp @@ -459,8 +459,14 @@ void tft_lvgl_init() else default_preview_flg = 1; uiCfg.print_state = REPRINTED; - strncpy(list_file.long_name[sel_id],recovery.info.sd_filename,sizeof(list_file.long_name[sel_id])); - lv_draw_printing(); + + memset(public_buf_m,0,sizeof(public_buf_m)); + strncpy(public_buf_m,recovery.info.sd_filename,sizeof(public_buf_m)); + card.printLongPath(public_buf_m); + + strncpy(list_file.long_name[sel_id],card.longFilename,sizeof(list_file.long_name[sel_id])); + + lv_draw_printing(); } else #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp index 22d1146cae..b08f680610 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp @@ -36,6 +36,7 @@ tool_menu_def tool_menu; MachinePara_menu_def MachinePara_menu; MachineSettings_menu_def MachineSettings_menu; TemperatureSettings_menu_def TemperatureSettings_menu; +pause_msg_def pause_msg_menu; void disp_language_init() { @@ -221,6 +222,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_CN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_CN; set_menu.language=LANGUAGE_TEXT_CN; + set_menu.shutdown=SHUTDOWN_TEXT_CN; //set_menu.machine_para = MACHINE_PARA_CN; // @@ -345,6 +347,21 @@ void disp_language_init() zoffset_menu.title = TITLE_ZOFFSET_CN; zoffset_menu.inc = ZOFFSET_INC_CN; zoffset_menu.dec = ZOFFSET_DEC_CN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_CN; + pause_msg_menu.changing = MESSEGE_CHANGING_CN; + pause_msg_menu.unload = MESSEGE_UNLOAD_CN; + pause_msg_menu.waiting = MESSEGE_WAITING_CN; + pause_msg_menu.insert = MESSEGE_INSERT_CN; + pause_msg_menu.load = MESSEGE_LOAD_CN; + pause_msg_menu.purge = MESSEGE_PURGE_CN; + pause_msg_menu.resume = MESSEGE_RESUME_CN; + pause_msg_menu.heat = MESSEGE_HEAT_CN; + pause_msg_menu.heating = MESSEGE_HEATING_CN; + pause_msg_menu.option = MESSEGE_OPTION_CN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_CN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_CN; + break; #if 1 #if 1 @@ -434,6 +451,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_T_CN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_T_CN; set_menu.language=LANGUAGE_TEXT_T_CN; + set_menu.shutdown=SHUTDOWN_TEXT_T_CN; //set_menu.machine_para = MACHINE_PARA_T_CN; // filesys_menu.title = TITLE_FILESYS_T_CN; @@ -553,7 +571,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_T_CN; zoffset_menu.inc = ZOFFSET_INC_T_CN; - zoffset_menu.dec = ZOFFSET_DEC_T_CN; + zoffset_menu.dec = ZOFFSET_DEC_T_CN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_T_CN; + pause_msg_menu.changing = MESSEGE_CHANGING_T_CN; + pause_msg_menu.unload = MESSEGE_UNLOAD_T_CN; + pause_msg_menu.waiting = MESSEGE_WAITING_T_CN; + pause_msg_menu.insert = MESSEGE_INSERT_T_CN; + pause_msg_menu.load = MESSEGE_LOAD_T_CN; + pause_msg_menu.purge = MESSEGE_PURGE_T_CN; + pause_msg_menu.resume = MESSEGE_RESUME_T_CN; + pause_msg_menu.heat = MESSEGE_HEAT_T_CN; + pause_msg_menu.heating = MESSEGE_HEATING_T_CN; + pause_msg_menu.option = MESSEGE_OPTION_T_CN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_T_CN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_T_CN; break; case LANG_ENGLISH: common_menu.dialog_confirm_title = TITLE_DIALOG_CONFIRM_EN; @@ -635,6 +667,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_EN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_EN; set_menu.language=LANGUAGE_TEXT_EN; + set_menu.shutdown=SHUTDOWN_TEXT_EN; //set_menu.machine_para = MACHINE_PARA_EN; // more_menu.title = TITLE_MORE_EN; @@ -751,7 +784,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_EN; zoffset_menu.inc = ZOFFSET_INC_EN; - zoffset_menu.dec = ZOFFSET_DEC_EN; + zoffset_menu.dec = ZOFFSET_DEC_EN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_EN; + pause_msg_menu.changing = MESSEGE_CHANGING_EN; + pause_msg_menu.unload = MESSEGE_UNLOAD_EN; + pause_msg_menu.waiting = MESSEGE_WAITING_EN; + pause_msg_menu.insert = MESSEGE_INSERT_EN; + pause_msg_menu.load = MESSEGE_LOAD_EN; + pause_msg_menu.purge = MESSEGE_PURGE_EN; + pause_msg_menu.resume = MESSEGE_RESUME_EN; + pause_msg_menu.heat = MESSEGE_HEAT_EN; + pause_msg_menu.heating = MESSEGE_HEATING_EN; + pause_msg_menu.option = MESSEGE_OPTION_EN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_EN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_EN; break; case LANG_RUSSIAN: common_menu.dialog_confirm_title = TITLE_DIALOG_CONFIRM_RU; @@ -833,6 +880,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_RU; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_RU; set_menu.language=LANGUAGE_TEXT_RU; + set_menu.shutdown=SHUTDOWN_TEXT_RU; // more_menu.title = TITLE_MORE_RU; more_menu.zoffset = ZOFFSET_RU; @@ -948,7 +996,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_RU; zoffset_menu.inc = ZOFFSET_INC_RU; - zoffset_menu.dec = ZOFFSET_DEC_RU; + zoffset_menu.dec = ZOFFSET_DEC_RU; + + pause_msg_menu.pausing = MESSEGE_PAUSING_RU; + pause_msg_menu.changing = MESSEGE_CHANGING_RU; + pause_msg_menu.unload = MESSEGE_UNLOAD_RU; + pause_msg_menu.waiting = MESSEGE_WAITING_RU; + pause_msg_menu.insert = MESSEGE_INSERT_RU; + pause_msg_menu.load = MESSEGE_LOAD_RU; + pause_msg_menu.purge = MESSEGE_PURGE_RU; + pause_msg_menu.resume = MESSEGE_RESUME_RU; + pause_msg_menu.heat = MESSEGE_HEAT_RU; + pause_msg_menu.heating = MESSEGE_HEATING_RU; + pause_msg_menu.option = MESSEGE_OPTION_RU; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_RU; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_RU; break; case LANG_SPANISH: common_menu.dialog_confirm_title = TITLE_DIALOG_CONFIRM_SP; @@ -1034,6 +1096,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_SP; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_SP; set_menu.language=LANGUAGE_TEXT_SP; + set_menu.shutdown=SHUTDOWN_TEXT_SP; // more_menu.title = TITLE_MORE_SP; more_menu.zoffset = ZOFFSET_SP; @@ -1150,7 +1213,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_SP; zoffset_menu.inc = ZOFFSET_INC_SP; - zoffset_menu.dec = ZOFFSET_DEC_SP; + zoffset_menu.dec = ZOFFSET_DEC_SP; + + pause_msg_menu.pausing = MESSEGE_PAUSING_SP; + pause_msg_menu.changing = MESSEGE_CHANGING_SP; + pause_msg_menu.unload = MESSEGE_UNLOAD_SP; + pause_msg_menu.waiting = MESSEGE_WAITING_SP; + pause_msg_menu.insert = MESSEGE_INSERT_SP; + pause_msg_menu.load = MESSEGE_LOAD_SP; + pause_msg_menu.purge = MESSEGE_PURGE_SP; + pause_msg_menu.resume = MESSEGE_RESUME_SP; + pause_msg_menu.heat = MESSEGE_HEAT_SP; + pause_msg_menu.heating = MESSEGE_HEATING_SP; + pause_msg_menu.option = MESSEGE_OPTION_SP; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_SP; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_SP; break; #endif @@ -1232,6 +1309,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_FR; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_FR; set_menu.language=LANGUAGE_TEXT_FR; + set_menu.shutdown=SHUTDOWN_TEXT_FR; // more_menu.title = TITLE_MORE_FR; more_menu.zoffset = ZOFFSET_FR; @@ -1349,7 +1427,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_FR; zoffset_menu.inc = ZOFFSET_INC_FR; - zoffset_menu.dec = ZOFFSET_DEC_FR; + zoffset_menu.dec = ZOFFSET_DEC_FR; + + pause_msg_menu.pausing = MESSEGE_PAUSING_FR; + pause_msg_menu.changing = MESSEGE_CHANGING_FR; + pause_msg_menu.unload = MESSEGE_UNLOAD_FR; + pause_msg_menu.waiting = MESSEGE_WAITING_FR; + pause_msg_menu.insert = MESSEGE_INSERT_FR; + pause_msg_menu.load = MESSEGE_LOAD_FR; + pause_msg_menu.purge = MESSEGE_PURGE_FR; + pause_msg_menu.resume = MESSEGE_RESUME_FR; + pause_msg_menu.heat = MESSEGE_HEAT_FR; + pause_msg_menu.heating = MESSEGE_HEATING_FR; + pause_msg_menu.option = MESSEGE_OPTION_FR; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_FR; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_FR; break; case LANG_ITALY: @@ -1433,6 +1525,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_IT; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_IT; set_menu.language=LANGUAGE_TEXT_IT; + set_menu.shutdown=SHUTDOWN_TEXT_IT; // more_menu.title = TITLE_MORE_IT; more_menu.zoffset = ZOFFSET_IT; @@ -1547,7 +1640,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_IT; zoffset_menu.inc = ZOFFSET_INC_IT; - zoffset_menu.dec = ZOFFSET_DEC_IT; + zoffset_menu.dec = ZOFFSET_DEC_IT; + + pause_msg_menu.pausing = MESSEGE_PAUSING_IT; + pause_msg_menu.changing = MESSEGE_CHANGING_IT; + pause_msg_menu.unload = MESSEGE_UNLOAD_IT; + pause_msg_menu.waiting = MESSEGE_WAITING_IT; + pause_msg_menu.insert = MESSEGE_INSERT_IT; + pause_msg_menu.load = MESSEGE_LOAD_IT; + pause_msg_menu.purge = MESSEGE_PURGE_IT; + pause_msg_menu.resume = MESSEGE_RESUME_IT; + pause_msg_menu.heat = MESSEGE_HEAT_IT; + pause_msg_menu.heating = MESSEGE_HEATING_IT; + pause_msg_menu.option = MESSEGE_OPTION_IT; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_IT; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_IT; break; #endif @@ -1631,6 +1738,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_EN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_EN; set_menu.language=LANGUAGE_TEXT_EN; + set_menu.shutdown=SHUTDOWN_TEXT_EN; //set_menu.machine_para = MACHINE_PARA_EN; // more_menu.title = TITLE_MORE_EN; @@ -1748,6 +1856,20 @@ void disp_language_init() zoffset_menu.title = TITLE_ZOFFSET_EN; zoffset_menu.inc = ZOFFSET_INC_EN; zoffset_menu.dec = ZOFFSET_DEC_EN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_EN; + pause_msg_menu.changing = MESSEGE_CHANGING_EN; + pause_msg_menu.unload = MESSEGE_UNLOAD_EN; + pause_msg_menu.waiting = MESSEGE_WAITING_EN; + pause_msg_menu.insert = MESSEGE_INSERT_EN; + pause_msg_menu.load = MESSEGE_LOAD_EN; + pause_msg_menu.purge = MESSEGE_PURGE_EN; + pause_msg_menu.resume = MESSEGE_RESUME_EN; + pause_msg_menu.heat = MESSEGE_HEAT_EN; + pause_msg_menu.heating = MESSEGE_HEATING_EN; + pause_msg_menu.option = MESSEGE_OPTION_EN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_EN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_EN; break; } } diff --git a/Marlin/src/lcd/menu/menu_filament.cpp b/Marlin/src/lcd/menu/menu_filament.cpp index 0c8f1f61c8..49f7133966 100644 --- a/Marlin/src/lcd/menu/menu_filament.cpp +++ b/Marlin/src/lcd/menu/menu_filament.cpp @@ -299,6 +299,19 @@ FORCE_INLINE screenFunc_t ap_message_screen(const PauseMessage message) { return nullptr; } +#if ENABLED(TFT_LITTLE_VGL_UI) +extern void lv_draw_pause_message(const PauseMessage msg); + +void lcd_pause_show_message( + const PauseMessage message, + const PauseMode mode/*=PAUSE_MODE_SAME*/, + const uint8_t extruder/*=active_extruder*/ +) { + if (mode != PAUSE_MODE_SAME) pause_mode = mode; + hotend_status_extruder = extruder; + lv_draw_pause_message(message); +} +#else void lcd_pause_show_message( const PauseMessage message, const PauseMode mode/*=PAUSE_MODE_SAME*/, @@ -315,4 +328,6 @@ void lcd_pause_show_message( ui.return_to_status(); } +#endif + #endif // HAS_LCD_MENU && ADVANCED_PAUSE_FEATURE diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 39df2ae87a..7b3d8af5a6 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -110,11 +110,15 @@ // // Misc. Functions // -//#define POWER_LOSS_PIN PA2 // PW_DET -//#define PS_ON_PIN PA3 // PW_OFF -//#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define POWER_LOSS_PIN PA2 // PW_DET +//#define PS_ON_PIN PA3 // PW_OFF + +//#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define SUICIDE_PIN_INVERTING false + +//#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY + //#define SERVO0_PIN PA8 // Enable BLTOUCH support ROBIN NANO v1.2 ONLY //#define LED_PIN PB2 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 15af894e3e..288b3d3068 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -192,9 +192,17 @@ //#define MAX6675_SS_PIN PE5 // TC1 - CS1 //#define MAX6675_SS_PIN PF11 // TC2 - CS2 -//#define POWER_LOSS_PIN PA2 // PW_DET -//#define PS_ON_PIN PG11 // PW_OFF -//#define FIL_RUNOUT_PIN PA4 // MT_DET1 +//#define POWER_LOSS_PIN PA2 // PW_DET +//#define PS_ON_PIN PG11 // PW_OFF + +//MKS_PWC +//#define KILL_PIN PA2 // MKS_PWC PW_DET +//#define KILL_PIN_INVERTING true +//#define SUICIDE_PIN PG11 // MKS_PWC PW_OFF +//#define SUICIDE_PIN_INVERTING false + + +#define FIL_RUNOUT_PIN PA4 // MT_DET1 //#define FIL_RUNOUT_PIN PE6 // MT_DET2 //#define FIL_RUNOUT_PIN PG14 // MT_DET3