Skip to content

Commit ae70741

Browse files
committed
Document control flow of LVGL usage.
1 parent 65fc226 commit ae70741

3 files changed

Lines changed: 82 additions & 0 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
@startuml
2+
autoactivate on
3+
mainframe **seq** initialization
4+
5+
main -> Menu : ""Menu()""
6+
Menu -> GuiEngine : ""registerKeyPad()""
7+
note over GuiEngine
8+
registers callback
9+
functions for keys
10+
to engine
11+
end note
12+
return
13+
Menu -> MenuItem : create menu items
14+
return
15+
note over Menu
16+
structure menu items
17+
end note
18+
Menu -> GuiEngine : ""drawMenu()""
19+
GuiEngine -> ScreenMenu : ""draw()""
20+
note over ScreenMenu
21+
create and configure screen
22+
end note
23+
loop for each item
24+
note over ScreenMenu
25+
depending on the type,
26+
draw the menu item
27+
end note
28+
end
29+
ScreenMenu -> LVGL : draw screen
30+
return
31+
note over ScreenMenu
32+
add screen to stack
33+
end note
34+
return
35+
return
36+
return
37+
38+
main -> Presenter : ""Presenter()""
39+
return
40+
41+
@enduml
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@startuml
2+
autoactivate on
3+
mainframe **seq** user interaction
4+
5+
actor User
6+
User -> ScreenMenu : ""ScreenMenu_submenu_cb()""
7+
alt enter submenu
8+
ScreenMenu -> ScreenMenu : ""ScreenMenu()""
9+
note over ScreenMenu
10+
create submenu from
11+
menu sub-items
12+
end note
13+
return
14+
ScreenMenu -> ScreenMenu : ""draw()""
15+
return
16+
else leave menu
17+
ScreenMenu -> ScreenMenu : ""IScreen_leave()""
18+
note over ScreenMenu
19+
remove and delete top of stack
20+
end note
21+
ScreenMenu -> ScreenMenu : ""draw()""
22+
return
23+
return
24+
end
25+
return
26+
@enduml
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@startuml
2+
autoactivate on
3+
mainframe **seq** loop
4+
5+
main -> Presenter : ""loop()""
6+
Presenter -> Menu : ""loop()""
7+
Menu -> GuiEngine : ""refresh()""
8+
GuiEngine -> Display : ""display()""
9+
return
10+
return
11+
return
12+
return
13+
14+
15+
@enduml

0 commit comments

Comments
 (0)