diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index 94b697aada..1dce12907f 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c @@ -259,7 +259,7 @@ static int usbcharging_callback(int action, MENUITEM_SETTING(usb_charging, &global_settings.usb_charging, usbcharging_callback); #endif /* HAVE_USB_CHARGING_ENABLE */ MAKE_MENU(battery_menu, ID2P(LANG_BATTERY_MENU), 0, Icon_NOICON, -#if defined(BATTERY_CAPACITY_INC) && BATTERY_CAPACITY_INC > 0 +#if BATTERY_CAPACITY_INC > 0 &battery_capacity, #endif #if BATTERY_TYPES_COUNT > 1 diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index 53931d1930..e918fae39d 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -567,7 +567,12 @@ enum plugin_status plugin_start(const void* parameter) ,MODEL_NAME,rb->rbversion); rb->fdprintf(fd, "# Battery type: %d mAh Buffer Entries: %d\n", - rb->global_settings->battery_capacity, (int)BUF_ELEMENTS); +#if BATTERY_CAPACITY_INC > 0 + rb->global_settings->battery_capacity, +#else + BATTERY_CAPACITY_DEFAULT, +#endif + (int)BUF_ELEMENTS); rb->fdprintf(fd, "# Rockbox has been running for %02d:%02d:%02d\n", HMS((unsigned)start_tick/HZ)); diff --git a/apps/settings.c b/apps/settings.c index c7dd2cf9ab..6d49beb5e3 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -835,7 +835,7 @@ void settings_apply(bool read_disk) set_keypress_restarts_sleep_timer( global_settings.keypress_restarts_sleeptimer); -#if defined(BATTERY_CAPACITY_INC) && BATTERY_CAPACITY_INC > 0 +#if BATTERY_CAPACITY_INC > 0 /* only call if it's really exchangable */ set_battery_capacity(global_settings.battery_capacity); #endif diff --git a/apps/settings.h b/apps/settings.h index c0a913c1c6..ce7421d95e 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -608,10 +608,9 @@ struct user_settings /* power settings */ int poweroff; /* idle power off timer */ -#if BATTERY_CAPACITY_DEFAULT > 0 +#if BATTERY_CAPACITY_INC > 0 int battery_capacity; /* in mAh */ #endif - #if BATTERY_TYPES_COUNT > 1 int battery_type; /* for units which can take multiple types (Ondio). */ #endif diff --git a/apps/settings_list.c b/apps/settings_list.c index afab6dce5b..f7d7007b9c 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -1036,13 +1036,7 @@ const struct settings_list settings[] = { NULL, NULL, NULL), /* use this setting for user code even if there's no exchangable battery * support enabled */ -#if BATTERY_CAPACITY_DEFAULT > 0 -/* define min/max/inc for this file if there's only one battery */ -#ifndef BATTERY_CAPACITY_MIN -#define BATTERY_CAPACITY_MIN BATTERY_CAPACITY_DEFAULT -#define BATTERY_CAPACITY_MAX BATTERY_CAPACITY_DEFAULT -#define BATTERY_CAPACITY_INC 0 -#endif +#if BATTERY_CAPACITY_INC > 0 #if defined(IPOD_VIDEO) && !defined(SIMULATOR) /* its easier to leave this one un-macro()ed for the time being */ { F_T_INT|F_DEF_ISFUNC|F_INT_SETTING, &global_settings.battery_capacity, diff --git a/firmware/export/config.h b/firmware/export/config.h index bb3f405d6a..277a1d8632 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -709,6 +709,14 @@ Lyre prototype 1 */ #define BATTERY_CAPACITY_DEFAULT 0 #endif +#ifndef BATTERY_CAPACITY_MIN +#define BATTERY_CAPACITY_MIN BATTERY_CAPACITY_DEFAULT +#endif + +#ifndef BATTERY_CAPACITY_MAX +#define BATTERY_CAPACITY_MAX BATTERY_CAPACITY_DEFAULT +#endif + #ifndef BATTERY_CAPACITY_INC #define BATTERY_CAPACITY_INC 0 #endif diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h index f45690573a..329e64d653 100644 --- a/firmware/export/powermgmt.h +++ b/firmware/export/powermgmt.h @@ -157,8 +157,10 @@ void battery_read_info(int *voltage, int *level); bool battery_level_safe(void); void set_poweroff_timeout(int timeout); +#if BATTERY_CAPACITY_INC > 0 void set_battery_capacity(int capacity); /* set local battery capacity value */ -int get_battery_capacity(void); /* get local battery capacity value */ +#endif +int get_battery_capacity(void); /* get local battery capacity value */ void set_battery_type(int type); /* set local battery type */ void set_sleeptimer_duration(int minutes); diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index 8c807e5382..8e47b19721 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -114,7 +114,11 @@ int _battery_time(void) { return powermgmt_est_runningtime_min; } #endif /* default value, mAh */ +#if BATTERY_CAPACITY_INC > 0 static int battery_capacity = BATTERY_CAPACITY_DEFAULT; +#else +# define battery_capacity BATTERY_CAPACITY_DEFAULT +#endif #if BATTERY_TYPES_COUNT > 1 static int battery_type = 0; @@ -170,7 +174,7 @@ void set_battery_type(int type) } #endif -#ifdef BATTERY_CAPACITY_MIN +#if BATTERY_CAPACITY_INC > 0 void set_battery_capacity(int capacity) { if (capacity > BATTERY_CAPACITY_MAX)