Browse Source

Fix LVGL_UI G-code preview (#20564)

vanilla_fb_2.0.x
Victor Oliveira 4 years ago
committed by GitHub
parent
commit
9eaa69874a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp
  2. 2
      Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp

9
Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp

@ -298,8 +298,8 @@ void disp_gcode_icon(uint8_t file_num) {
strcat(test_public_buf_l, list_file.file_name[i]);
char *temp = strstr(test_public_buf_l, ".GCO");
if (temp) strcpy(temp, ".bin");
lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), "", 0);
lv_imgbtn_set_src_both(buttonGcode[i], test_public_buf_l);
lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), test_public_buf_l, 0);
lv_imgbtn_set_src_both(buttonGcode[i], buttonGcode[i]->mks_pic_name);
if (i < 3) {
lv_obj_set_pos(buttonGcode[i], BTN_X_PIXEL * i + INTERVAL_V * (i + 1) + FILE_PRE_PIC_X_OFFSET, titleHeight + FILE_PRE_PIC_Y_OFFSET);
buttonText[i] = lv_btn_create(scr, nullptr);
@ -358,7 +358,7 @@ void disp_gcode_icon(uint8_t file_num) {
uint32_t lv_open_gcode_file(char *path) {
#if ENABLED(SDSUPPORT)
uint32_t *ps4;
uint32_t pre_sread_cnt = 0;
uint32_t pre_sread_cnt = UINT32_MAX;
char *cur_name;
cur_name = strrchr(path, '/');
@ -399,6 +399,7 @@ void lv_gcode_file_read(uint8_t *data_buf) {
char temp_test[200];
volatile uint16_t *p_index;
watchdog_refresh();
memset(public_buf, 0, 200);
while (card.isFileOpen()) {
@ -418,7 +419,7 @@ void lv_gcode_file_read(uint8_t *data_buf) {
uint16_t c = card.get();
// check if we have more data or finished the line (CR)
if (c == '\r') break;
card.setIndex(card.getIndex());
card.setIndex(card.getIndex() - 1);
k++;
j = 0;
ignore_start = false;

2
Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp

@ -380,7 +380,7 @@ lv_fs_res_t sd_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_
if (temp) strcpy(temp, ".GCO");
sd_read_base_addr = lv_open_gcode_file((char *)name_buf);
sd_read_addr_offset = sd_read_base_addr;
if (sd_read_addr_offset == 0) return LV_FS_RES_NOT_EX;
if (sd_read_addr_offset == UINT32_MAX) return LV_FS_RES_NOT_EX;
return LV_FS_RES_OK;
}

Loading…
Cancel
Save