summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-07-05 07:10:22 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-07-05 07:10:22 +0000
commit4edf8aebf561d960e590752ae69eeb6cdc27c188 (patch)
tree3d68365641a497a820a68580994f9b7920f16a0b
parentc6de959f04f5e7bc7dfaf144ac3731621de1d81b (diff)
downloadrockbox-4edf8aebf561d960e590752ae69eeb6cdc27c188.zip
rockbox-4edf8aebf561d960e590752ae69eeb6cdc27c188.tar.gz
rockbox-4edf8aebf561d960e590752ae69eeb6cdc27c188.tar.bz2
rockbox-4edf8aebf561d960e590752ae69eeb6cdc27c188.tar.xz
Added power_off() and lowered the FULL limit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1337 a1c6a512-1295-4272-9138-f99709370657
-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 9ddbbdb..09a4e76 100644
--- a/firmware/drivers/power.c
+++ b/firmware/drivers/power.c
@@ -72,6 +72,17 @@ void ide_power_enable(bool on)
#endif
}
+void power_off(void)
+{
+#ifdef ARCHOS_RECORDER
+ PBDR &= ~PBDR_BTN_OFF;
+ PBIOR |= PBDR_BTN_OFF;
+#else
+ PADR &= ~0x800;
+ PAIOR |= 0x800;
+#endif
+}
+
#else
bool charger_inserted(void)
@@ -90,4 +101,8 @@ void charger_enable(bool on)
on = on;
}
+void power_off(void)
+{
+}
+
#endif /* SIMULATOR */
diff --git a/firmware/drivers/power.h b/firmware/drivers/power.h
index 819c198..4b08648 100644
--- a/firmware/drivers/power.h
+++ b/firmware/drivers/power.h
@@ -21,13 +21,14 @@
#define BATTERY_LEVEL_SHUTDOWN (4500000 / BATTERY_SCALE_FACTOR) /* 4.5V */
#define BATTERY_LEVEL_DANGEROUS (4750000 / BATTERY_SCALE_FACTOR) /* 4.75V */
-#define BATTERY_LEVEL_FULL (5550000 / BATTERY_SCALE_FACTOR) /* 5.55V */
+#define BATTERY_LEVEL_FULL (5300000 / BATTERY_SCALE_FACTOR) /* 5.3V */
#define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_SHUTDOWN)
bool charger_inserted(void);
void charger_enable(bool on);
void ide_power_enable(bool on);
+void power_off(void);
/* Returns battery level in percent */
int battery_level(void);