From 4bdbd29b015be78be475c4bfe422a2b91ce23273 Mon Sep 17 00:00:00 2001 From: zhiayang Date: Fri, 23 Feb 2024 01:34:38 -0500 Subject: [PATCH] update nice_view and default battery widgets --- .../nice_view/widgets/peripheral_status.c | 18 ++++++------------ app/boards/shields/nice_view/widgets/status.c | 14 +++----------- app/boards/shields/nice_view/widgets/util.h | 4 +--- app/src/display/widgets/battery_status.c | 18 ++++-------------- 4 files changed, 14 insertions(+), 40 deletions(-) diff --git a/app/boards/shields/nice_view/widgets/peripheral_status.c b/app/boards/shields/nice_view/widgets/peripheral_status.c index b9da1996..c0a368af 100644 --- a/app/boards/shields/nice_view/widgets/peripheral_status.c +++ b/app/boards/shields/nice_view/widgets/peripheral_status.c @@ -56,10 +56,7 @@ static void draw_top(lv_obj_t *widget, lv_color_t cbuf[], const struct status_st static void set_battery_status(struct zmk_widget_status *widget, struct battery_status_state state) { -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - widget->state.charging = state.usb_present; -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - + widget->state.charging = state.is_charging; widget->state.battery = state.level; draw_top(widget->obj, widget->cbuf, &widget->state); @@ -71,11 +68,11 @@ static void battery_status_update_cb(struct battery_status_state state) { } static struct battery_status_state battery_status_get_state(const zmk_event_t *eh) { - return (struct battery_status_state) { - .level = zmk_battery_state_of_charge(), -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - .usb_present = zmk_usb_is_powered(), -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ + const struct zmk_battery_state_changed *ev = as_zmk_battery_state_changed(eh); + + return (struct battery_status_state){ + .level = (ev != NULL) ? ev->state_of_charge : zmk_battery_state_of_charge(), + .is_charging = (ev != NULL) ? ev->is_charging : zmk_battery_is_charging(), }; } @@ -83,9 +80,6 @@ ZMK_DISPLAY_WIDGET_LISTENER(widget_battery_status, struct battery_status_state, battery_status_update_cb, battery_status_get_state) ZMK_SUBSCRIPTION(widget_battery_status, zmk_battery_state_changed); -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) -ZMK_SUBSCRIPTION(widget_battery_status, zmk_usb_conn_state_changed); -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ static struct peripheral_status_state get_state(const zmk_event_t *_eh) { return (struct peripheral_status_state){.connected = zmk_split_bt_peripheral_is_connected()}; diff --git a/app/boards/shields/nice_view/widgets/status.c b/app/boards/shields/nice_view/widgets/status.c index 061b7127..e6ff02c8 100644 --- a/app/boards/shields/nice_view/widgets/status.c +++ b/app/boards/shields/nice_view/widgets/status.c @@ -195,10 +195,7 @@ static void draw_bottom(lv_obj_t *widget, lv_color_t cbuf[], const struct status static void set_battery_status(struct zmk_widget_status *widget, struct battery_status_state state) { -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - widget->state.charging = state.usb_present; -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - + widget->state.charging = state.is_charging; widget->state.battery = state.level; draw_top(widget->obj, widget->cbuf, &widget->state); @@ -212,11 +209,9 @@ static void battery_status_update_cb(struct battery_status_state state) { static struct battery_status_state battery_status_get_state(const zmk_event_t *eh) { const struct zmk_battery_state_changed *ev = as_zmk_battery_state_changed(eh); - return (struct battery_status_state) { + return (struct battery_status_state){ .level = (ev != NULL) ? ev->state_of_charge : zmk_battery_state_of_charge(), -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - .usb_present = zmk_usb_is_powered(), -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ + .is_charging = (ev != NULL) ? ev->is_charging : zmk_battery_is_charging(), }; } @@ -224,9 +219,6 @@ ZMK_DISPLAY_WIDGET_LISTENER(widget_battery_status, struct battery_status_state, battery_status_update_cb, battery_status_get_state) ZMK_SUBSCRIPTION(widget_battery_status, zmk_battery_state_changed); -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) -ZMK_SUBSCRIPTION(widget_battery_status, zmk_usb_conn_state_changed); -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ static void set_output_status(struct zmk_widget_status *widget, const struct output_status_state *state) { diff --git a/app/boards/shields/nice_view/widgets/util.h b/app/boards/shields/nice_view/widgets/util.h index fbcb616f..7b942de1 100644 --- a/app/boards/shields/nice_view/widgets/util.h +++ b/app/boards/shields/nice_view/widgets/util.h @@ -33,9 +33,7 @@ struct status_state { struct battery_status_state { uint8_t level; -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - bool usb_present; -#endif + bool is_charging; }; void rotate_canvas(lv_obj_t *canvas, lv_color_t cbuf[]); diff --git a/app/src/display/widgets/battery_status.c b/app/src/display/widgets/battery_status.c index bec6964b..51f2b01e 100644 --- a/app/src/display/widgets/battery_status.c +++ b/app/src/display/widgets/battery_status.c @@ -21,21 +21,16 @@ static sys_slist_t widgets = SYS_SLIST_STATIC_INIT(&widgets); struct battery_status_state { uint8_t level; -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - bool usb_present; -#endif + bool is_charging; }; static void set_battery_symbol(lv_obj_t *label, struct battery_status_state state) { char text[9] = {}; uint8_t level = state.level; - -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - if (state.usb_present) { + if (state.is_charging) { strcpy(text, LV_SYMBOL_CHARGE " "); } -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ #if IS_ENABLED(CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE) char perc[5] = {}; @@ -65,11 +60,9 @@ void battery_status_update_cb(struct battery_status_state state) { static struct battery_status_state battery_status_get_state(const zmk_event_t *eh) { const struct zmk_battery_state_changed *ev = as_zmk_battery_state_changed(eh); - return (struct battery_status_state) { + return (struct battery_status_state){ .level = (ev != NULL) ? ev->state_of_charge : zmk_battery_state_of_charge(), -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - .usb_present = zmk_usb_is_powered(), -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ + .is_charging = (ev != NULL) ? ev->is_charging : zmk_battery_is_charging(), }; } @@ -77,9 +70,6 @@ ZMK_DISPLAY_WIDGET_LISTENER(widget_battery_status, struct battery_status_state, battery_status_update_cb, battery_status_get_state) ZMK_SUBSCRIPTION(widget_battery_status, zmk_battery_state_changed); -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) -ZMK_SUBSCRIPTION(widget_battery_status, zmk_usb_conn_state_changed); -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ int zmk_widget_battery_status_init(struct zmk_widget_battery_status *widget, lv_obj_t *parent) { widget->obj = lv_label_create(parent);