summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/menus/settings_menu.c2
-rw-r--r--apps/plugins/battery_bench.c7
-rw-r--r--apps/settings.c2
-rw-r--r--apps/settings.h3
-rw-r--r--apps/settings_list.c8
-rw-r--r--firmware/export/config.h8
-rw-r--r--firmware/export/powermgmt.h4
-rw-r--r--firmware/powermgmt.c6
8 files changed, 26 insertions, 14 deletions
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)