summaryrefslogtreecommitdiff
path: root/firmware/drivers/power.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/power.c')
-rw-r--r--firmware/drivers/power.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c
index d3ce939ce2..559509fa67 100644
--- a/firmware/drivers/power.c
+++ b/firmware/drivers/power.c
@@ -22,12 +22,16 @@
22#include "adc.h" 22#include "adc.h"
23#include "power.h" 23#include "power.h"
24 24
25#ifdef HAVE_CHARGE_CTRL
26bool charger_enabled = 0;
27#endif
28
25#ifndef SIMULATOR 29#ifndef SIMULATOR
26 30
27bool charger_inserted(void) 31bool charger_inserted(void)
28{ 32{
29#ifdef ARCHOS_RECORDER 33#ifdef ARCHOS_RECORDER
30 return adc_read(ADC_EXT_POWER) > 0x200; 34 return adc_read(ADC_EXT_POWER) > 0x100;
31#else 35#else
32 return (PADR & 1) == 0; 36 return (PADR & 1) == 0;
33#endif 37#endif
@@ -58,11 +62,14 @@ bool battery_level_safe(void)
58 62
59void charger_enable(bool on) 63void charger_enable(bool on)
60{ 64{
61#ifdef ARCHOS_RECORDER 65#ifdef HAVE_CHARGE_CTRL
62 if(on) 66 if(on) {
63 PBDR &= ~0x20; 67 PBDR &= ~0x20;
64 else 68 charger_enabled = 1;
69 } else {
65 PBDR |= 0x20; 70 PBDR |= 0x20;
71 charger_enabled = 0;
72 }
66#else 73#else
67 on = on; 74 on = on;
68#endif 75#endif