summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/power.c15
-rw-r--r--firmware/drivers/power.h3
2 files changed, 17 insertions, 1 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c
index 9ddbbdbbb2..09a4e76935 100644
--- a/firmware/drivers/power.c
+++ b/firmware/drivers/power.c
@@ -72,6 +72,17 @@ void ide_power_enable(bool on)
72#endif 72#endif
73} 73}
74 74
75void power_off(void)
76{
77#ifdef ARCHOS_RECORDER
78 PBDR &= ~PBDR_BTN_OFF;
79 PBIOR |= PBDR_BTN_OFF;
80#else
81 PADR &= ~0x800;
82 PAIOR |= 0x800;
83#endif
84}
85
75#else 86#else
76 87
77bool charger_inserted(void) 88bool charger_inserted(void)
@@ -90,4 +101,8 @@ void charger_enable(bool on)
90 on = on; 101 on = on;
91} 102}
92 103
104void power_off(void)
105{
106}
107
93#endif /* SIMULATOR */ 108#endif /* SIMULATOR */
diff --git a/firmware/drivers/power.h b/firmware/drivers/power.h
index 819c1983d9..4b08648112 100644
--- a/firmware/drivers/power.h
+++ b/firmware/drivers/power.h
@@ -21,13 +21,14 @@
21 21
22#define BATTERY_LEVEL_SHUTDOWN (4500000 / BATTERY_SCALE_FACTOR) /* 4.5V */ 22#define BATTERY_LEVEL_SHUTDOWN (4500000 / BATTERY_SCALE_FACTOR) /* 4.5V */
23#define BATTERY_LEVEL_DANGEROUS (4750000 / BATTERY_SCALE_FACTOR) /* 4.75V */ 23#define BATTERY_LEVEL_DANGEROUS (4750000 / BATTERY_SCALE_FACTOR) /* 4.75V */
24#define BATTERY_LEVEL_FULL (5550000 / BATTERY_SCALE_FACTOR) /* 5.55V */ 24#define BATTERY_LEVEL_FULL (5300000 / BATTERY_SCALE_FACTOR) /* 5.3V */
25 25
26#define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_SHUTDOWN) 26#define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_SHUTDOWN)
27 27
28bool charger_inserted(void); 28bool charger_inserted(void);
29void charger_enable(bool on); 29void charger_enable(bool on);
30void ide_power_enable(bool on); 30void ide_power_enable(bool on);
31void power_off(void);
31 32
32/* Returns battery level in percent */ 33/* Returns battery level in percent */
33int battery_level(void); 34int battery_level(void);