From 0ca0940f012566f8bb9d378386f97608d21ea8bc Mon Sep 17 00:00:00 2001 From: Dana Conrad Date: Mon, 13 Sep 2021 14:41:42 -0500 Subject: [PATCH] Make USB Charging default value configurable per device A reasonable default assumption for a user would be that they can plug their device into a USB AC adapter and it will charge with as much current as it reasonably can. With the previous default, an AC adapter will only do 100mA, basically a trickle charge. Make this configurable default per-device, so as not to break old devices without testing. Define TARGET_USB_CHARGING_DEFAULT to USB_CHARGING_FORCE to use the new default. Tested on both erosQ Native and M3K. Change-Id: I77265d356a41d67357ebc6e9f7e0c25a37b74931 --- apps/settings_list.c | 8 +++++++- firmware/export/config/erosqnative.h | 1 + firmware/export/config/fiiom3k.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/settings_list.c b/apps/settings_list.c index 4c92bb4322..d9ffd8cf3e 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -345,6 +345,12 @@ static const char graphic_numeric[] = "graphic,numeric"; #endif #endif /* HAVE_BACKLIGHT */ +#if defined(HAVE_USB_CHARGING_ENABLE) +# if !defined(TARGET_USB_CHARGING_DEFAULT) +# define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_ENABLE +# endif +#endif + #if LCD_DEPTH > 1 static const char* list_pad_formatter(char *buffer, size_t buffer_size, int val, const char *unit) @@ -1827,7 +1833,7 @@ const struct settings_list settings[] = { #endif TEXT_SETTING(0,kbd_file,"kbd","-",ROCKBOX_DIR "/",".kbd"), #ifdef HAVE_USB_CHARGING_ENABLE - CHOICE_SETTING(0, usb_charging, LANG_USB_CHARGING, 1, "usb charging", + CHOICE_SETTING(0, usb_charging, LANG_USB_CHARGING, TARGET_USB_CHARGING_DEFAULT, "usb charging", "off,on,force", NULL, 3, ID2P(LANG_SET_BOOL_NO), ID2P(LANG_SET_BOOL_YES), ID2P(LANG_FORCE)), #endif diff --git a/firmware/export/config/erosqnative.h b/firmware/export/config/erosqnative.h index b2b6f3f89e..e0a668d82d 100644 --- a/firmware/export/config/erosqnative.h +++ b/firmware/export/config/erosqnative.h @@ -114,6 +114,7 @@ #define USB_DEVBSS_ATTR __attribute__((aligned(32))) #define HAVE_USB_POWER #define HAVE_USB_CHARGING_ENABLE +#define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_FORCE #define HAVE_BOOTLOADER_USB_MODE #endif diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h index 849aa9c0a6..dc56f0a5cc 100644 --- a/firmware/export/config/fiiom3k.h +++ b/firmware/export/config/fiiom3k.h @@ -114,6 +114,7 @@ #define USB_DEVBSS_ATTR __attribute__((aligned(32))) #define HAVE_USB_POWER #define HAVE_USB_CHARGING_ENABLE +#define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_FORCE #define HAVE_BOOTLOADER_USB_MODE #endif