Skip to content

Commit bd210b5

Browse files
committed
examples/lvgldemo: Select default demo
The LVGL Example App `lvgldemo` currently requires 1 argument: the name of the demo to show. ```bash lvgldemo widgets ``` In this PR, we propose to make the argument optional if there is only one demo configured. This will enable PINE64 PinePhone to boot straight into `lvgldemo` and auto-start the LVGL App, without entering any `nsh` commands. ### Modified Files `examples/lvgldemo/lvgldemo.c`: If no arguments are specified and only 1 demo exists, select the demo
1 parent b1e6583 commit bd210b5

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

examples/lvgldemo/lvgldemo.c

+15-2
Original file line numberDiff line numberDiff line change
@@ -171,14 +171,27 @@ static demo_create_func_t find_demo_create_func(FAR const char *name)
171171
int main(int argc, FAR char *argv[])
172172
{
173173
demo_create_func_t demo_create_func;
174+
FAR const char *demo = NULL;
175+
const int func_key_pair_len = sizeof(func_key_pair) /
176+
sizeof(func_key_pair[0]);
174177

175-
if (argc != 2)
178+
/* If no arguments are specified and only 1 demo exists, select the demo */
179+
180+
if (argc == 1 && func_key_pair_len == 2) /* 2 because of NULL sentinel */
181+
{
182+
demo = func_key_pair[0].name;
183+
}
184+
else if (argc != 2)
176185
{
177186
show_usage();
178187
return EXIT_FAILURE;
179188
}
189+
else
190+
{
191+
demo = argv[1];
192+
}
180193

181-
demo_create_func = find_demo_create_func(argv[1]);
194+
demo_create_func = find_demo_create_func(demo);
182195

183196
if (demo_create_func == NULL)
184197
{

0 commit comments

Comments
 (0)