Description
Hi, I’m using LGVL with style (without theme), and getting two problems:
1 - Some random colored lines
2 - If I increase (lv_style_set_scale_width) more than 12, my aplication locks
I have upload this video to explain this situation
What MCU/Processor/Board and compiler are you using?
I’m using NUCLEO F446RE, LCD GC9A01, and Keil mdk-arm with cubeMX.
What LVGL version are you using?
Last version in github repo.
What do you want to achieve?
I want to fix these bugs to advance with my project.
What have you tried so far?
I have tried add a lv_disp_buffer with some differents sizes.
Code to reproduce
LCD_Init();
lv_init();
tft_init();
lv_disp_buf_t disp_buf_2;
lv_color_t buf2_1[LV_HOR_RES_MAX * 10];
lv_color_t buf2_2[LV_HOR_RES_MAX * 10];
//lv_disp_buf_init(&disp_buf_2, buf2_1, buf2_2, LV_HOR_RES_MAX * 10);
//Write codes screen_lmeter0
lv_obj_t * linemeter1 = lv_linemeter_create(lv_disp_get_scr_act(NULL), NULL);
//Write style LV_LINEMETER_PART_MAIN for screen_lmeter0
static lv_style_t style_screen_linemeter1_main;
lv_style_init(&style_screen_linemeter1_main);
//Write style state: LV_STATE_DEFAULT for style_screen_linemeter1_main
lv_style_set_radius(&style_screen_linemeter1_main, LV_STATE_DEFAULT, 0);
lv_style_set_bg_color(&style_screen_linemeter1_main, LV_STATE_DEFAULT, lv_color_make(0x00, 0x00, 0x00));
lv_style_set_bg_grad_color(&style_screen_linemeter1_main, LV_STATE_DEFAULT, lv_color_make(0x00, 0x00, 0x00));
lv_style_set_bg_grad_dir(&style_screen_linemeter1_main, LV_STATE_DEFAULT, LV_GRAD_DIR_VER);
lv_style_set_bg_opa(&style_screen_linemeter1_main, LV_STATE_DEFAULT, 255);
lv_style_set_line_color(&style_screen_linemeter1_main, LV_STATE_DEFAULT, lv_color_make(0x0c, 0xb3, 0x00));
lv_style_set_line_width(&style_screen_linemeter1_main, LV_STATE_DEFAULT, 12);
lv_style_set_line_opa(&style_screen_linemeter1_main, LV_STATE_DEFAULT, 255);
lv_style_set_scale_grad_color(&style_screen_linemeter1_main, LV_STATE_DEFAULT, lv_color_make(0xf6, 0x09, 0x09));
lv_style_set_scale_end_color(&style_screen_linemeter1_main, LV_STATE_DEFAULT, lv_color_make(0x97, 0x95, 0x97));
lv_style_set_scale_width(&style_screen_linemeter1_main, LV_STATE_DEFAULT, 12);
lv_style_set_scale_end_line_width(&style_screen_linemeter1_main, LV_STATE_DEFAULT, 10);
lv_obj_add_style(linemeter1, LV_LINEMETER_PART_MAIN, &style_screen_linemeter1_main);
lv_obj_set_pos(linemeter1, 0, 0);
lv_obj_set_size(linemeter1, 240, 240);
lv_linemeter_set_scale(linemeter1, 270, 25);
lv_linemeter_set_range(linemeter1, 0, 126);
lv_linemeter_set_value(linemeter1, 100);
//lv_linemeter_set_angle_offset(linemeter1, 0);```