summaryrefslogtreecommitdiff
path: root/firmware/powermgmt.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/powermgmt.h')
-rw-r--r--firmware/powermgmt.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/firmware/powermgmt.h b/firmware/powermgmt.h
index 329bf6005f..f0c34a4fb1 100644
--- a/firmware/powermgmt.h
+++ b/firmware/powermgmt.h
@@ -24,7 +24,7 @@
24#define BATTERY_LEVEL_SHUTDOWN 450 /* 4.5V */ 24#define BATTERY_LEVEL_SHUTDOWN 450 /* 4.5V */
25#define BATTERY_LEVEL_EMPTY 465 /* 4.65V */ 25#define BATTERY_LEVEL_EMPTY 465 /* 4.65V */
26#define BATTERY_LEVEL_DANGEROUS 475 /* 4.75V */ 26#define BATTERY_LEVEL_DANGEROUS 475 /* 4.75V */
27#define BATTERY_LEVEL_FULL 520 /* 5.2V */ 27#define BATTERY_LEVEL_FULL 585 /* 5.85V */
28 28
29#define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_EMPTY) 29#define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_EMPTY)
30 30
@@ -39,15 +39,27 @@
39 39
40#ifdef HAVE_CHARGE_CTRL 40#ifdef HAVE_CHARGE_CTRL
41#define POWER_MESSAGE_LEN 32 /* power thread status message */ 41#define POWER_MESSAGE_LEN 32 /* power thread status message */
42#define CHARGE_MAX_TIME 6*60 /* minutes: maximum charging time */ 42#define CHARGE_MAX_TIME 8*60 /* minutes: maximum charging time */
43#define CHARGE_MIN_TIME 10 /* minutes: minimum charging time */ 43#define CHARGE_MIN_TIME 10 /* minutes: minimum charging time */
44#define CHARGE_RESTART_HI 95 /* %: when to restart charging in 'charge' mode */ 44#define CHARGE_RESTART_HI 95 /* %: when to restart charging in 'charge' mode */
45#define CHARGE_RESTART_LO 10 /* %: when to restart charging in 'discharge' mode */ 45#define CHARGE_RESTART_LO 10 /* %: when to restart charging in 'discharge' mode */
46#define CHARGE_PAUSE_LEN 60 /* how many minutes to pause between charging cycles */
46 47
47extern char power_message[POWER_MESSAGE_LEN]; 48extern char power_message[POWER_MESSAGE_LEN];
48extern char charge_restart_level; 49extern char charge_restart_level;
50
51extern int powermgmt_last_cycle_startstop_min; /* how many minutes ago was the charging started or stopped? */
52extern int powermgmt_last_cycle_level; /* which level had the batteries at this time? */
53
54extern int battery_lazyness[20]; /* how does the battery react when plugging in/out the charger */
55
49#endif /* HAVE_CHARGE_CTRL */ 56#endif /* HAVE_CHARGE_CTRL */
50 57
58#define BATTERY_CAPACITY 1800 /* battery capacity in mAh for runtime estimation */
59#define CURRENT_NORMAL 145 /* usual current in mA when using the AJB including some disk/backlight/... activity */
60#define CURRENT_BACKLIGHT 30 /* additional current when backlight is always on */
61#define CURRENT_CHARGING 300 /* charging current */
62
51extern unsigned short power_history[POWER_HISTORY_LEN]; 63extern unsigned short power_history[POWER_HISTORY_LEN];
52 64
53/* Start up power management thread */ 65/* Start up power management thread */
@@ -57,6 +69,7 @@ void power_init(void);
57 69
58/* Returns battery level in percent */ 70/* Returns battery level in percent */
59int battery_level(void); 71int battery_level(void);
72int battery_time(void); /* minutes */
60 73
61/* Tells if the battery level is safe for disk writes */ 74/* Tells if the battery level is safe for disk writes */
62bool battery_level_safe(void); 75bool battery_level_safe(void);