Add MKS Robin E3P, improve LVGL UI (#19442)

This commit is contained in:
makerbase
2020-09-21 09:55:02 +08:00
committed by GitHub
parent 77b06dce0c
commit d8ed749045
94 changed files with 12687 additions and 2984 deletions

View File

@@ -55,7 +55,8 @@ DISP_STATE_STACK disp_state_stack;
DISP_STATE disp_state = MAIN_UI;
DISP_STATE last_disp_state;
PRINT_TIME print_time;
value_state value;
num_key_value_state value;
keyboard_value_state keyboard_value;
uint32_t To_pre_view;
uint8_t gcode_preview_over;
@@ -73,6 +74,14 @@ extern uint8_t bmp_public_buf[17 * 1024];
extern void LCD_IO_WriteData(uint16_t RegValue);
static const char custom_gcode_command[][100] = {
"G28\nG29\nM500",
"G28",
"G28",
"G28",
"G28"
};
lv_point_t line_points[4][2] = {
{{PARA_UI_POS_X, PARA_UI_POS_Y + PARA_UI_SIZE_Y}, {TFT_WIDTH, PARA_UI_POS_Y + PARA_UI_SIZE_Y}},
{{PARA_UI_POS_X, PARA_UI_POS_Y*2 + PARA_UI_SIZE_Y}, {TFT_WIDTH, PARA_UI_POS_Y*2 + PARA_UI_SIZE_Y}},
@@ -108,22 +117,58 @@ void gCfgItems_init() {
#elif LCD_LANGUAGE == pt
gCfgItems.language = LANG_PORTUGUESE;
#endif
gCfgItems.leveling_mode = 0;
gCfgItems.from_flash_pic = 0;
gCfgItems.curFilesize = 0;
gCfgItems.finish_power_off = 0;
gCfgItems.pause_reprint = 0;
gCfgItems.pausePosX = -1;
gCfgItems.pausePosY = -1;
gCfgItems.pausePosZ = 5;
gCfgItems.leveling_mode = 0;
gCfgItems.from_flash_pic = 0;
gCfgItems.curFilesize = 0;
gCfgItems.finish_power_off = 0;
gCfgItems.pause_reprint = 0;
gCfgItems.pausePosX = -1;
gCfgItems.pausePosY = -1;
gCfgItems.pausePosZ = 5;
gCfgItems.levelingPos[0][0] = X_MIN_POS + 30;
gCfgItems.levelingPos[0][1] = Y_MIN_POS + 30;
gCfgItems.levelingPos[1][0] = X_MAX_POS - 30;
gCfgItems.levelingPos[1][1] = Y_MIN_POS + 30;
gCfgItems.levelingPos[2][0] = X_MAX_POS - 30;
gCfgItems.levelingPos[2][1] = Y_MAX_POS - 30;
gCfgItems.levelingPos[3][0] = X_MIN_POS + 30;
gCfgItems.levelingPos[3][1] = Y_MAX_POS - 30;
gCfgItems.levelingPos[4][0] = X_BED_SIZE / 2;
gCfgItems.levelingPos[4][1] = Y_BED_SIZE / 2;
gCfgItems.cloud_enable = true;
#if ENABLED(USE_WIFI_FUNCTION)
gCfgItems.wifi_mode_sel = STA_MODEL;
gCfgItems.fileSysType = FILE_SYS_SD;
gCfgItems.wifi_type = ESP_WIFI;
#endif
gCfgItems.filamentchange_load_length = 200;
gCfgItems.filamentchange_load_speed = 1000;
gCfgItems.filamentchange_unload_length = 200;
gCfgItems.filamentchange_unload_speed = 1000;
gCfgItems.filament_limit_temper = 200;
gCfgItems.encoder_enable = true;
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) {
if (gCfgItems.spi_flash_flag == FLASH_INF_VALID_FLAG) {
W25QXX.SPI_FLASH_BufferRead((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
}
else {
gCfgItems.spi_flash_flag = GCFG_FLAG_VALUE;
gCfgItems.spi_flash_flag = FLASH_INF_VALID_FLAG;
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
//init gcode command
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[0], AUTO_LEVELING_COMMAND_ADDR, 100);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[1], OTHERS_COMMAND_ADDR_1, 100);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[2], OTHERS_COMMAND_ADDR_2, 100);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[3], OTHERS_COMMAND_ADDR_3, 100);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[4], OTHERS_COMMAND_ADDR_4, 100);
}
const byte rot = TERN0(GRAPHICAL_TFT_ROTATE_180, 0xEE);
if (gCfgItems.disp_rotation_180 != rot) {
gCfgItems.disp_rotation_180 = rot;
update_spi_flash();
}
uiCfg.F[0] = 'N';
@@ -134,11 +179,6 @@ void gCfgItems_init() {
W25QXX.SPI_FLASH_BufferWrite(uiCfg.F,REFLSHE_FLGA_ADD,4);
}
void gCfg_to_spiFlah() {
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
}
void ui_cfg_init() {
uiCfg.curTempType = 0;
uiCfg.curSprayerChoose = 0;
@@ -150,12 +190,81 @@ void ui_cfg_init() {
uiCfg.move_dist = 1;
uiCfg.moveSpeed = 3000;
uiCfg.stepPrintSpeed = 10;
uiCfg.command_send = 0;
uiCfg.dialogType = 0;
uiCfg.filament_heat_completed_load = 0;
uiCfg.filament_rate = 0;
uiCfg.filament_loading_completed = 0;
uiCfg.filament_unloading_completed = 0;
uiCfg.filament_loading_time_flg = 0;
uiCfg.filament_loading_time_cnt = 0;
uiCfg.filament_unloading_time_flg = 0;
uiCfg.filament_unloading_time_cnt = 0;
#if ENABLED(USE_WIFI_FUNCTION)
memset(&wifiPara, 0, sizeof(wifiPara));
memset(&ipPara, 0, sizeof(ipPara));
strcpy(wifiPara.ap_name, WIFI_AP_NAME);
strcpy(wifiPara.keyCode, WIFI_KEY_CODE);
//client
strcpy(ipPara.ip_addr, IP_ADDR);
strcpy(ipPara.mask, IP_MASK);
strcpy(ipPara.gate, IP_GATE);
strcpy(ipPara.dns, IP_DNS);
ipPara.dhcp_flag = IP_DHCP_FLAG;
//AP
strcpy(ipPara.dhcpd_ip, AP_IP_ADDR);
strcpy(ipPara.dhcpd_mask, AP_IP_MASK);
strcpy(ipPara.dhcpd_gate, AP_IP_GATE);
strcpy(ipPara.dhcpd_dns, AP_IP_DNS);
strcpy(ipPara.start_ip_addr, IP_START_IP);
strcpy(ipPara.end_ip_addr, IP_END_IP);
ipPara.dhcpd_flag = AP_IP_DHCP_FLAG;
strcpy((char*)uiCfg.cloud_hostUrl, "baizhongyun.cn");
uiCfg.cloud_port = 10086;
#endif
uiCfg.filament_loading_time = (uint32_t)((gCfgItems.filamentchange_load_length * 60.0 / gCfgItems.filamentchange_load_speed) + 0.5);
uiCfg.filament_unloading_time = (uint32_t)((gCfgItems.filamentchange_unload_length * 60.0 / gCfgItems.filamentchange_unload_speed) + 0.5);
}
void update_spi_flash() {
uint8_t command_buf[512];
W25QXX.init(SPI_QUARTER_SPEED);
//read back the gcode command befor erase spi flash
W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
}
void update_gcode_command(int addr,uint8_t *s) {
uint8_t command_buf[512];
W25QXX.init(SPI_QUARTER_SPEED);
//read back the gcode command befor erase spi flash
W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
switch (addr) {
case AUTO_LEVELING_COMMAND_ADDR: memcpy(&command_buf[0*100], s, 100); break;
case OTHERS_COMMAND_ADDR_1: memcpy(&command_buf[1*100], s, 100); break;
case OTHERS_COMMAND_ADDR_2: memcpy(&command_buf[2*100], s, 100); break;
case OTHERS_COMMAND_ADDR_3: memcpy(&command_buf[3*100], s, 100); break;
case OTHERS_COMMAND_ADDR_4: memcpy(&command_buf[4*100], s, 100); break;
default: break;
}
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
}
void get_gcode_command(int addr,uint8_t *d) {
W25QXX.init(SPI_QUARTER_SPEED);
W25QXX.SPI_FLASH_BufferRead((uint8_t *)d, addr, 100);
}
lv_style_t tft_style_scr;
@@ -169,6 +278,13 @@ lv_style_t style_num_key_pre;
lv_style_t style_num_key_rel;
lv_style_t style_num_text;
lv_style_t style_sel_text;
lv_style_t style_para_value;
lv_style_t style_para_back;
lv_style_t lv_bar_style_indic;
void tft_style_init() {
lv_style_copy(&tft_style_scr, &lv_style_scr);
tft_style_scr.body.main_color = LV_COLOR_BACKGROUND;
@@ -197,12 +313,13 @@ void tft_style_init() {
tft_style_label_rel.text.letter_space = 0;
tft_style_label_pre.text.line_space = -5;
tft_style_label_rel.text.line_space = -5;
lv_style_copy(&style_para_value_pre, &lv_style_scr);
lv_style_copy(&style_para_value_rel, &lv_style_scr);
style_para_value_pre.body.main_color = LV_COLOR_BACKGROUND;
style_para_value_pre.body.grad_color = LV_COLOR_BACKGROUND;
style_para_value_pre.text.color = LV_COLOR_BLACK;
style_para_value_pre.text.sel_color = LV_COLOR_BLACK;
style_para_value_pre.text.color = LV_COLOR_TEXT;
style_para_value_pre.text.sel_color = LV_COLOR_TEXT;
style_para_value_rel.body.main_color = LV_COLOR_BACKGROUND;
style_para_value_rel.body.grad_color = LV_COLOR_BACKGROUND;
style_para_value_rel.text.color = LV_COLOR_BLACK;
@@ -215,6 +332,7 @@ void tft_style_init() {
style_para_value_rel.text.letter_space = 0;
style_para_value_pre.text.line_space = -5;
style_para_value_rel.text.line_space = -5;
lv_style_copy(&style_num_key_pre, &lv_style_scr);
lv_style_copy(&style_num_key_rel, &lv_style_scr);
style_num_key_pre.body.main_color = LV_COLOR_KEY_BACKGROUND;
@@ -250,10 +368,48 @@ void tft_style_init() {
style_num_text.text.letter_space = 0;
style_num_text.text.line_space = -5;
lv_style_copy(&style_sel_text, &lv_style_scr);
style_sel_text.body.main_color = LV_COLOR_BACKGROUND;
style_sel_text.body.grad_color = LV_COLOR_BACKGROUND;
style_sel_text.text.color = LV_COLOR_YELLOW;
style_sel_text.text.sel_color = LV_COLOR_YELLOW;
style_sel_text.text.font = &gb2312_puhui32;
style_sel_text.line.width = 0;
style_sel_text.text.letter_space = 0;
style_sel_text.text.line_space = -5;
lv_style_copy(&style_line, &lv_style_plain);
style_line.line.color = LV_COLOR_MAKE(0x49, 0x54, 0xff);
style_line.line.width = 1;
style_line.line.rounded = 1;
lv_style_copy(&style_para_value, &lv_style_plain);
style_para_value.body.border.color = LV_COLOR_BACKGROUND;
style_para_value.body.border.width = 1;
style_para_value.body.main_color = LV_COLOR_WHITE;
style_para_value.body.grad_color = LV_COLOR_WHITE;
style_para_value.body.shadow.width = 0;
style_para_value.body.radius = 3;
style_para_value.text.color = LV_COLOR_BLACK;
style_para_value.text.font = &TERN(HAS_SPI_FLASH_FONT, gb2312_puhui32, lv_font_roboto_22);
lv_style_copy(&style_para_back, &lv_style_plain);
style_para_back.body.border.color = LV_COLOR_BACKGROUND;
style_para_back.body.border.width = 1;
style_para_back.body.main_color = TFT_LV_PARA_BACK_BODY_COLOR;
style_para_back.body.grad_color = TFT_LV_PARA_BACK_BODY_COLOR;
style_para_back.body.shadow.width = 0;
style_para_back.body.radius = 3;
style_para_back.text.color = LV_COLOR_WHITE;
style_para_back.text.font = &TERN(HAS_SPI_FLASH_FONT, gb2312_puhui32, lv_font_roboto_22);
lv_style_copy(&lv_bar_style_indic, &lv_style_pretty_color);
lv_bar_style_indic.text.color = lv_color_hex3(0xADF);
lv_bar_style_indic.image.color = lv_color_hex3(0xADF);
lv_bar_style_indic.line.color = lv_color_hex3(0xADF);
lv_bar_style_indic.body.main_color = lv_color_hex3(0xADF);
lv_bar_style_indic.body.grad_color = lv_color_hex3(0xADF);
lv_bar_style_indic.body.border.color = lv_color_hex3(0xADF);
}
#define MAX_TITLE_LEN 28
@@ -360,15 +516,14 @@ char *getDispText(int index) {
case BIND_UI:
strcpy(public_buf_l, cloud_menu.title);
break;
case ZOFFSET_UI:
strcpy(public_buf_l, zoffset_menu.title);
break;
case TOOL_UI:
strcpy(public_buf_l, tool_menu.title);
break;
case WIFI_LIST_UI:
//strcpy(public_buf_l, list_menu.title);
break;
#if ENABLED(USE_WIFI_FUNCTION)
strcpy(public_buf_l, list_menu.title);
break;
#endif
case MACHINE_PARA_UI:
strcpy(public_buf_l, MachinePara_menu.title);
break;
@@ -503,7 +658,7 @@ char *creat_title_text() {
#if ENABLED(TFT_LVGL_UI_SPI)
SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1);
#else
ili9320_SetWindows(xpos_pixel, ypos_pixel + row, 200, 1);
LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1);
LCD_WriteRAM_Prepare();
#endif
@@ -582,10 +737,10 @@ char *creat_title_text() {
//saved_feedrate_percentage = feedrate_percentage;
planner.flow_percentage[0] = 100;
planner.e_factor[0] = planner.flow_percentage[0] * 0.01;
if (EXTRUDERS == 2) {
#if HAS_MULTI_EXTRUDER
planner.flow_percentage[1] = 100;
planner.e_factor[1] = planner.flow_percentage[1] * 0.01;
}
#endif
card.startFileprint();
TERN_(POWER_LOSS_RECOVERY, recovery.prepare());
once_flag = 0;
@@ -615,7 +770,7 @@ char *creat_title_text() {
#if ENABLED(TFT_LVGL_UI_SPI)
SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1);
#else
ili9320_SetWindows(xpos_pixel, ypos_pixel + row, 200, 1);
LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1);
LCD_WriteRAM_Prepare();
#endif
@@ -714,10 +869,10 @@ char *creat_title_text() {
//saved_feedrate_percentage = feedrate_percentage;
planner.flow_percentage[0] = 100;
planner.e_factor[0] = planner.flow_percentage[0] * 0.01;
if (EXTRUDERS == 2) {
#if HAS_MULTI_EXTRUDER
planner.flow_percentage[1] = 100;
planner.e_factor[1] = planner.flow_percentage[1] * 0.01;
}
#endif
card.startFileprint();
TERN_(POWER_LOSS_RECOVERY, recovery.prepare());
once_flag = 0;
@@ -733,17 +888,17 @@ char *creat_title_text() {
void Draw_default_preview(int xpos_pixel, int ypos_pixel, uint8_t sel) {
int index;
int y_off = 0;
W25QXX.init(SPI_QUARTER_SPEED);
for (index = 0; index < 10; index++) { // 200*200
#if HAS_BAK_VIEW_IN_FLASH
if (sel == 1) {
flash_view_Read(bmp_public_buf, 8000); // 20k
}
else {
default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 20k
default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 8k
}
#else
default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 20k
default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 8k
#endif
#if ENABLED(TFT_LVGL_UI_SPI)
@@ -754,7 +909,7 @@ char *creat_title_text() {
uint16_t temp_p;
int i = 0;
uint16_t *p_index;
ili9320_SetWindows(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200
LCD_setWindowArea(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200
LCD_WriteRAM_Prepare();
@@ -904,29 +1059,28 @@ void GUI_RefreshPage() {
*/
break;
case WIFI_UI:
/*
if (wifi_refresh_flg == 1) {
disp_wifi_state();
wifi_refresh_flg = 0;
}
*/
break;
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_UI:
if (temperature_change_frequency == 1) {
disp_wifi_state();
temperature_change_frequency = 0;
}
break;
#endif
case BIND_UI:
/*refresh_bind_ui();*/
break;
case FILAMENTCHANGE_UI:
/*
if (temperature_change_frequency) {
temperature_change_frequency = 0;
disp_filament_sprayer_temp();
disp_filament_temp();
}
*/
break;
case DIALOG_UI:
/*filament_dialog_handle();
wifi_scan_handle();*/
filament_dialog_handle();
TERN_(USE_WIFI_FUNCTION, wifi_scan_handle());
break;
case MESHLEVELING_UI:
/*disp_zpos();*/
@@ -934,66 +1088,68 @@ void GUI_RefreshPage() {
case HARDWARE_TEST_UI:
break;
case WIFI_LIST_UI:
/*
if (wifi_refresh_flg == 1) {
disp_wifi_list();
wifi_refresh_flg = 0;
}
*/
#if ENABLED(USE_WIFI_FUNCTION)
if (printing_rate_update_flag == 1) {
disp_wifi_list();
printing_rate_update_flag = 0;
}
#endif
break;
case KEY_BOARD_UI:
/*update_password_disp();
update_join_state_disp();*/
break;
case TIPS_UI:
/*
switch (tips_type) {
case TIPS_TYPE_JOINING:
if (wifi_link_state == WIFI_CONNECTED && strcmp((const char *)wifi_list.wifiConnectedName, (const char *)wifi_list.wifiName[wifi_list.nameIndex]) == 0) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
Clear_Tips();
tips_type = TIPS_TYPE_WIFI_CONECTED;
draw_Tips();
}
if (tips_disp.timer_count >= 30) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
Clear_Tips();
tips_type = TIPS_TYPE_TAILED_JOIN;
draw_Tips();
}
break;
case TIPS_TYPE_TAILED_JOIN:
if (tips_disp.timer_count >= 3) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
last_disp_state = TIPS_UI;
Clear_Tips();
draw_Wifi_list();
}
break;
case TIPS_TYPE_WIFI_CONECTED:
if (tips_disp.timer_count >= 3) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_TIPS_UI:
switch (wifi_tips_type) {
case TIPS_TYPE_JOINING:
if (wifi_link_state == WIFI_CONNECTED && strcmp((const char *)wifi_list.wifiConnectedName,(const char *)wifi_list.wifiName[wifi_list.nameIndex]) == 0) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
lv_clear_wifi_tips();
wifi_tips_type = TIPS_TYPE_WIFI_CONECTED;
lv_draw_wifi_tips();
}
if (tips_disp.timer_count >= 30 * 1000) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
lv_clear_wifi_tips();
wifi_tips_type = TIPS_TYPE_TAILED_JOIN;
lv_draw_wifi_tips();
}
break;
case TIPS_TYPE_TAILED_JOIN:
if (tips_disp.timer_count >= 3 * 1000) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
last_disp_state = WIFI_TIPS_UI;
lv_clear_wifi_tips();
lv_draw_wifi_list();
}
break;
case TIPS_TYPE_WIFI_CONECTED:
if (tips_disp.timer_count >= 3 * 1000) {
tips_disp.timer = TIPS_TIMER_STOP;
tips_disp.timer_count = 0;
last_disp_state = WIFI_TIPS_UI;
lv_clear_wifi_tips();
lv_draw_wifi();
}
break;
default: break;
}
break;
#endif
last_disp_state = TIPS_UI;
Clear_Tips();
draw_Wifi();
}
break;
default: break;
}
*/
break;
case BABY_STEP_UI:
/*
if (temperature_change_frequency == 1) {
temperature_change_frequency = 0;
disp_z_offset_value();
}
*/
break;
default: break;
}
@@ -1060,9 +1216,11 @@ void clear_cur_ui() {
case DISK_UI:
//Clear_Disk();
break;
case WIFI_UI:
//Clear_Wifi();
break;
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_UI:
lv_clear_wifi();
break;
#endif
case MORE_UI:
//Clear_more();
break;
@@ -1078,15 +1236,20 @@ void clear_cur_ui() {
case PRINT_MORE_UI:
//Clear_Printmore();
break;
case FILAMENTCHANGE_UI:
lv_clear_filament_change();
break;
case LEVELING_UI:
lv_clear_manualLevel();
break;
case BIND_UI:
//Clear_Bind();
break;
case ZOFFSET_UI:
//Clear_Zoffset();
break;
#if HAS_BED_PROBE
case NOZZLE_PROBE_OFFSET_UI:
lv_clear_auto_level_offset_settings();
break;
#endif
case TOOL_UI:
lv_clear_tool();
break;
@@ -1096,15 +1259,19 @@ void clear_cur_ui() {
case HARDWARE_TEST_UI:
//Clear_Hardwaretest();
break;
case WIFI_LIST_UI:
//Clear_Wifi_list();
break;
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_LIST_UI:
lv_clear_wifi_list();
break;
#endif
case KEY_BOARD_UI:
//Clear_Keyboard();
break;
case TIPS_UI:
//Clear_Tips();
lv_clear_keyboard();
break;
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_TIPS_UI:
lv_clear_wifi_tips();
break;
#endif
case MACHINE_PARA_UI:
lv_clear_machine_para();
break;
@@ -1130,19 +1297,19 @@ void clear_cur_ui() {
//Clear_EndstopType();
break;
case FILAMENT_SETTINGS_UI:
//Clear_FilamentSettings();
lv_clear_filament_settings();
break;
case LEVELING_SETTIGNS_UI:
//Clear_LevelingSettings();
break;
case LEVELING_PARA_UI:
//Clear_LevelingPara();
lv_clear_level_settings();
break;
case DELTA_LEVELING_PARA_UI:
//Clear_DeltaLevelPara();
break;
case XYZ_LEVELING_PARA_UI:
//Clear_XYZLevelPara();
case MANUAL_LEVELING_POSIGION_UI:
lv_clear_manual_level_pos_settings();
break;
case MAXFEEDRATE_UI:
lv_clear_max_feedrate_settings();
@@ -1183,7 +1350,7 @@ void clear_cur_ui() {
lv_clear_number_key();
break;
case BABY_STEP_UI:
//Clear_babyStep();
lv_clear_baby_stepping();
break;
case PAUSE_POS_UI:
lv_clear_pause_position();
@@ -1201,8 +1368,22 @@ void clear_cur_ui() {
lv_clear_tmc_step_mode_settings();
break;
#endif
default:
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_SETTINGS_UI:
lv_clear_wifi_settings();
break;
#endif
#if USE_SENSORLESS
case HOMING_SENSITIVITY_UI:
lv_clear_homing_sensitivity_settings();
break;
#endif
#if HAS_ROTARY_ENCODER
case ENCODER_SETTINGS_UI:
lv_clear_encoder_settings();
break;
#endif
default: break;
}
//GUI_Clear();
}
@@ -1267,21 +1448,17 @@ void draw_return_ui() {
lv_draw_about();
break;
#if tan_mask
case LOG_UI:
//draw_Connect();
break;
#endif
case CALIBRATE_UI:
//draw_calibrate();
break;
case DISK_UI:
//draw_Disk();
break;
case WIFI_UI:
//draw_Wifi();
break;
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_UI:
lv_draw_wifi();
break;
#endif
case MORE_UI:
//draw_More();
break;
@@ -1289,7 +1466,7 @@ void draw_return_ui() {
//draw_printmore();
break;
case FILAMENTCHANGE_UI:
//draw_FilamentChange();
lv_draw_filament_change();
break;
case LEVELING_UI:
lv_draw_manualLevel();
@@ -1297,13 +1474,11 @@ void draw_return_ui() {
case BIND_UI:
//draw_bind();
break;
#if tan_mask
case ZOFFSET_UI:
//draw_Zoffset();
break;
#endif
#if HAS_BED_PROBE
case NOZZLE_PROBE_OFFSET_UI:
lv_draw_auto_level_offset_settings();
break;
#endif
case TOOL_UI:
lv_draw_tool();
break;
@@ -1314,13 +1489,17 @@ void draw_return_ui() {
//draw_Hardwaretest();
break;
case WIFI_LIST_UI:
//draw_Wifi_list();
#if ENABLED(USE_WIFI_FUNCTION)
lv_draw_wifi_list();
#endif
break;
case KEY_BOARD_UI:
//draw_Keyboard();
lv_draw_keyboard();
break;
case TIPS_UI:
//draw_Tips();
case WIFI_TIPS_UI:
#if ENABLED(USE_WIFI_FUNCTION)
lv_draw_wifi_tips();
#endif
break;
case MACHINE_PARA_UI:
lv_draw_machine_para();
@@ -1347,19 +1526,19 @@ void draw_return_ui() {
//draw_EndstopType();
break;
case FILAMENT_SETTINGS_UI:
//draw_FilamentSettings();
lv_draw_filament_settings();
break;
case LEVELING_SETTIGNS_UI:
//draw_LevelingSettings();
break;
case LEVELING_PARA_UI:
//draw_LevelingPara();
lv_draw_level_settings();
break;
case DELTA_LEVELING_PARA_UI:
//draw_DeltaLevelPara();
break;
case XYZ_LEVELING_PARA_UI:
//draw_XYZLevelPara();
case MANUAL_LEVELING_POSIGION_UI:
lv_draw_manual_level_pos_settings();
break;
case MAXFEEDRATE_UI:
lv_draw_max_feedrate_settings();
@@ -1400,10 +1579,10 @@ void draw_return_ui() {
lv_draw_number_key();
break;
case DIALOG_UI:
//draw_dialog(DialogType);
//draw_dialog(uiCfg.dialogType);
break;
case BABY_STEP_UI:
//draw_babyStep();
lv_draw_baby_stepping();
break;
case PAUSE_POS_UI:
lv_draw_pause_position();
@@ -1421,6 +1600,21 @@ void draw_return_ui() {
lv_draw_tmc_step_mode_settings();
break;
#endif
#if ENABLED(USE_WIFI_FUNCTION)
case WIFI_SETTINGS_UI:
lv_draw_wifi_settings();
break;
#endif
#if USE_SENSORLESS
case HOMING_SENSITIVITY_UI:
lv_draw_homing_sensitivity_settings();
break;
#endif
#if HAS_ROTARY_ENCODER
case ENCODER_SETTINGS_UI:
lv_draw_encoder_settings();
break;
#endif
default: break;
}
}
@@ -1440,8 +1634,8 @@ void draw_return_ui() {
#endif
void lv_ex_line(lv_obj_t * line, lv_point_t *points) {
/*Copy the previous line and apply the new style*/
lv_line_set_points(line, points, 2); /*Set the points*/
// Copy the previous line and apply the new style
lv_line_set_points(line, points, 2); // Set the points
lv_line_set_style(line, LV_LINE_STYLE_MAIN, &style_line);
lv_obj_align(line, NULL, LV_ALIGN_IN_TOP_MID, 0, 0);
}
@@ -1450,18 +1644,29 @@ extern volatile uint32_t systick_uptime_millis;
void print_time_count() {
if ((systick_uptime_millis % 1000) == 0)
if (print_time.start == 1) print_time.seconds++;
if (print_time.start == 1) print_time.seconds++;
}
void LV_TASK_HANDLER() {
//lv_tick_inc(1);
lv_task_handler();
if (mks_test_flag == 0x1e) mks_hardware_test();
#if HAS_GCODE_PREVIEW
disp_pre_gcode(2, 36);
#endif
GUI_RefreshPage();
#if ENABLED(USE_WIFI_FUNCTION)
get_wifi_commands();
#endif
//sd_detection();
#if HAS_ROTARY_ENCODER
if (gCfgItems.encoder_enable) lv_update_encoder();
#endif
}
#endif // HAS_TFT_LVGL_UI