summaryrefslogtreecommitdiff
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,
259MENUITEM_SETTING(usb_charging, &global_settings.usb_charging, usbcharging_callback); 259MENUITEM_SETTING(usb_charging, &global_settings.usb_charging, usbcharging_callback);
260#endif /* HAVE_USB_CHARGING_ENABLE */ 260#endif /* HAVE_USB_CHARGING_ENABLE */
261MAKE_MENU(battery_menu, ID2P(LANG_BATTERY_MENU), 0, Icon_NOICON, 261MAKE_MENU(battery_menu, ID2P(LANG_BATTERY_MENU), 0, Icon_NOICON,
262#if defined(BATTERY_CAPACITY_INC) && BATTERY_CAPACITY_INC > 0 262#if BATTERY_CAPACITY_INC > 0
263 &battery_capacity, 263 &battery_capacity,
264#endif 264#endif
265#if BATTERY_TYPES_COUNT > 1 265#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)
567 ,MODEL_NAME,rb->rbversion); 567 ,MODEL_NAME,rb->rbversion);
568 568
569 rb->fdprintf(fd, "# Battery type: %d mAh Buffer Entries: %d\n", 569 rb->fdprintf(fd, "# Battery type: %d mAh Buffer Entries: %d\n",
570 rb->global_settings->battery_capacity, (int)BUF_ELEMENTS); 570#if BATTERY_CAPACITY_INC > 0
571 rb->global_settings->battery_capacity,
572#else
573 BATTERY_CAPACITY_DEFAULT,
574#endif
575 (int)BUF_ELEMENTS);
571 576
572 rb->fdprintf(fd, "# Rockbox has been running for %02d:%02d:%02d\n", 577 rb->fdprintf(fd, "# Rockbox has been running for %02d:%02d:%02d\n",
573 HMS((unsigned)start_tick/HZ)); 578 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)
835 set_keypress_restarts_sleep_timer( 835 set_keypress_restarts_sleep_timer(
836 global_settings.keypress_restarts_sleeptimer); 836 global_settings.keypress_restarts_sleeptimer);
837 837
838#if defined(BATTERY_CAPACITY_INC) && BATTERY_CAPACITY_INC > 0 838#if BATTERY_CAPACITY_INC > 0
839 /* only call if it's really exchangable */ 839 /* only call if it's really exchangable */
840 set_battery_capacity(global_settings.battery_capacity); 840 set_battery_capacity(global_settings.battery_capacity);
841#endif 841#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
608 608
609 /* power settings */ 609 /* power settings */
610 int poweroff; /* idle power off timer */ 610 int poweroff; /* idle power off timer */
611#if BATTERY_CAPACITY_DEFAULT > 0 611#if BATTERY_CAPACITY_INC > 0
612 int battery_capacity; /* in mAh */ 612 int battery_capacity; /* in mAh */
613#endif 613#endif
614
615#if BATTERY_TYPES_COUNT > 1 614#if BATTERY_TYPES_COUNT > 1
616 int battery_type; /* for units which can take multiple types (Ondio). */ 615 int battery_type; /* for units which can take multiple types (Ondio). */
617#endif 616#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[] = {
1036 NULL, NULL, NULL), 1036 NULL, NULL, NULL),
1037/* use this setting for user code even if there's no exchangable battery 1037/* use this setting for user code even if there's no exchangable battery
1038 * support enabled */ 1038 * support enabled */
1039#if BATTERY_CAPACITY_DEFAULT > 0 1039#if BATTERY_CAPACITY_INC > 0
1040/* define min/max/inc for this file if there's only one battery */
1041#ifndef BATTERY_CAPACITY_MIN
1042#define BATTERY_CAPACITY_MIN BATTERY_CAPACITY_DEFAULT
1043#define BATTERY_CAPACITY_MAX BATTERY_CAPACITY_DEFAULT
1044#define BATTERY_CAPACITY_INC 0
1045#endif
1046#if defined(IPOD_VIDEO) && !defined(SIMULATOR) 1040#if defined(IPOD_VIDEO) && !defined(SIMULATOR)
1047 /* its easier to leave this one un-macro()ed for the time being */ 1041 /* its easier to leave this one un-macro()ed for the time being */
1048 { F_T_INT|F_DEF_ISFUNC|F_INT_SETTING, &global_settings.battery_capacity, 1042 { 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 */
709#define BATTERY_CAPACITY_DEFAULT 0 709#define BATTERY_CAPACITY_DEFAULT 0
710#endif 710#endif
711 711
712#ifndef BATTERY_CAPACITY_MIN
713#define BATTERY_CAPACITY_MIN BATTERY_CAPACITY_DEFAULT
714#endif
715
716#ifndef BATTERY_CAPACITY_MAX
717#define BATTERY_CAPACITY_MAX BATTERY_CAPACITY_DEFAULT
718#endif
719
712#ifndef BATTERY_CAPACITY_INC 720#ifndef BATTERY_CAPACITY_INC
713#define BATTERY_CAPACITY_INC 0 721#define BATTERY_CAPACITY_INC 0
714#endif 722#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);
157bool battery_level_safe(void); 157bool battery_level_safe(void);
158 158
159void set_poweroff_timeout(int timeout); 159void set_poweroff_timeout(int timeout);
160#if BATTERY_CAPACITY_INC > 0
160void set_battery_capacity(int capacity); /* set local battery capacity value */ 161void set_battery_capacity(int capacity); /* set local battery capacity value */
161int get_battery_capacity(void); /* get local battery capacity value */ 162#endif
163int get_battery_capacity(void); /* get local battery capacity value */
162void set_battery_type(int type); /* set local battery type */ 164void set_battery_type(int type); /* set local battery type */
163 165
164void set_sleeptimer_duration(int minutes); 166void 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; }
114#endif 114#endif
115 115
116/* default value, mAh */ 116/* default value, mAh */
117#if BATTERY_CAPACITY_INC > 0
117static int battery_capacity = BATTERY_CAPACITY_DEFAULT; 118static int battery_capacity = BATTERY_CAPACITY_DEFAULT;
119#else
120# define battery_capacity BATTERY_CAPACITY_DEFAULT
121#endif
118 122
119#if BATTERY_TYPES_COUNT > 1 123#if BATTERY_TYPES_COUNT > 1
120static int battery_type = 0; 124static int battery_type = 0;
@@ -170,7 +174,7 @@ void set_battery_type(int type)
170} 174}
171#endif 175#endif
172 176
173#ifdef BATTERY_CAPACITY_MIN 177#if BATTERY_CAPACITY_INC > 0
174void set_battery_capacity(int capacity) 178void set_battery_capacity(int capacity)
175{ 179{
176 if (capacity > BATTERY_CAPACITY_MAX) 180 if (capacity > BATTERY_CAPACITY_MAX)