Basic HMI Display
ΰΈͺΰΉΰΈ§ΰΈΰΈΰΈ΅ΰΉ 1: ΰΈ ΰΈ²ΰΈΰΈ£ΰΈ§ΰΈ‘ LVGL (20 ΰΈΰΈ²ΰΈΰΈ΅)
1.1 LVGL ΰΈΰΈ·ΰΈΰΈΰΈ°ΰΉΰΈ£?
LVGL (Light and Versatile Graphics Library) ΰΉΰΈΰΉΰΈ Open Source Graphics Library ΰΈͺΰΈ³ΰΈ«ΰΈ£ΰΈ±ΰΈ Embedded Systems
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LVGL ARCHITECTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β APPLICATION LAYER β β
β β ββββββββββ ββββββββββ ββββββββββ ββββββββββ β β
β β β Button β β Label β β Slider β β Chart β β β
β β βββββ¬βββββ βββββ¬βββββ βββββ¬βββββ βββββ¬βββββ β β
β β βββββββββββββ΄ββββββββββββ΄ββββββββββββ β β
β β β β β
β β ββββββββΌβββββββ β β
β β β lv_obj_t β (Base Object) β β
β βββββββββββββββββ΄βββββββ¬βββββββ΄βββββββββββββββββββββββββ β
β β β
β ββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββ β
β β CORE LAYER β β
β β βββββββββββ ββββββββΌβββββ βββββββββββ β β
β β β Timer β β Display β β Input β β β
β β β Handler β β Manager β β Device β β β
β ββββ΄ββββββββββ΄βββ΄ββββββββββββ΄βββ΄ββββββββββ΄ββββββββββββββ β
β β β
β ββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββ β
β β HARDWARE LAYER β β
β β βββββββββββββββββ βββββββββββββββββ β β
β β β LCD Display β β Touch Panel β β β
β β β (MIPI-DSI) β β (I2C) β β β
β ββββ΄ββββββββββββββββ΄βββ΄ββββββββββββββββ΄βββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ1.2 Display Options
4.3" Waveshare
800 x 480
MIPI-DSI
FT5406 (I2C)
7" Waveshare
1024 x 600
MIPI-DSI
GT911 (I2C)
1.3 LVGL Core Concepts
Display
ΰΈΰΈ·ΰΉΰΈΰΈΰΈ΅ΰΉΰΉΰΈͺΰΈΰΈΰΈΰΈ₯ΰΈΰΈ±ΰΉΰΈΰΈ«ΰΈ‘ΰΈ
Screen
ΰΈ«ΰΈΰΉΰΈ²ΰΈΰΈΰΈΰΈ΅ΰΉΰΈͺΰΈ₯ΰΈ±ΰΈΰΉΰΈΰΉ (container ΰΈ«ΰΈ₯ΰΈ±ΰΈ)
Widget (Object)
UI element ΰΉΰΈΰΉΰΈ Button, Label
Style
ΰΈΰΈ²ΰΈ£ΰΈΰΈΰΉΰΈΰΉΰΈ (ΰΈͺΰΈ΅, ΰΈΰΈΰΈ²ΰΈ, font)
Event
ΰΈΰΈ²ΰΈ£ΰΈΰΈΰΈΰΈͺΰΈΰΈΰΈΰΈΰΉΰΈ user interaction
1.4 LVGL Layout ΰΉΰΈ₯ΰΈ° Positioning ΰΈΰΈ·ΰΉΰΈΰΈΰΈ²ΰΈ
ΰΈ«ΰΈ‘ΰΈ²ΰΈ’ΰΉΰΈ«ΰΈΰΈΈ: ΰΈͺΰΉΰΈ§ΰΈΰΈΰΈ΅ΰΉΰΉΰΈΰΉΰΈΰΈΰΈ·ΰΉΰΈΰΈΰΈ²ΰΈΰΈͺΰΈ³ΰΈΰΈ±ΰΈΰΈΰΈ΅ΰΉΰΈΰΉΰΈΰΈΰΉΰΈΰΉΰΈ²ΰΉΰΈΰΈΰΉΰΈΰΈΰΉΰΈ£ΰΈ΄ΰΉΰΈ‘ΰΈͺΰΈ£ΰΉΰΈ²ΰΈ UI ΰΈΰΈ£ΰΈ΄ΰΈ ΰΉΰΈΰΈ£ΰΈ²ΰΈ°ΰΈΰΈ²ΰΈ£ΰΈ§ΰΈ²ΰΈΰΈΰΈ³ΰΉΰΈ«ΰΈΰΉΰΈΰΈΰΈ΅ΰΉΰΈΰΈ΄ΰΈΰΈΰΈ₯ΰΈ²ΰΈΰΈΰΈ°ΰΈΰΈ³ΰΉΰΈ«ΰΉ Widget ΰΉΰΈͺΰΈΰΈΰΈΰΈ₯ΰΉΰΈ‘ΰΉΰΈΰΈΉΰΈΰΈΰΉΰΈΰΈΰΈ«ΰΈ£ΰΈ·ΰΈΰΈ«ΰΈ²ΰΈ’ΰΉΰΈΰΈΰΈ²ΰΈΰΈΰΈ
ΰΈ«ΰΈΰΉΰΈ²ΰΈΰΈΰΉΰΈ₯ΰΈ°ΰΈ£ΰΈ°ΰΈΰΈΰΈΰΈ΄ΰΈΰΈ±ΰΈ (Screen & Coordinate System)
ΰΈΰΉΰΈΰΈ‘ΰΈΉΰΈ₯ΰΈΰΈΰΈ ΰΈ²ΰΈ PSoC Edge E84 Eval Kit:
ΰΈ£ΰΈ°ΰΈΰΈΰΈΰΈ΄ΰΈΰΈ±ΰΈΰΈΰΈΰΈ LVGL:
ΰΈΰΈ£ΰΈ°ΰΉΰΈ ΰΈΰΈΰΈ²ΰΈ£ΰΈΰΈ±ΰΈΰΈΰΈ³ΰΉΰΈ«ΰΈΰΉΰΈ (Alignment Types)
LVGL v9.2 ΰΈ‘ΰΈ΅ 2 ΰΈΰΈ₯ΰΈΈΰΉΰΈ‘ΰΈ«ΰΈ₯ΰΈ±ΰΈΰΈΰΈΰΈ alignment:
ΰΈΰΈ₯ΰΈΈΰΉΰΈ‘ 1: Align ΰΈ ΰΈ²ΰΈ’ΰΉΰΈ Parent (ΰΉΰΈΰΉΰΈΰΈ±ΰΈ lv_obj_align)
LV_ALIGN_TOP_LEFT
ΰΈ‘ΰΈΈΰΈ‘ΰΈΰΉΰΈ²ΰΈ’ΰΈΰΈ
Default position
LV_ALIGN_TOP_MID
ΰΈΰΈ₯ΰΈ²ΰΈΰΈΰΈ
Title, Header
LV_ALIGN_TOP_RIGHT
ΰΈ‘ΰΈΈΰΈ‘ΰΈΰΈ§ΰΈ²ΰΈΰΈ
Close button, Status
LV_ALIGN_LEFT_MID
ΰΈΰΈ₯ΰΈ²ΰΈΰΈΰΉΰΈ²ΰΈ’
Side panel items
LV_ALIGN_CENTER
ΰΈΰΈ₯ΰΈ²ΰΈΰΈΰΈ
Main content
LV_ALIGN_RIGHT_MID
ΰΈΰΈ₯ΰΈ²ΰΈΰΈΰΈ§ΰΈ²
Side panel items
LV_ALIGN_BOTTOM_LEFT
ΰΈ‘ΰΈΈΰΈ‘ΰΈΰΉΰΈ²ΰΈ’ΰΈ₯ΰΉΰΈ²ΰΈ
Footer buttons
LV_ALIGN_BOTTOM_MID
ΰΈΰΈ₯ΰΈ²ΰΈΰΈ₯ΰΉΰΈ²ΰΈ
Description, Footer
LV_ALIGN_BOTTOM_RIGHT
ΰΈ‘ΰΈΈΰΈ‘ΰΈΰΈ§ΰΈ²ΰΈ₯ΰΉΰΈ²ΰΈ
Action buttons
ΰΉΰΈΰΈΰΈ ΰΈ²ΰΈ Alignment ΰΈ ΰΈ²ΰΈ’ΰΉΰΈ Parent:
ΰΈΰΈ₯ΰΈΈΰΉΰΈ‘ 2: Align ΰΈ ΰΈ²ΰΈ’ΰΈΰΈΰΈ Object ΰΈΰΉΰΈ²ΰΈΰΈΰΈ΄ΰΈ (ΰΉΰΈΰΉΰΈΰΈ±ΰΈ lv_obj_align_to)
LV_ALIGN_OUT_TOP_LEFT
ΰΈΰΉΰΈ²ΰΈΰΈΰΈ ΰΈΰΈ΄ΰΈΰΈΰΉΰΈ²ΰΈ’
LV_ALIGN_OUT_TOP_MID
ΰΈΰΉΰΈ²ΰΈΰΈΰΈ ΰΈΰΈ₯ΰΈ²ΰΈ
LV_ALIGN_OUT_TOP_RIGHT
ΰΈΰΉΰΈ²ΰΈΰΈΰΈ ΰΈΰΈ΄ΰΈΰΈΰΈ§ΰΈ²
LV_ALIGN_OUT_BOTTOM_LEFT
ΰΈΰΉΰΈ²ΰΈΰΈ₯ΰΉΰΈ²ΰΈ ΰΈΰΈ΄ΰΈΰΈΰΉΰΈ²ΰΈ’
LV_ALIGN_OUT_BOTTOM_MID
ΰΈΰΉΰΈ²ΰΈΰΈ₯ΰΉΰΈ²ΰΈ ΰΈΰΈ₯ΰΈ²ΰΈ
LV_ALIGN_OUT_BOTTOM_RIGHT
ΰΈΰΉΰΈ²ΰΈΰΈ₯ΰΉΰΈ²ΰΈ ΰΈΰΈ΄ΰΈΰΈΰΈ§ΰΈ²
LV_ALIGN_OUT_LEFT_TOP
ΰΈΰΉΰΈ²ΰΈΰΈΰΉΰΈ²ΰΈ’ ΰΈΰΈ΄ΰΈΰΈΰΈ
LV_ALIGN_OUT_LEFT_MID
ΰΈΰΉΰΈ²ΰΈΰΈΰΉΰΈ²ΰΈ’ ΰΈΰΈ₯ΰΈ²ΰΈ
LV_ALIGN_OUT_LEFT_BOTTOM
ΰΈΰΉΰΈ²ΰΈΰΈΰΉΰΈ²ΰΈ’ ΰΈΰΈ΄ΰΈΰΈ₯ΰΉΰΈ²ΰΈ
LV_ALIGN_OUT_RIGHT_TOP
ΰΈΰΉΰΈ²ΰΈΰΈΰΈ§ΰΈ² ΰΈΰΈ΄ΰΈΰΈΰΈ
LV_ALIGN_OUT_RIGHT_MID
ΰΈΰΉΰΈ²ΰΈΰΈΰΈ§ΰΈ² ΰΈΰΈ₯ΰΈ²ΰΈ
LV_ALIGN_OUT_RIGHT_BOTTOM
ΰΈΰΉΰΈ²ΰΈΰΈΰΈ§ΰΈ² ΰΈΰΈ΄ΰΈΰΈ₯ΰΉΰΈ²ΰΈ
ΰΈΰΈ±ΰΈ§ΰΈΰΈ’ΰΉΰΈ²ΰΈΰΈΰΈ²ΰΈ£ΰΉΰΈΰΉ OUT_* Alignment:
OUT_* Alignment:Last updated
Was this helpful?