diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/power.c | 15 | ||||
-rw-r--r-- | firmware/drivers/power.h | 3 |
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 | ||
75 | void 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 | ||
77 | bool charger_inserted(void) | 88 | bool charger_inserted(void) |
@@ -90,4 +101,8 @@ void charger_enable(bool on) | |||
90 | on = on; | 101 | on = on; |
91 | } | 102 | } |
92 | 103 | ||
104 | void 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 | ||
28 | bool charger_inserted(void); | 28 | bool charger_inserted(void); |
29 | void charger_enable(bool on); | 29 | void charger_enable(bool on); |
30 | void ide_power_enable(bool on); | 30 | void ide_power_enable(bool on); |
31 | void power_off(void); | ||
31 | 32 | ||
32 | /* Returns battery level in percent */ | 33 | /* Returns battery level in percent */ |
33 | int battery_level(void); | 34 | int battery_level(void); |