Watch Interface

Using LVGL v8, the included interfaces are:

  • Honeycomb main menu

  • Watch face

  • Cube left-right rotation (not supported on SF32lb55x series chips)

Note

  • Not supported on 520-hdk

Watch Interface

Source Code Path: example/multimedia/lvgl/watch This is a smartwatch interface example implemented based on LVGL v8, featuring various interactive interfaces and font configuration capabilities. It demonstrates how to use the LVGL graphics library component of SiFli-SDK to build user interfaces for embedded devices. Developers can use this example as a foundation to build UI interfaces for various smart wearable devices such as sports watches and health monitoring devices.

Supported Boards

This example can run on the following development boards:

  • sf32lb52-lcd_n16r8

  • sf32lb52-lchspi-ulp

Note

  • Not supported on 520-hdk

Hardware Requirements

  • SiFli development board with LCD display support

Specifying Fonts

Refer to src/resource/fonts/SConscript. By adding the FREETYPE_FONT_NAME macro definition in CPPDEFINES, you can register the corresponding TTF font to LVGL

CPPDEFINES += ["FREETYPE_FONT_NAME={}".format(font_name)]

If font_name is DroidSansFallback, it is equivalent to adding the following macro definition

#define FREETYPE_FONT_NAME   DroidSansFallback

During compilation, it will search for font files with .ttf suffix in the freetype subdirectory and convert them to C files for compilation

objs = Glob('freetype/{}.ttf'.format(font_name))
objs = Env.FontFile(objs)

Macros like FREETYPE_TINY_FONT_FULL are defined in Kconfig.proj in the project directory, similar to the following:

config FREETYPE_TINY_FONT_FULL
    bool
    default y

Example Output

After successful execution, the development board screen will display the watch main interface, including a honeycomb menu and watch face display. You can switch between different interfaces via touch or buttons.

Reference Documentation