V1.0.4 is released

Hi guys,

Here is a new patch release with the following fixes:

  • Fix typo in the “Ignore layout” flag
  • Fix error message when the trial period is over
  • Fix the missing option setting in the exported code of Roller and Checkbox
  • Fix the missing exported code for the Chart
  • Fix overwriting the content of ui_events.c on export
  • Include lvgl.h in ui.h in a more flexible way
  • In the exported code check if the color settings are correct
  • Add “ui_” prefix to the names of the widget in the exported py files to avoid conflict with reserved words

Thank you very much for the great feedback and reports! You help a lot a to make SLS better! :slight_smile:

Unfortunately, the MacOS support and life-time license option needed to be shifted to v1.0.5. :frowning:

“Include lvgl.h in ui.h in a more flexible way” worries me as my code no longer compiles now I have switched to 1.0.4 :frowning:

I now get:

In file included from ui/ui.h:14,
from ui/ui.c:6:
/home/pi/oven2/lvgl.h:25:10: fatal error: src/misc/lv_log.h: No such file or directory
25 | #include “src/misc/lv_log.h”
| ^~~~~~~~~~~~~~~~~~~

I have to say that I hate the way includes are used in lvgl.h I have had nightmares getting LVGL to build and play happy with my own code. I now have a working source tree and am dreading having to upgrade to a newer version of LVGL when it is required by a new release of SLS :frowning:


Do you use LVGL as it is or have you modified its directory structure?

I don’t think the directory structure has been modified. Here is the source directory structure.


I think this discussion should really be in its own thread but for now I need to understand the directory structure required by LVGL.

In the root of my source directory I have the lvgl directory and the lv_drivers directory.
In my makefile I set LVGL_DIR ?= ${shell pwd} which seems wrong as this is not the lvgl directory but the root directory.

I include the lvgl makefiles into my makefile thus:

include $(LVGL_DIR)/lvgl/lvgl.mk
include $(LVGL_DIR)/lv_drivers/lv_drivers.mk

This gives me the error:

In file included from ui/ui_helpers.h:10,
from ui/ui_helpers.c:6:
/home/pi/oven/lvgl.h:25:10: fatal error: src/misc/lv_log.h: No such file or directory
25 | #include “src/misc/lv_log.h”
| ^~~~~~~~~~~~~~~~~~~

If I change LVGL_DIR to LVGL_DIR ?= ${shell pwd}/lvgl and change the includes:

include $(LVGL_DIR)/lvgl.mk
include lv_drivers/lv_drivers.mk

I then get:

/home/pi/oven/lvgl/lvgl.mk:8: /home/pi/oven/lvgl/lvgl/src/widgets/lv_widgets.mk: No such file or directory
make: *** No rule to make target ‘/home/pi/oven/lvgl/lvgl/src/widgets/lv_widgets.mk’. Stop.

This seems to be related to how the lvgl makefile is defined:

include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/extra/extra.mk
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/core/lv_core.mk
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/draw/lv_draw.mk
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/font/lv_font.mk
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/gpu/lv_gpu.mk
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/hal/lv_hal.mk
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/misc/lv_misc.mk
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/widgets/lv_widgets.mk

Why do you use LVGL_DIR and LVGL_DIR_NAME ?!


The name LVGL_DIR is really no intuitive. My intention with that was “the directory where lvgl is”. Sorry for the confusion.

So LVGL_DIR ?= ${shell pwd} is correct.

The root of the problem is that you have lvgl.h out of the lvgl folder. Why is that?

I think it was because I have having problems with code not being able to find lvgl.h and I could only make it work if I moved lvgl.h into that top level directory :frowning:


Finally, does it work now if you move that lvgl.h file back to the lvgl folder?

Yes, that all seems to work now :slight_smile:

Many thanks for your help :+1:


1 Like

Amazing! :slight_smile: Thanks for the feedback.

Font manager issue. Try to create a custom font with the parameters like in the pic. attached. SLS generate error if the ‘Symbols’ field have the leading ‘-’ character.

Function prototype for ‘ButtonClicked’ action are duplicated in ui.h

The CLI thinks - means a flag.
We are considering how to fix it.

Regarding this issue I found my mistake where the action has been added both for button and button label. Sorry.

1 Like

Please, check the Slider generation code! The result is on the pic below:

The func ui_slider_increment(ui_Slider1, 1, ON) is broken, have a wrong set of parameters…

Thanks, we are looking into it.