├── src ├── atom_watch_ui │ ├── images │ │ ├── README.md │ │ ├── icon_call.png │ │ ├── icon_camera.png │ │ ├── icon_chat.png │ │ ├── icon_cloudy.png │ │ ├── icon_find.png │ │ ├── icon_haze.png │ │ ├── icon_rainny.png │ │ ├── icon_snow.png │ │ ├── icon_sunny.png │ │ ├── icon_windy.png │ │ ├── icon_compass.png │ │ ├── icon_tornado.png │ │ ├── icon_navigation.png │ │ └── icon_sunny_cloud.png │ ├── fonts │ │ ├── README.md │ │ ├── Sony_Sketch_EF.ttf │ │ └── Inter_24pt_Regular.ttf │ ├── screens │ │ ├── README.md │ │ ├── compass.xml │ │ ├── camera.xml │ │ ├── call.xml │ │ ├── call_gen.h │ │ ├── find_gen.h │ │ ├── home_gen.h │ │ ├── camera_gen.h │ │ ├── compass_gen.h │ │ ├── weather_gen.h │ │ ├── navigation_gen.h │ │ ├── notifications_gen.h │ │ ├── find.xml │ │ ├── weather.xml │ │ ├── notifications.xml │ │ ├── home.xml │ │ ├── navigation.xml │ │ ├── compass_gen.c │ │ ├── camera_gen.c │ │ ├── call_gen.c │ │ ├── find_gen.c │ │ ├── notifications_gen.c │ │ ├── weather_gen.c │ │ ├── home_gen.c │ │ └── navigation_gen.c │ ├── components │ │ ├── README.md │ │ ├── notification_item.xml │ │ ├── notification_item_gen.h │ │ └── notification_item_gen.c │ ├── widgets │ │ └── README.md │ ├── project.xml │ ├── ui.c │ ├── atom_watch_ui.c │ ├── atom_watch_ui.h │ ├── ui.h │ ├── atom_watch_ui_gen.h │ ├── globals.xml │ ├── atom_watch_ui_gen.c │ └── generated │ │ ├── icon_haze.c │ │ ├── icon_snow.c │ │ ├── icon_sunny.c │ │ ├── icon_windy.c │ │ ├── icon_cloudy.c │ │ └── icon_rainny.c └── main.cpp ├── upload.png ├── atom_s3r.png ├── lv_editor.png ├── .gitignore ├── .vscode ├── settings.json └── extensions.json ├── test └── README ├── platformio.ini ├── scripts └── lv_headers.py ├── lib └── README ├── include └── README └── README.md /src/atom_watch_ui/images/README.md: -------------------------------------------------------------------------------- 1 | Place PNG images here -------------------------------------------------------------------------------- /src/atom_watch_ui/fonts/README.md: -------------------------------------------------------------------------------- 1 | Place ttf or woff files here -------------------------------------------------------------------------------- /upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/upload.png -------------------------------------------------------------------------------- /atom_s3r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/atom_s3r.png -------------------------------------------------------------------------------- /lv_editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/lv_editor.png -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/README.md: -------------------------------------------------------------------------------- 1 | Create XML files here that start with a `` tag -------------------------------------------------------------------------------- /src/atom_watch_ui/components/README.md: -------------------------------------------------------------------------------- 1 | Create XML files here that start with a `` tag -------------------------------------------------------------------------------- /src/atom_watch_ui/widgets/README.md: -------------------------------------------------------------------------------- 1 | Create folders here for each widget and place an XML in each with a `` tag -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode/.browse.c_cpp.db* 3 | .vscode/c_cpp_properties.json 4 | .vscode/launch.json 5 | .vscode/ipch 6 | -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_call.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_camera.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_chat.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_cloudy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_cloudy.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_find.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_haze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_haze.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_rainny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_rainny.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_snow.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_sunny.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_windy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_windy.png -------------------------------------------------------------------------------- /src/atom_watch_ui/fonts/Sony_Sketch_EF.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/fonts/Sony_Sketch_EF.ttf -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_compass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_compass.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_tornado.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_tornado.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_navigation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_navigation.png -------------------------------------------------------------------------------- /src/atom_watch_ui/images/icon_sunny_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/images/icon_sunny_cloud.png -------------------------------------------------------------------------------- /src/atom_watch_ui/fonts/Inter_24pt_Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbiego/atom-watch/HEAD/src/atom_watch_ui/fonts/Inter_24pt_Regular.ttf -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "system_error": "cpp", 4 | "cmath": "cpp", 5 | "find_gen.h": "c" 6 | } 7 | } -------------------------------------------------------------------------------- /src/atom_watch_ui/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "platformio.platformio-ide" 6 | ], 7 | "unwantedRecommendations": [ 8 | "ms-vscode.cpptools-extension-pack" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/compass.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/camera.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PlatformIO Test Runner and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PlatformIO Unit Testing: 11 | - https://docs.platformio.org/en/latest/advanced/unit-testing/index.html 12 | -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/call.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/atom_watch_ui/components/notification_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/call_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file call_gen.h 3 | */ 4 | 5 | #ifndef CALL_H 6 | #define CALL_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * call_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*CALL_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/find_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file find_gen.h 3 | */ 4 | 5 | #ifndef FIND_H 6 | #define FIND_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * find_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*FIND_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/home_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file home_gen.h 3 | */ 4 | 5 | #ifndef HOME_H 6 | #define HOME_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * home_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*HOME_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/camera_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file camera_gen.h 3 | */ 4 | 5 | #ifndef CAMERA_H 6 | #define CAMERA_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * camera_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*CAMERA_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/compass_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compass_gen.h 3 | */ 4 | 5 | #ifndef COMPASS_H 6 | #define COMPASS_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * compass_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*COMPASS_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/weather_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file weather_gen.h 3 | */ 4 | 5 | #ifndef WEATHER_H 6 | #define WEATHER_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * weather_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*WEATHER_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/navigation_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file navigation_gen.h 3 | */ 4 | 5 | #ifndef NAVIGATION_H 6 | #define NAVIGATION_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * navigation_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*NAVIGATION_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/notifications_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file notifications_gen.h 3 | */ 4 | 5 | #ifndef NOTIFICATIONS_H 6 | #define NOTIFICATIONS_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * notifications_create(void); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*NOTIFICATIONS_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/components/notification_item_gen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file notification_item_gen.h 3 | */ 4 | 5 | #ifndef NOTIFICATION_ITEM_H 6 | #define NOTIFICATION_ITEM_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL PROTOTYPES 27 | **********************/ 28 | 29 | lv_obj_t * notification_item_create(lv_obj_t * parent, const char * title, const char * time, const char * message); 30 | 31 | /********************** 32 | * MACROS 33 | **********************/ 34 | 35 | #ifdef __cplusplus 36 | } /*extern "C"*/ 37 | #endif 38 | 39 | #endif /*NOTIFICATION_ITEM_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/ui.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file ui.c 3 | */ 4 | 5 | /********************* 6 | * INCLUDES 7 | *********************/ 8 | #include "ui.h" 9 | 10 | /********************* 11 | * DEFINES 12 | *********************/ 13 | 14 | /********************** 15 | * TYPEDEFS 16 | **********************/ 17 | 18 | /********************** 19 | * STATIC PROTOTYPES 20 | **********************/ 21 | 22 | /********************** 23 | * STATIC VARIABLES 24 | **********************/ 25 | 26 | /********************** 27 | * MACROS 28 | **********************/ 29 | 30 | /********************** 31 | * GLOBAL FUNCTIONS 32 | **********************/ 33 | 34 | void ui_init(const char * asset_path) 35 | { 36 | LV_LOG_USER("ui_init()\n"); 37 | atom_watch_ui_init(asset_path); 38 | } 39 | 40 | /********************** 41 | * STATIC FUNCTIONS 42 | **********************/ -------------------------------------------------------------------------------- /src/atom_watch_ui/atom_watch_ui.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file atom_watch_ui.c 3 | */ 4 | 5 | /********************* 6 | * INCLUDES 7 | *********************/ 8 | #include "atom_watch_ui.h" 9 | 10 | /********************* 11 | * DEFINES 12 | *********************/ 13 | 14 | /********************** 15 | * TYPEDEFS 16 | **********************/ 17 | 18 | /********************** 19 | * STATIC PROTOTYPES 20 | **********************/ 21 | 22 | /********************** 23 | * STATIC VARIABLES 24 | **********************/ 25 | 26 | /********************** 27 | * MACROS 28 | **********************/ 29 | 30 | /********************** 31 | * GLOBAL FUNCTIONS 32 | **********************/ 33 | 34 | void atom_watch_ui_init(const char * asset_path) 35 | { 36 | atom_watch_ui_init_gen(asset_path); 37 | } 38 | 39 | /********************** 40 | * STATIC FUNCTIONS 41 | **********************/ -------------------------------------------------------------------------------- /platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter 4 | ; Upload options: custom upload port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; Advanced options: extra scripting 7 | ; 8 | ; Please visit documentation for the other options and examples 9 | ; https://docs.platformio.org/page/projectconf.html 10 | 11 | [env:m5stack-atoms3] 12 | platform = espressif32 13 | board = m5stack-atoms3 14 | framework = arduino 15 | extra_scripts = pre:scripts/lv_headers.py 16 | lib_deps = 17 | ; lvgl/lvgl@^9.2.2 18 | fbiego/ChronosESP32@^1.7.1 19 | m5stack/M5Unified@^0.2.5 20 | fastled/FastLED@^3.9.16 21 | lvgl=https://github.com/lvgl/lvgl.git 22 | build_flags = 23 | ; Don't use lv_conf.h. Tweak params via platfom.ini. 24 | -D LV_CONF_SKIP 25 | -D LV_CONF_INCLUDE_SIMPLE 26 | -D LV_USE_TINY_TTF=1 27 | -D LV_TINY_TTF_FILE_SUPPORT=1 -------------------------------------------------------------------------------- /src/atom_watch_ui/atom_watch_ui.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file atom_watch_ui.h 3 | */ 4 | 5 | #ifndef ATOM_WATCH_UI_H 6 | #define ATOM_WATCH_UI_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "atom_watch_ui_gen.h" 16 | 17 | /********************* 18 | * DEFINES 19 | *********************/ 20 | 21 | /********************** 22 | * TYPEDEFS 23 | **********************/ 24 | 25 | /********************** 26 | * GLOBAL VARIABLES 27 | **********************/ 28 | 29 | /********************** 30 | * GLOBAL PROTOTYPES 31 | **********************/ 32 | 33 | /** 34 | * Initialize the component library 35 | */ 36 | void atom_watch_ui_init(const char * asset_path); 37 | 38 | /********************** 39 | * MACROS 40 | **********************/ 41 | 42 | #ifdef __cplusplus 43 | } /*extern "C"*/ 44 | #endif 45 | 46 | #endif /*ATOM_WATCH_UI_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/ui.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file ui.h 3 | */ 4 | 5 | #ifndef UI_H 6 | #define UI_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | 16 | /* Include all the UI libraries */ 17 | #include "lvgl.h" 18 | #include "atom_watch_ui.h" 19 | 20 | /********************* 21 | * DEFINES 22 | *********************/ 23 | 24 | /********************** 25 | * TYPEDEFS 26 | **********************/ 27 | 28 | /********************** 29 | * GLOBAL VARIABLES 30 | **********************/ 31 | 32 | /********************** 33 | * GLOBAL PROTOTYPES 34 | **********************/ 35 | 36 | /** 37 | * Initialize all the custom component libraries (not calling `lv_init()`) 38 | */ 39 | void ui_init(const char * asset_path); 40 | 41 | /********************** 42 | * MACROS 43 | **********************/ 44 | 45 | #ifdef __cplusplus 46 | } /*extern "C"*/ 47 | #endif 48 | 49 | #endif /*UI_H*/ -------------------------------------------------------------------------------- /src/atom_watch_ui/screens/find.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |