From f55b9ceb0db6aee9bc8b9ade380c1cf91b5f0710 Mon Sep 17 00:00:00 2001 From: DvoraNoob <62312359+DvoraNoob@users.noreply.github.com> Date: Sat, 28 Aug 2021 14:35:49 -0300 Subject: [PATCH 1/4] Add files via upload --- .../src/lcd/extui/mks_ui/draw_extrusion.cpp | 51 ++++++++++--------- Marlin/src/lcd/extui/mks_ui/draw_ui.cpp | 16 ++++-- Marlin/src/lcd/extui/mks_ui/draw_ui.h | 10 +++- 3 files changed, 49 insertions(+), 28 deletions(-) diff --git a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp index 2f9009bcdbdd..c80121aa220e 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp @@ -89,20 +89,22 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { disp_extru_amount(); break; case ID_E_STEP: - switch (ABS(uiCfg.extruStep)) { - case 1: uiCfg.extruStep = 5; break; - case 5: uiCfg.extruStep = 10; break; - case 10: uiCfg.extruStep = 1; break; - default: break; + if(uiCfg.extruStep == uiCfg.eStepMin){ + uiCfg.extruStep = uiCfg.eStepMed; + }else if(uiCfg.extruStep == uiCfg.eStepMed){ + uiCfg.extruStep = uiCfg.eStepMax; + }else if(uiCfg.extruStep == uiCfg.eStepMax){ + uiCfg.extruStep = uiCfg.eStepMin; } disp_ext_step(); break; case ID_E_SPEED: - switch (uiCfg.extruSpeed) { - case 1: uiCfg.extruSpeed = 10; break; - case 10: uiCfg.extruSpeed = 20; break; - case 20: uiCfg.extruSpeed = 1; break; - default: break; + if(uiCfg.extruSpeed == uiCfg.eSpeedL){ + uiCfg.extruSpeed = uiCfg.eSpeedN; + }else if(uiCfg.extruSpeed == uiCfg.eSpeedN){ + uiCfg.extruSpeed = uiCfg.eSpeedH; + }else if(uiCfg.extruSpeed == uiCfg.eSpeedH){ + uiCfg.extruSpeed = uiCfg.eSpeedL; } disp_ext_speed(); break; @@ -170,19 +172,19 @@ void disp_ext_type() { } void disp_ext_speed() { - if (uiCfg.extruSpeed == 20) + if (uiCfg.extruSpeed == uiCfg.eSpeedH) lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_high.bin"); - else if (uiCfg.extruSpeed == 1) + else if (uiCfg.extruSpeed == uiCfg.eSpeedL) lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_slow.bin"); else lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_normal.bin"); if (gCfgItems.multiple_language) { - if (uiCfg.extruSpeed == 20) { + if (uiCfg.extruSpeed == uiCfg.eSpeedH) { lv_label_set_text(labelSpeed, extrude_menu.high); lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } - else if (uiCfg.extruSpeed == 1) { + else if (uiCfg.extruSpeed == uiCfg.eSpeedL) { lv_label_set_text(labelSpeed, extrude_menu.low); lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } @@ -221,24 +223,27 @@ void disp_extru_amount() { } void disp_ext_step() { - if (uiCfg.extruStep == 1) + char buf3[20] = {0}; + sprintf_P(buf3, PSTR("%dmm"), uiCfg.extruStep); + + if (uiCfg.extruStep == uiCfg.eStepMin) lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step1_mm.bin"); - else if (uiCfg.extruStep == 5) + else if (uiCfg.extruStep == uiCfg.eStepMed) lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step5_mm.bin"); - else if (uiCfg.extruStep == 10) + else if (uiCfg.extruStep == uiCfg.eStepMax) lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step10_mm.bin"); if (gCfgItems.multiple_language) { - if (uiCfg.extruStep == 1) { - lv_label_set_text(labelStep, extrude_menu.step_1mm); + if (uiCfg.extruStep == uiCfg.eStepMin) { + lv_label_set_text(labelStep, buf3); lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } - else if (uiCfg.extruStep == 5) { - lv_label_set_text(labelStep, extrude_menu.step_5mm); + else if (uiCfg.extruStep == uiCfg.eStepMed) { + lv_label_set_text(labelStep, buf3); lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } - else if (uiCfg.extruStep == 10) { - lv_label_set_text(labelStep, extrude_menu.step_10mm); + else if (uiCfg.extruStep == uiCfg.eStepMax) { + lv_label_set_text(labelStep, buf3); lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp index 7dfbea5bae18..949278d71825 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp @@ -181,15 +181,25 @@ void gCfgItems_init() { } void ui_cfg_init() { +//Set extruder Steps distances here in mm + uiCfg.eStepMin = 1; + uiCfg.eStepMed = 5; + uiCfg.eStepMax = 10; + +//Set extruder speed here in mm/s + uiCfg.eSpeedL = 1; + uiCfg.eSpeedN = 10; + uiCfg.eSpeedH = 20; + uiCfg.curTempType = 0; uiCfg.extruderIndex = 0; uiCfg.stepHeat = 10; uiCfg.leveling_first_time = false; uiCfg.para_ui_page = false; - uiCfg.extruStep = 5; - uiCfg.extruSpeed = 10; + uiCfg.extruStep = uiCfg.eStepMed; + uiCfg.extruSpeed = uiCfg.eSpeedN; uiCfg.move_dist = 1; - uiCfg.moveSpeed = 3000; + uiCfg.moveSpeed = 1000; uiCfg.stepPrintSpeed = 10; uiCfg.command_send = false; uiCfg.dialogType = 0; diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/mks_ui/draw_ui.h index 37b19ebd46bd..95b5df23a696 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.h @@ -228,8 +228,14 @@ typedef struct { uint8_t wifi_name[32]; uint8_t wifi_key[64]; uint8_t cloud_hostUrl[96]; - uint8_t extruStep; - uint8_t extruSpeed; + uint8_t extruStep, + eStepMin, + eStepMed, + eStepMax; + uint8_t extruSpeed, + eSpeedH, + eSpeedN, + eSpeedL; uint8_t print_state; uint8_t stepPrintSpeed; uint8_t waitEndMoves; From 9f7750974599ca4f1b52c15203cfddf1521c86f0 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 1 Sep 2021 05:05:06 -0500 Subject: [PATCH 2/4] Cleanup --- .../src/lcd/extui/mks_ui/draw_extrusion.cpp | 93 +++++++------------ Marlin/src/lcd/extui/mks_ui/draw_ui.cpp | 19 +--- Marlin/src/lcd/extui/mks_ui/draw_ui.h | 18 ++-- Marlin/src/lcd/extui/mks_ui/wifi_module.cpp | 20 ++-- 4 files changed, 55 insertions(+), 95 deletions(-) diff --git a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp index c80121aa220e..ce483094a516 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp @@ -89,22 +89,18 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { disp_extru_amount(); break; case ID_E_STEP: - if(uiCfg.extruStep == uiCfg.eStepMin){ - uiCfg.extruStep = uiCfg.eStepMed; - }else if(uiCfg.extruStep == uiCfg.eStepMed){ - uiCfg.extruStep = uiCfg.eStepMax; - }else if(uiCfg.extruStep == uiCfg.eStepMax){ - uiCfg.extruStep = uiCfg.eStepMin; + switch (uiCfg.extruStep) { + case uiCfg.eStepMin: uiCfg.extruStep = uiCfg.eStepMed; break; + case uiCfg.eStepMed: uiCfg.extruStep = uiCfg.eStepMax; break; + case uiCfg.eStepMax: uiCfg.extruStep = uiCfg.eStepMin; break; } disp_ext_step(); break; case ID_E_SPEED: - if(uiCfg.extruSpeed == uiCfg.eSpeedL){ - uiCfg.extruSpeed = uiCfg.eSpeedN; - }else if(uiCfg.extruSpeed == uiCfg.eSpeedN){ - uiCfg.extruSpeed = uiCfg.eSpeedH; - }else if(uiCfg.extruSpeed == uiCfg.eSpeedH){ - uiCfg.extruSpeed = uiCfg.eSpeedL; + switch (uiCfg.extruSpeed) { + case uiCfg.eSpeedL: uiCfg.extruSpeed = uiCfg.eSpeedN; break; + case uiCfg.eSpeedN: uiCfg.extruSpeed = uiCfg.eSpeedH; break; + case uiCfg.eSpeedH: uiCfg.extruSpeed = uiCfg.eSpeedL; break; } disp_ext_speed(); break; @@ -157,41 +153,30 @@ void lv_draw_extrusion() { void disp_ext_type() { if (uiCfg.extruderIndex == 1) { lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru2.bin"); - if (gCfgItems.multiple_language) { - lv_label_set_text(labelType, extrude_menu.ext2); - lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - } + if (gCfgItems.multiple_language) lv_label_set_text(labelType, extrude_menu.ext2); } else { lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru1.bin"); - if (gCfgItems.multiple_language) { - lv_label_set_text(labelType, extrude_menu.ext1); - lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - } + if (gCfgItems.multiple_language) lv_label_set_text(labelType, extrude_menu.ext1); } + if (gCfgItems.multiple_language) + lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } void disp_ext_speed() { - if (uiCfg.extruSpeed == uiCfg.eSpeedH) - lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_high.bin"); - else if (uiCfg.extruSpeed == uiCfg.eSpeedL) - lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_slow.bin"); - else - lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_normal.bin"); + switch (uiCfg.extruSpeed) + case uiCfg.eSpeedH: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_high.bin"); break; + case uiCfg.eSpeedL: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_slow.bin"); break; + case uiCfg.eSpeedN: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_normal.bin"); break; + } if (gCfgItems.multiple_language) { - if (uiCfg.extruSpeed == uiCfg.eSpeedH) { - lv_label_set_text(labelSpeed, extrude_menu.high); - lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - } - else if (uiCfg.extruSpeed == uiCfg.eSpeedL) { - lv_label_set_text(labelSpeed, extrude_menu.low); - lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - } - else { - lv_label_set_text(labelSpeed, extrude_menu.normal); - lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + switch (uiCfg.extruSpeed) { + case uiCfg.eSpeedH: lv_label_set_text(labelSpeed, extrude_menu.high); break; + case uiCfg.eSpeedL: lv_label_set_text(labelSpeed, extrude_menu.low); break; + case uiCfg.eSpeedN: lv_label_set_text(labelSpeed, extrude_menu.normal); break; } + lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } @@ -223,36 +208,28 @@ void disp_extru_amount() { } void disp_ext_step() { - char buf3[20] = {0}; + char buf3[12]; sprintf_P(buf3, PSTR("%dmm"), uiCfg.extruStep); - if (uiCfg.extruStep == uiCfg.eStepMin) - lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step1_mm.bin"); - else if (uiCfg.extruStep == uiCfg.eStepMed) - lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step5_mm.bin"); - else if (uiCfg.extruStep == uiCfg.eStepMax) - lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step10_mm.bin"); + switch (uiCfg.extruStep) { + case uiCfg.eStepMin: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step1_mm.bin"); break; + case uiCfg.eStepMed: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step5_mm.bin"); break; + case uiCfg.eStepMax: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step10_mm.bin"); break; + } if (gCfgItems.multiple_language) { - if (uiCfg.extruStep == uiCfg.eStepMin) { - lv_label_set_text(labelStep, buf3); - lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - } - else if (uiCfg.extruStep == uiCfg.eStepMed) { - lv_label_set_text(labelStep, buf3); - lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - } - else if (uiCfg.extruStep == uiCfg.eStepMax) { - lv_label_set_text(labelStep, buf3); - lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + switch (uiCfg.extruStep) { + case uiCfg.eStepMin: lv_label_set_text(labelStep, buf3); break; + case uiCfg.eStepMed: lv_label_set_text(labelStep, buf3); break; + case uiCfg.eStepMax: lv_label_set_text(labelStep, buf3); break; } + lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } void lv_clear_extrusion() { - #if HAS_ROTARY_ENCODER - if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); - #endif + if (TERN0(HAS_ROTARY_ENCODER, gCfgItems.encoder_enable)) + lv_group_remove_all_objs(g); lv_obj_del(scr); } diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp index 949278d71825..e324c32def53 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp @@ -181,16 +181,6 @@ void gCfgItems_init() { } void ui_cfg_init() { -//Set extruder Steps distances here in mm - uiCfg.eStepMin = 1; - uiCfg.eStepMed = 5; - uiCfg.eStepMax = 10; - -//Set extruder speed here in mm/s - uiCfg.eSpeedL = 1; - uiCfg.eSpeedN = 10; - uiCfg.eSpeedH = 20; - uiCfg.curTempType = 0; uiCfg.extruderIndex = 0; uiCfg.stepHeat = 10; @@ -619,9 +609,9 @@ char *creat_title_text() { gPicturePreviewStart += (uintptr_t)p1 - (uintptr_t)((uint32_t *)(&public_buf[0])); break; } - else { + else gPicturePreviewStart += br; - } + if (br < 400) break; } } @@ -633,11 +623,8 @@ char *creat_title_text() { while (1) { card.read(public_buf, 400); - for (i = 0; i < 400;) { + for (i = 0; i < 400; i += 2, j++) bmp_public_buf[j] = ascii2dec_test((char*)&public_buf[i]) << 4 | ascii2dec_test((char*)&public_buf[i + 1]); - i += 2; - j++; - } if (j >= 400) break; } for (i = 0; i < 400; i += 2) { diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/mks_ui/draw_ui.h index 95b5df23a696..8f7b895a656b 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.h @@ -228,14 +228,16 @@ typedef struct { uint8_t wifi_name[32]; uint8_t wifi_key[64]; uint8_t cloud_hostUrl[96]; - uint8_t extruStep, - eStepMin, - eStepMed, - eStepMax; - uint8_t extruSpeed, - eSpeedH, - eSpeedN, - eSpeedL; + // Extruder Steps distances (mm) + uint8_t extruStep; + constexpr uint8_t eStepMin = 1, + eStepMed = 5, + eStepMax = 10; + // Extruder speed (mm/s) + uint8_t extruSpeed; + constexpr uint8_t eSpeedH = 1, + eSpeedN = 10, + eSpeedL = 20; uint8_t print_state; uint8_t stepPrintSpeed; uint8_t waitEndMoves; diff --git a/Marlin/src/lcd/extui/mks_ui/wifi_module.cpp b/Marlin/src/lcd/extui/mks_ui/wifi_module.cpp index b53586c75672..998393ebd59e 100644 --- a/Marlin/src/lcd/extui/mks_ui/wifi_module.cpp +++ b/Marlin/src/lcd/extui/mks_ui/wifi_module.cpp @@ -1445,16 +1445,12 @@ void utf8_2_unicode(uint8_t *source, uint8_t Len) { ZERO(FileName_unicode); - while (1) { + for (;;) { char_byte_num = source[i] & 0xF0; - if (source[i] < 0x80) { - //ASCII --1byte - FileName_unicode[char_i] = source[i]; - i += 1; - char_i += 1; + if (source[i] < 0x80) { // ASCII -- 1 byte + FileName_unicode[char_i++] = source[i++]; } - else if (char_byte_num == 0xC0 || char_byte_num == 0xD0) { - //--2byte + else if (char_byte_num == 0xC0 || char_byte_num == 0xD0) { // -- 2 byte u16_h = (((uint16_t)source[i] << 8) & 0x1F00) >> 2; u16_l = ((uint16_t)source[i + 1] & 0x003F); u16_value = (u16_h | u16_l); @@ -1463,8 +1459,7 @@ void utf8_2_unicode(uint8_t *source, uint8_t Len) { i += 2; char_i += 2; } - else if (char_byte_num == 0xE0) { - //--3byte + else if (char_byte_num == 0xE0) { // -- 3 byte u16_h = (((uint16_t)source[i] << 8) & 0x0F00) << 4; u16_m = (((uint16_t)source[i + 1] << 8) & 0x3F00) >> 2; u16_l = ((uint16_t)source[i + 2] & 0x003F); @@ -1474,8 +1469,7 @@ void utf8_2_unicode(uint8_t *source, uint8_t Len) { i += 3; char_i += 2; } - else if (char_byte_num == 0xF0) { - //--4byte + else if (char_byte_num == 0xF0) { // -- 4 byte i += 4; //char_i += 3; } @@ -1510,7 +1504,7 @@ static void file_first_msg_handle(uint8_t * msg, uint16_t msgLen) { TERN_(SDSUPPORT, card.mount()); } else if (gCfgItems.fileSysType == FILE_SYS_USB) { - + // nothing } file_writer.write_index = 0; lastFragment = -1; From c450dcb58ada5af7ab701b4a4a2a103d3814257f Mon Sep 17 00:00:00 2001 From: DvoraNoob <62312359+DvoraNoob@users.noreply.github.com> Date: Wed, 1 Sep 2021 16:54:38 -0300 Subject: [PATCH 3/4] Add files via upload bugs fixed --- .../src/lcd/extui/mks_ui/draw_extrusion.cpp | 38 +++++++++---------- Marlin/src/lcd/extui/mks_ui/draw_ui.cpp | 4 +- Marlin/src/lcd/extui/mks_ui/draw_ui.h | 18 +++++---- 3 files changed, 31 insertions(+), 29 deletions(-) diff --git a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp index ce483094a516..f6f196b269df 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp @@ -90,17 +90,17 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { break; case ID_E_STEP: switch (uiCfg.extruStep) { - case uiCfg.eStepMin: uiCfg.extruStep = uiCfg.eStepMed; break; - case uiCfg.eStepMed: uiCfg.extruStep = uiCfg.eStepMax; break; - case uiCfg.eStepMax: uiCfg.extruStep = uiCfg.eStepMin; break; + case eStepMin: uiCfg.extruStep = eStepMed; break; + case eStepMed: uiCfg.extruStep = eStepMax; break; + case eStepMax: uiCfg.extruStep = eStepMin; break; } disp_ext_step(); break; case ID_E_SPEED: switch (uiCfg.extruSpeed) { - case uiCfg.eSpeedL: uiCfg.extruSpeed = uiCfg.eSpeedN; break; - case uiCfg.eSpeedN: uiCfg.extruSpeed = uiCfg.eSpeedH; break; - case uiCfg.eSpeedH: uiCfg.extruSpeed = uiCfg.eSpeedL; break; + case eSpeedL: uiCfg.extruSpeed = eSpeedN; break; + case eSpeedN: uiCfg.extruSpeed = eSpeedH; break; + case eSpeedH: uiCfg.extruSpeed = eSpeedL; break; } disp_ext_speed(); break; @@ -164,17 +164,17 @@ void disp_ext_type() { } void disp_ext_speed() { - switch (uiCfg.extruSpeed) - case uiCfg.eSpeedH: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_high.bin"); break; - case uiCfg.eSpeedL: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_slow.bin"); break; - case uiCfg.eSpeedN: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_normal.bin"); break; + switch (uiCfg.extruSpeed){ + case eSpeedH: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_high.bin"); break; + case eSpeedL: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_slow.bin"); break; + case eSpeedN: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_normal.bin"); break; } if (gCfgItems.multiple_language) { switch (uiCfg.extruSpeed) { - case uiCfg.eSpeedH: lv_label_set_text(labelSpeed, extrude_menu.high); break; - case uiCfg.eSpeedL: lv_label_set_text(labelSpeed, extrude_menu.low); break; - case uiCfg.eSpeedN: lv_label_set_text(labelSpeed, extrude_menu.normal); break; + case eSpeedH: lv_label_set_text(labelSpeed, extrude_menu.high); break; + case eSpeedL: lv_label_set_text(labelSpeed, extrude_menu.low); break; + case eSpeedN: lv_label_set_text(labelSpeed, extrude_menu.normal); break; } lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } @@ -212,16 +212,16 @@ void disp_ext_step() { sprintf_P(buf3, PSTR("%dmm"), uiCfg.extruStep); switch (uiCfg.extruStep) { - case uiCfg.eStepMin: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step1_mm.bin"); break; - case uiCfg.eStepMed: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step5_mm.bin"); break; - case uiCfg.eStepMax: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step10_mm.bin"); break; + case eStepMin: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step1_mm.bin"); break; + case eStepMed: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step5_mm.bin"); break; + case eStepMax: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step10_mm.bin"); break; } if (gCfgItems.multiple_language) { switch (uiCfg.extruStep) { - case uiCfg.eStepMin: lv_label_set_text(labelStep, buf3); break; - case uiCfg.eStepMed: lv_label_set_text(labelStep, buf3); break; - case uiCfg.eStepMax: lv_label_set_text(labelStep, buf3); break; + case eStepMin: lv_label_set_text(labelStep, buf3); break; + case eStepMed: lv_label_set_text(labelStep, buf3); break; + case eStepMax: lv_label_set_text(labelStep, buf3); break; } lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp index e324c32def53..36b3c26b4975 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp @@ -186,8 +186,8 @@ void ui_cfg_init() { uiCfg.stepHeat = 10; uiCfg.leveling_first_time = false; uiCfg.para_ui_page = false; - uiCfg.extruStep = uiCfg.eStepMed; - uiCfg.extruSpeed = uiCfg.eSpeedN; + uiCfg.extruStep = eStepMed; + uiCfg.extruSpeed = eSpeedN; uiCfg.move_dist = 1; uiCfg.moveSpeed = 1000; uiCfg.stepPrintSpeed = 10; diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/mks_ui/draw_ui.h index 8f7b895a656b..b163116361c4 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.h @@ -184,6 +184,16 @@ extern char public_buf_m[100]; extern char public_buf_l[30]; +// Extruder Steps distances (mm) +const uint8_t eStepMin = 1, + eStepMed = 10, + eStepMax = 50; +// Extruder speed (mm/s) +const uint8_t eSpeedL = 1, + eSpeedN = 5, + eSpeedH = 10; + + typedef struct { uint32_t spi_flash_flag; uint8_t disp_rotation_180; @@ -228,16 +238,8 @@ typedef struct { uint8_t wifi_name[32]; uint8_t wifi_key[64]; uint8_t cloud_hostUrl[96]; - // Extruder Steps distances (mm) uint8_t extruStep; - constexpr uint8_t eStepMin = 1, - eStepMed = 5, - eStepMax = 10; - // Extruder speed (mm/s) uint8_t extruSpeed; - constexpr uint8_t eSpeedH = 1, - eSpeedN = 10, - eSpeedL = 20; uint8_t print_state; uint8_t stepPrintSpeed; uint8_t waitEndMoves; From 3a52584c97ebe6039f41c920f9afbe7993cb76a0 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 1 Sep 2021 19:12:38 -0500 Subject: [PATCH 4/4] Add a test, use constexpr --- .../src/lcd/extui/mks_ui/draw_extrusion.cpp | 38 +++++++++---------- Marlin/src/lcd/extui/mks_ui/draw_ui.cpp | 4 +- Marlin/src/lcd/extui/mks_ui/draw_ui.h | 20 +++++----- buildroot/bin/mftest | 2 +- buildroot/tests/mks_robin_nano35 | 32 ++++++++-------- 5 files changed, 47 insertions(+), 49 deletions(-) diff --git a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp index f6f196b269df..d1132a33d825 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_extrusion.cpp @@ -90,17 +90,17 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { break; case ID_E_STEP: switch (uiCfg.extruStep) { - case eStepMin: uiCfg.extruStep = eStepMed; break; - case eStepMed: uiCfg.extruStep = eStepMax; break; - case eStepMax: uiCfg.extruStep = eStepMin; break; + case uiCfg.eStepMin: uiCfg.extruStep = uiCfg.eStepMed; break; + case uiCfg.eStepMed: uiCfg.extruStep = uiCfg.eStepMax; break; + case uiCfg.eStepMax: uiCfg.extruStep = uiCfg.eStepMin; break; } disp_ext_step(); break; case ID_E_SPEED: switch (uiCfg.extruSpeed) { - case eSpeedL: uiCfg.extruSpeed = eSpeedN; break; - case eSpeedN: uiCfg.extruSpeed = eSpeedH; break; - case eSpeedH: uiCfg.extruSpeed = eSpeedL; break; + case uiCfg.eSpeedL: uiCfg.extruSpeed = uiCfg.eSpeedN; break; + case uiCfg.eSpeedN: uiCfg.extruSpeed = uiCfg.eSpeedH; break; + case uiCfg.eSpeedH: uiCfg.extruSpeed = uiCfg.eSpeedL; break; } disp_ext_speed(); break; @@ -164,17 +164,17 @@ void disp_ext_type() { } void disp_ext_speed() { - switch (uiCfg.extruSpeed){ - case eSpeedH: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_high.bin"); break; - case eSpeedL: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_slow.bin"); break; - case eSpeedN: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_normal.bin"); break; + switch (uiCfg.extruSpeed) { + case uiCfg.eSpeedH: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_high.bin"); break; + case uiCfg.eSpeedL: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_slow.bin"); break; + case uiCfg.eSpeedN: lv_imgbtn_set_src_both(buttonSpeed, "F:/bmp_speed_normal.bin"); break; } if (gCfgItems.multiple_language) { switch (uiCfg.extruSpeed) { - case eSpeedH: lv_label_set_text(labelSpeed, extrude_menu.high); break; - case eSpeedL: lv_label_set_text(labelSpeed, extrude_menu.low); break; - case eSpeedN: lv_label_set_text(labelSpeed, extrude_menu.normal); break; + case uiCfg.eSpeedH: lv_label_set_text(labelSpeed, extrude_menu.high); break; + case uiCfg.eSpeedL: lv_label_set_text(labelSpeed, extrude_menu.low); break; + case uiCfg.eSpeedN: lv_label_set_text(labelSpeed, extrude_menu.normal); break; } lv_obj_align(labelSpeed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } @@ -212,16 +212,16 @@ void disp_ext_step() { sprintf_P(buf3, PSTR("%dmm"), uiCfg.extruStep); switch (uiCfg.extruStep) { - case eStepMin: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step1_mm.bin"); break; - case eStepMed: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step5_mm.bin"); break; - case eStepMax: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step10_mm.bin"); break; + case uiCfg.eStepMin: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step1_mm.bin"); break; + case uiCfg.eStepMed: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step5_mm.bin"); break; + case uiCfg.eStepMax: lv_imgbtn_set_src_both(buttonStep, "F:/bmp_step10_mm.bin"); break; } if (gCfgItems.multiple_language) { switch (uiCfg.extruStep) { - case eStepMin: lv_label_set_text(labelStep, buf3); break; - case eStepMed: lv_label_set_text(labelStep, buf3); break; - case eStepMax: lv_label_set_text(labelStep, buf3); break; + case uiCfg.eStepMin: lv_label_set_text(labelStep, buf3); break; + case uiCfg.eStepMed: lv_label_set_text(labelStep, buf3); break; + case uiCfg.eStepMax: lv_label_set_text(labelStep, buf3); break; } lv_obj_align(labelStep, buttonStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp index 36b3c26b4975..e324c32def53 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.cpp @@ -186,8 +186,8 @@ void ui_cfg_init() { uiCfg.stepHeat = 10; uiCfg.leveling_first_time = false; uiCfg.para_ui_page = false; - uiCfg.extruStep = eStepMed; - uiCfg.extruSpeed = eSpeedN; + uiCfg.extruStep = uiCfg.eStepMed; + uiCfg.extruSpeed = uiCfg.eSpeedN; uiCfg.move_dist = 1; uiCfg.moveSpeed = 1000; uiCfg.stepPrintSpeed = 10; diff --git a/Marlin/src/lcd/extui/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/mks_ui/draw_ui.h index b163116361c4..b7e66a2727df 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/mks_ui/draw_ui.h @@ -184,16 +184,6 @@ extern char public_buf_m[100]; extern char public_buf_l[30]; -// Extruder Steps distances (mm) -const uint8_t eStepMin = 1, - eStepMed = 10, - eStepMax = 50; -// Extruder speed (mm/s) -const uint8_t eSpeedL = 1, - eSpeedN = 5, - eSpeedH = 10; - - typedef struct { uint32_t spi_flash_flag; uint8_t disp_rotation_180; @@ -218,7 +208,7 @@ typedef struct { uint32_t curFilesize; } CFG_ITMES; -typedef struct { +typedef struct UI_Config_Struct { uint8_t curTempType:1, extruderIndex:3, stepHeat:4, @@ -238,8 +228,16 @@ typedef struct { uint8_t wifi_name[32]; uint8_t wifi_key[64]; uint8_t cloud_hostUrl[96]; + // Extruder Steps distances (mm) uint8_t extruStep; + static constexpr uint8_t eStepMin = 1, + eStepMed = 5, + eStepMax = 10; + // Extruder speed (mm/s) uint8_t extruSpeed; + static constexpr uint8_t eSpeedH = 1, + eSpeedN = 10, + eSpeedL = 20; uint8_t print_state; uint8_t stepPrintSpeed; uint8_t waitEndMoves; diff --git a/buildroot/bin/mftest b/buildroot/bin/mftest index 17605e3174d1..7a55033e9eb5 100755 --- a/buildroot/bin/mftest +++ b/buildroot/bin/mftest @@ -133,7 +133,7 @@ lp9|lpc9) TESTENV='LPC1769' ;; t36) TESTENV='teensy35' ;; t40) TESTENV='teensy41' ;; t41) TESTENV='teensy41' ;; -[1-9][1-9]|[1-9]) TESTNUM=$TESTENV ; TESTENV=- ;; +[1-9]|[1-9][0-9]) TESTNUM=$TESTENV ; TESTENV=- ;; esac if ((AUTO_BUILD)); then diff --git a/buildroot/tests/mks_robin_nano35 b/buildroot/tests/mks_robin_nano35 index bd16fe48e934..f892d42d9ecb 100755 --- a/buildroot/tests/mks_robin_nano35 +++ b/buildroot/tests/mks_robin_nano35 @@ -15,15 +15,15 @@ opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO exec_test $1 $2 "MKS Robin nano v1.2 Emulated DOGM FSMC" "$3" # -# MKS Robin v2 nano Emulated DOGM SPI -# (Robin v2 nano has no FSMC interface) +# MKS Robin nano v2 Emulated DOGM SPI +# (Robin nano v2 has no FSMC interface) # use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 opt_disable TFT_INTERFACE_FSMC opt_enable TFT_INTERFACE_SPI MKS_WIFI_MODULE opt_add MKS_TEST -exec_test $1 $2 "MKS Robin v2 nano Emulated DOGM SPI, MKS_WIFI_MODULE" "$3" +exec_test $1 $2 "MKS Robin nano v2 Emulated DOGM SPI, MKS_WIFI_MODULE" "$3" # # MKS Robin nano v1.2 LVGL FSMC @@ -35,34 +35,34 @@ exec_test $1 $2 "MKS Robin v2 nano Emulated DOGM SPI, MKS_WIFI_MODULE" "$3" # exec_test $1 $2 "MKS Robin nano v1.2 LVGL FSMC" "$3" # -# MKS Robin v2 nano LVGL SPI -# (Robin v2 nano has no FSMC interface) +# MKS Robin nano v2 LVGL SPI +# (Robin nano v2 has no FSMC interface) # # use_example_configs Mks/Robin # opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 # opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 # opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 -# exec_test $1 $2 "MKS Robin v2 nano LVGL SPI" "$3" +# exec_test $1 $2 "MKS Robin nano v2 LVGL SPI" "$3" # -# MKS Robin v2 nano New Color UI 480x320 SPI -# (Robin v2 nano has no FSMC interface) +# MKS Robin nano v2 New Color UI 480x320 SPI +# (Robin nano v2 has no FSMC interface) # use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 opt_disable TFT_INTERFACE_FSMC TFT_RES_320x240 opt_enable TFT_INTERFACE_SPI TFT_RES_480x320 -exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI" "$3" +exec_test $1 $2 "MKS Robin nano v2 with New Color UI 480x320 SPI" "$3" # -# MKS Robin v2 nano LVGL SPI + TMC -# (Robin v2 nano has no FSMC interface) +# MKS Robin nano v2 LVGL SPI + TMC +# (Robin nano v2 has no FSMC interface) # -# use_example_configs Mks/Robin -# opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 -# opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 -# opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 -# exec_test $1 $2 "MKS Robin v2 nano LVGL SPI + TMC" "$3" +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 +opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 +opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 +exec_test $1 $2 "MKS Robin nano v2 LVGL SPI + TMC" "$3" # cleanup restore_configs