This for SKPang (I’d be grateful if you could send me a message: bewing2@gmail.com .)
I'm doing LVGL on Teensy 4.0; ILI9488, 480x320 SPI LCD. Everything was going swimmingly under LVGL v7.11, but yesterday I allowed Arduino to upgrade to v8.0.2. Of course everything broke -- a series of compiler errors which are getting more difficult to address. It's unclear to me, SKPang, which parts of your v7 code I need to keep, which to update (e.g., all or parts of lv_conf.h) I’ve never ported a graphics subsystem but I’ve given it a little thought and I’d expect it to be reasonably portable, even across major versions.
I’ll be happy to publish working lvgl code public if we get there.
I can hassle through the errors but first I thought I’d ask the experts if this will be fruitful or if it’s a huge job best left to the likes of … you – in which case, I’ll revert to v7.11 and move on.
I don't want to post "complete source code" or compiler errors -- it's just way too much. If it helps, here are snippets of current compilation errors:
1) It can’t find the default font:
# define LV_FONT_DEFAULT &lv_font_montserrat_14
^ (points to lv_font_montserrat_14
MetronomeApp.cpp:16: error: #include expects "FILENAME" or <FILENAME>
#include LV_THEME_DEFAULT_INCLUDE
^
I saw a note saying to be sure everything is defined in lv_conf.h. I'll start searching there for this one
2) The next 3 errors might be more pernicious. Some #include file linking the driver missing? Or is it just dropping the leading “lv_”? :
R:\QTRNM-QFSV\Teensy\LCD\LCD.ino: At global scope:
LCD:38: error: 'lv_disp_buf_t' does not name a type
static lv_disp_buf_t disp_buf;
^
LCD: In function 'void setup()':
LCD:132: error: 'disp_buf' was not declared in this scope
lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * LV_VER_RES_MAX / 10);
^
LCD:132: error: 'lv_disp_buf_init' was not declared in this scope
lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * LV_VER_RES_MAX / 10);
^
LCD:139: error: 'lv_disp_drv_t {aka struct _lv_disp_drv_t}' has no member named 'buffer'
disp_drv.buffer = &disp_buf;
Again, thanks. Your insights greatly appreciated.
I'm doing LVGL on Teensy 4.0; ILI9488, 480x320 SPI LCD. Everything was going swimmingly under LVGL v7.11, but yesterday I allowed Arduino to upgrade to v8.0.2. Of course everything broke -- a series of compiler errors which are getting more difficult to address. It's unclear to me, SKPang, which parts of your v7 code I need to keep, which to update (e.g., all or parts of lv_conf.h) I’ve never ported a graphics subsystem but I’ve given it a little thought and I’d expect it to be reasonably portable, even across major versions.
I’ll be happy to publish working lvgl code public if we get there.
I can hassle through the errors but first I thought I’d ask the experts if this will be fruitful or if it’s a huge job best left to the likes of … you – in which case, I’ll revert to v7.11 and move on.
I don't want to post "complete source code" or compiler errors -- it's just way too much. If it helps, here are snippets of current compilation errors:
1) It can’t find the default font:
# define LV_FONT_DEFAULT &lv_font_montserrat_14
^ (points to lv_font_montserrat_14
MetronomeApp.cpp:16: error: #include expects "FILENAME" or <FILENAME>
#include LV_THEME_DEFAULT_INCLUDE
^
I saw a note saying to be sure everything is defined in lv_conf.h. I'll start searching there for this one
2) The next 3 errors might be more pernicious. Some #include file linking the driver missing? Or is it just dropping the leading “lv_”? :
R:\QTRNM-QFSV\Teensy\LCD\LCD.ino: At global scope:
LCD:38: error: 'lv_disp_buf_t' does not name a type
static lv_disp_buf_t disp_buf;
^
LCD: In function 'void setup()':
LCD:132: error: 'disp_buf' was not declared in this scope
lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * LV_VER_RES_MAX / 10);
^
LCD:132: error: 'lv_disp_buf_init' was not declared in this scope
lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * LV_VER_RES_MAX / 10);
^
LCD:139: error: 'lv_disp_drv_t {aka struct _lv_disp_drv_t}' has no member named 'buffer'
disp_drv.buffer = &disp_buf;
Again, thanks. Your insights greatly appreciated.