saving and charge indication working
This commit is contained in:
45
main/gui.c
45
main/gui.c
@@ -100,6 +100,7 @@ static lv_obj_t *list;
|
||||
static lv_obj_t *buttons[MAX_ITEMS];
|
||||
static int selected_index = 0;
|
||||
static lv_obj_t *_bubble = NULL;
|
||||
static lv_obj_t *_voltageLabel = NULL;
|
||||
static lv_obj_t * _menu = NULL;
|
||||
static lv_obj_t *_currentPage = NULL;
|
||||
|
||||
@@ -242,6 +243,9 @@ static void show_menu(void) {
|
||||
|
||||
lv_obj_remove_flag(menu, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_add_flag(_bubble, LV_OBJ_FLAG_HIDDEN);
|
||||
if (_voltageLabel != NULL) {
|
||||
lv_obj_add_flag(_voltageLabel, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
}
|
||||
|
||||
static void cleanup_menu(void) {
|
||||
@@ -269,6 +273,9 @@ static void cleanup_menu(void) {
|
||||
static void show_bubble(void) {
|
||||
cleanup_menu(); // Free menu memory when returning to bubble
|
||||
lv_obj_remove_flag(_bubble, LV_OBJ_FLAG_HIDDEN);
|
||||
if (_voltageLabel != NULL) {
|
||||
lv_obj_remove_flag(_voltageLabel, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
}
|
||||
|
||||
static void create_lvgl_demo(void)
|
||||
@@ -393,6 +400,23 @@ static void createBubble(lv_obj_t * scr)
|
||||
// (usually on the next tick, or immediately if LVGL is idle).
|
||||
|
||||
_bubble = level;
|
||||
|
||||
#if 0
|
||||
// Create voltage label at the top
|
||||
_voltageLabel = lv_label_create(scr);
|
||||
lv_label_set_text(_voltageLabel, "---- mV");
|
||||
lv_obj_align(_voltageLabel, LV_ALIGN_TOP_MID, 0, 10);
|
||||
lv_obj_set_style_text_font(_voltageLabel, &lv_font_montserrat_14, 0);
|
||||
// Add white background for contrast
|
||||
lv_obj_set_style_bg_color(_voltageLabel, lv_color_hex(0xFFFFFF), 0);
|
||||
lv_obj_set_style_bg_opa(_voltageLabel, LV_OPA_COVER, 0);
|
||||
lv_obj_set_style_text_color(_voltageLabel, lv_color_hex(0x000000), 0);
|
||||
lv_obj_set_style_pad_left(_voltageLabel, 8, 0);
|
||||
lv_obj_set_style_pad_right(_voltageLabel, 8, 0);
|
||||
lv_obj_set_style_pad_top(_voltageLabel, 4, 0);
|
||||
lv_obj_set_style_pad_bottom(_voltageLabel, 4, 0);
|
||||
lv_obj_set_style_radius(_voltageLabel, 4, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1289,6 +1313,9 @@ static void show_bt_device_list(void) {
|
||||
|
||||
lv_obj_remove_flag(menu, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_add_flag(_bubble, LV_OBJ_FLAG_HIDDEN);
|
||||
if (_voltageLabel != NULL) {
|
||||
lv_obj_add_flag(_voltageLabel, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1420,6 +1447,9 @@ static void show_volume_control(void) {
|
||||
|
||||
lv_obj_remove_flag(menu, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_add_flag(_bubble, LV_OBJ_FLAG_HIDDEN);
|
||||
if (_voltageLabel != NULL) {
|
||||
lv_obj_add_flag(_voltageLabel, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Volume control displayed");
|
||||
}
|
||||
@@ -1685,6 +1715,9 @@ static void show_calibration_menu(void) {
|
||||
|
||||
lv_obj_remove_flag(menu, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_add_flag(_bubble, LV_OBJ_FLAG_HIDDEN);
|
||||
if (_voltageLabel != NULL) {
|
||||
lv_obj_add_flag(_voltageLabel, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Calibration menu displayed");
|
||||
}
|
||||
@@ -1950,6 +1983,18 @@ static void gui_task(void *pvParameters)
|
||||
{
|
||||
ImuData_t d = system_getImuData();
|
||||
bubble_setValue(_bubble, -d.angle);
|
||||
|
||||
#if 0
|
||||
// Update voltage display
|
||||
lvgl_port_lock(0);
|
||||
int voltage_mv = system_getBatteryVoltage();
|
||||
if (_voltageLabel != NULL) {
|
||||
char buf[16];
|
||||
snprintf(buf, sizeof(buf), "%d mV", voltage_mv);
|
||||
lv_label_set_text(_voltageLabel, buf);
|
||||
}
|
||||
lvgl_port_unlock();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user