summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/export/config/erosqnative.h2
-rw-r--r--firmware/export/config/fiiom3k.h2
-rw-r--r--firmware/export/config/shanlingq1.h2
-rw-r--r--firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c10
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c10
-rw-r--r--firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c10
6 files changed, 33 insertions, 3 deletions
diff --git a/firmware/export/config/erosqnative.h b/firmware/export/config/erosqnative.h
index f68830e211..17a2b250f2 100644
--- a/firmware/export/config/erosqnative.h
+++ b/firmware/export/config/erosqnative.h
@@ -83,7 +83,7 @@
83#define STORAGE_NEEDS_BOUNCE_BUFFER 83#define STORAGE_NEEDS_BOUNCE_BUFFER
84 84
85/* Power management */ 85/* Power management */
86#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE 86#define CONFIG_BATTERY_MEASURE (VOLTAGE_MEASURE/*|CURRENT_MEASURE*/)
87#define CONFIG_CHARGING CHARGING_MONITOR 87#define CONFIG_CHARGING CHARGING_MONITOR
88#define HAVE_SW_POWEROFF 88#define HAVE_SW_POWEROFF
89 89
diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h
index 61b6123a67..558ff41dd7 100644
--- a/firmware/export/config/fiiom3k.h
+++ b/firmware/export/config/fiiom3k.h
@@ -88,7 +88,7 @@
88/* TODO: implement HAVE_RTC_ALARM */ 88/* TODO: implement HAVE_RTC_ALARM */
89 89
90/* Power management */ 90/* Power management */
91#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE 91#define CONFIG_BATTERY_MEASURE (VOLTAGE_MEASURE|CURRENT_MEASURE)
92#define CONFIG_CHARGING CHARGING_MONITOR 92#define CONFIG_CHARGING CHARGING_MONITOR
93#define HAVE_SW_POWEROFF 93#define HAVE_SW_POWEROFF
94 94
diff --git a/firmware/export/config/shanlingq1.h b/firmware/export/config/shanlingq1.h
index 16ce888958..18786e9a4b 100644
--- a/firmware/export/config/shanlingq1.h
+++ b/firmware/export/config/shanlingq1.h
@@ -76,7 +76,7 @@
76/* TODO: implement HAVE_RTC_ALARM */ 76/* TODO: implement HAVE_RTC_ALARM */
77 77
78/* Power management */ 78/* Power management */
79#define CONFIG_BATTERY_MEASURE (VOLTAGE_MEASURE) 79#define CONFIG_BATTERY_MEASURE (VOLTAGE_MEASURE|CURRENT_MEASURE)
80#define CONFIG_CHARGING CHARGING_MONITOR 80#define CONFIG_CHARGING CHARGING_MONITOR
81#define HAVE_SW_POWEROFF 81#define HAVE_SW_POWEROFF
82 82
diff --git a/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c b/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c
index 5573919aa2..a1a4d2c2b2 100644
--- a/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c
+++ b/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c
@@ -111,3 +111,13 @@ int _battery_voltage(void)
111{ 111{
112 return axp_adc_read(ADC_BATTERY_VOLTAGE); 112 return axp_adc_read(ADC_BATTERY_VOLTAGE);
113} 113}
114
115#if CONFIG_BATTERY_MEASURE & CURRENT_MEASURE
116int _battery_current(void)
117{
118 if(charging_state())
119 return axp_adc_read(ADC_CHARGE_CURRENT);
120 else
121 return axp_adc_read(ADC_DISCHARGE_CURRENT);
122}
123#endif
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c b/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
index 5c92fa81e2..2d28ad0975 100644
--- a/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
+++ b/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
@@ -106,3 +106,13 @@ int _battery_voltage(void)
106{ 106{
107 return axp_adc_read(ADC_BATTERY_VOLTAGE); 107 return axp_adc_read(ADC_BATTERY_VOLTAGE);
108} 108}
109
110#if CONFIG_BATTERY_MEASURE & CURRENT_MEASURE
111int _battery_current(void)
112{
113 if(charging_state())
114 return axp_adc_read(ADC_CHARGE_CURRENT);
115 else
116 return axp_adc_read(ADC_DISCHARGE_CURRENT);
117}
118#endif
diff --git a/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c b/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c
index 17fbe1cede..75f8031dd9 100644
--- a/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c
+++ b/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c
@@ -121,6 +121,16 @@ int _battery_voltage(void)
121 return axp_adc_read(ADC_BATTERY_VOLTAGE); 121 return axp_adc_read(ADC_BATTERY_VOLTAGE);
122} 122}
123 123
124#if CONFIG_BATTERY_MEASURE & CURRENT_MEASURE
125int _battery_current(void)
126{
127 if(charging_state())
128 return axp_adc_read(ADC_CHARGE_CURRENT);
129 else
130 return axp_adc_read(ADC_DISCHARGE_CURRENT);
131}
132#endif
133
124#if defined(HAVE_CW2015) && (CONFIG_BATTERY_MEASURE & PERCENTAGE_MEASURE) != 0 134#if defined(HAVE_CW2015) && (CONFIG_BATTERY_MEASURE & PERCENTAGE_MEASURE) != 0
125int _battery_level(void) 135int _battery_level(void)
126{ 136{