improvements to apps and drivers

This commit is contained in:
Ken Van Hoeylandt
2023-12-25 18:43:48 +01:00
parent e6525364c6
commit 0cf7829a2d
16 changed files with 108 additions and 114 deletions
+6 -6
View File
@@ -21,13 +21,13 @@ enum nb_app_type {
USER
};
typedef struct nb_app_config nb_app_config_t;
typedef struct nb_app nb_app_t;
typedef void (*nb_app_callback_on_create) (nb_platform_t* platform, lv_obj_t* lv_parent);
typedef void (*nb_app_callback_update) (nb_platform_t* platform, lv_obj_t* lv_parent);
typedef void (*nb_app_callback_on_destroy) (nb_platform_t* platform);
struct nb_app_config {
struct nb_app {
char id[NB_APP_ID_LENGTH];
char name[NB_APP_NAME_LENGTH];
nb_app_type_t type;
@@ -38,12 +38,12 @@ struct nb_app_config {
uint32_t update_task_priority;
};
typedef struct nb_app nb_app_t;
typedef struct nb_app_instance nb_app_instance_t;
struct nb_app {
nb_app_config_t config;
struct nb_app_instance {
nb_app_t config;
};
esp_err_t nb_app_config_validate(nb_app_config_t* _Nonnull app);
esp_err_t nb_app_validate(nb_app_t* _Nonnull app);
#endif //NANOBAKE_NB_APP_H
+1 -1
View File
@@ -18,7 +18,7 @@ typedef struct nb_display_driver nb_display_driver_t;
struct nb_display_driver {
char name[32];
esp_err_t (*create_display)(nb_display_t* display);
bool (*create_display)(nb_display_t* display);
};
/**
+1 -3
View File
@@ -10,8 +10,6 @@
typedef nb_touch_driver_t (*create_touch_driver)();
typedef nb_display_driver_t (*create_display_driver)();
typedef nb_app_config_t (*create_app)();
typedef struct nb_platform_config nb_platform_config_t;
struct nb_platform_config {
// Required driver for display
@@ -19,7 +17,7 @@ struct nb_platform_config {
// Optional driver for touch input
create_touch_driver _Nullable touch_driver;
// List of user applications
create_app apps[];
nb_app_t* apps[];
};
typedef struct nb_lvgl nb_lvgl_t;
+1 -2
View File
@@ -8,8 +8,7 @@ typedef struct nb_touch_driver nb_touch_driver_t;
struct nb_touch_driver {
char name[32];
esp_err_t (*init_io)(esp_lcd_panel_io_handle_t* io_handle);
esp_err_t (*create_touch)(esp_lcd_panel_io_handle_t io_handle, esp_lcd_touch_handle_t* touch_handle);
bool (*create_touch)(esp_lcd_panel_io_handle_t* io_handle, esp_lcd_touch_handle_t* touch_handle);
};
typedef struct nb_touch nb_touch_t;