*/
#include <stdio.h>
#include "test.h"
+#include <vconf.h>
#define METHOD_BATTERY_TIMETOFULL "TimeToFull"
#define METHOD_BATTERY_TIMETOEMPTY "TimeToEmpty"
#define METHOD_BATTERY_HEALTH "GetHealth"
#define METHOD_BATTERY_GETINFO "GetBatteryInfo"
#define METHOD_BATTERY_POWERSUPPLY "power_supply"
-
-#define CHARGEFULL_NAME "Full"
-#define CHARGENOW_NAME "Charging"
-#define DISCHARGE_NAME "Discharging"
-#define NOTCHARGE_NAME "Not charging"
-
-#define GOOD_NAME "Good"
-#define OVERHEAT_NAME "Overheat"
-#define TEMPCOLD_NAME "Cold"
-#define OVERVOLT_NAME "Over voltage"
-
-#define POWER_SUPPLY_TYPE_BATTERY "1"
-#define POWER_SUPPLY_TYPE_UPS "2"
-
+#define METHOD_BATTERY_GET_POWERSUPPLY "get_power_supply"
+
+//Charging Status
+#define CHARGEFULL "Full"
+#define CHARGENOW "Charging"
+#define DISCHARGE "Discharging"
+#define NOTCHARGE "Not charging"
+
+//Battery Health
+#define GOOD "Good"
+#define OVERHEAT "Overheat"
+#define TEMPCOLD "Cold"
+#define OVERVOLT "Over voltage"
+
+//Power Source
+#define TYPE_UNKNOWN "0"
+#define TYPE_BATTERY "1"
+#define TYPE_UPS "2"
+#define TYPE_MAINS "3"
+#define TYPE_USB "4"
+
+//External Power Source
+#define AC "ac"
+#define USB "usb"
+#define WIRELESS "wireless"
+#define NONE "none"
+
+//Battery Voltage
+#define VOLT_4P2 "4200000"
+#define VOLT_3P6 "3700000"
+#define VOLT_3P4 "3500000"
+#define VOLT_3P2 "3200000"
+#define VOLT_3P0 "3000000"
+
+//Battery Temperature
+#define TEMP_800 "800"
+#define TEMP_250 "250"
+#define TEMP_0 "0"
+
+//Charging Current
+#define CUR_0 "0"
+#define CUR_100 "100"
+#define CUR_300 "300"
+
+//Battery Present
#define PRESENT_ABNORMAL "0"
#define PRESENT_NORMAL "1"
+//MISC
#define MISC_ABNORMAL "1"
#define MISC_NORMAL "0"
-#define FREQ_STRENGTH_LEVEL_0 "0"
-#define FREQ_STRENGTH_LEVEL_1 "50"
-#define FREQ_STRENGTH_LEVEL_2 "100"
-
-#define DEFAULT_LOWBATLEVEL 15
+//Frequency Strength
+#define LEVEL_0 "0"
+#define LEVEL_1 "50"
+#define LEVEL_2 "100"
+
+//Battery Level
+#define DEFAULT_NORMAL 100
+#define DEFAULT_WARNING 15
+#define DEFAULT_CRITICAL 5
+#define DEFAULT_POWEROFF 1
+#define DEFAULT_REALOFF 0
+
+//Charger Type
+#define CHARGER_WIRELESS_TYPE_BT 10
+#define CHARGER_WIRELESS_TYPE_3G 22
+#define CHARGER_INCOMPATIBLE_TYPE 11
+#define CHARGER_D2D_TYPE 110
+#define WIRELESS_CHARGER_CONNECTED 2
#define S_ENTER 1
#define S_LEAVE 0
+enum charge_status_type {
+ CHARGE_STATUS_UNKNOWN,
+ CHARGE_STATUS_DISCONNECTED,
+ CHARGE_STATUS_CONNECTED,
+ CHARGE_STATUS_CHARGING,
+ CHARGE_STATUS_DISCHARGING,
+ CHARGE_STATUS_NOT_CHARGING,
+ CHARGE_STATUS_FULL,
+};
+
+enum charge_now_type {
+ CHARGER_ABNORMAL = -1,
+ CHARGER_DISCHARGING,
+ CHARGER_CHARGING,
+};
+
+enum health_type {
+ HEALTH_NO_OPT = -1,
+ HEALTH_GOOD,
+ HEALTH_LOW,
+ HEALTH_DEAD,
+ HEALTH_HIGH,
+ HEALTH_OVP,
+};
+
+enum charger_type {
+ CHARGER_TYPE_NONE = 0,
+ CHARGER_TYPE_WIRE,
+ CHARGER_TYPE_WIRELESS,
+ CHARGER_TYPE_INCOMPATIBLE,
+ CHARGER_TYPE_D2D,
+};
+
static struct power_supply_type {
- char *scenario;
- int status;
- char *capacity;
- char *charge_status;
- char *health;
- char *online;
- char *present;
- char *misc;
- char *freq_strength;
- char *name;
+ const char *scenario;
+ const int status;
+ const char *capacity;
+ const char *charge_status;
+ const char *health;
+ const char *online;
+ const char *present;
+ const char *power_source;
+ const char *voltage_now;
+ const char *voltage_avg;
+ const char *current_now;
+ const char *current_avg;
+ const char *temperature;
+ const char *misc;
+ const char *freq_strength;
+ const char *name;
} power_supply_types[] = {
- {"norm", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "CHARGE"},
- {"norm", S_ENTER, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},
- {"norm", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"heat1", S_ENTER, "100", DISCHARGE_NAME, OVERHEAT_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL},
- {"heat1", S_ENTER, "100", NOTCHARGE_NAME, OVERHEAT_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "HEALTH(H) BEFORE CHARGE"},
- {"heat1", S_LEAVE, "100", DISCHARGE_NAME, OVERHEAT_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},
- {"heat1", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"heat2", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL},
- {"heat2", S_ENTER, "100", NOTCHARGE_NAME, OVERHEAT_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "HEALTH(H) AFTER CHARGE"},
- {"heat2", S_LEAVE, "100", DISCHARGE_NAME, OVERHEAT_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},
- {"heat2", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"cold1", S_ENTER, "100", DISCHARGE_NAME, TEMPCOLD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL},
- {"cold1", S_ENTER, "100", NOTCHARGE_NAME, TEMPCOLD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "HEALTH(L) BEFORE CHARGE"},
- {"cold1", S_LEAVE, "100", DISCHARGE_NAME, TEMPCOLD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},
- {"cold1", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"cold2", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL},
- {"cold2", S_ENTER, "100", NOTCHARGE_NAME, TEMPCOLD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "HEALTH(L) AFTER CHARGE"},
- {"cold2", S_LEAVE, "100", DISCHARGE_NAME, TEMPCOLD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},
- {"cold2", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"ovp", S_ENTER, "100", DISCHARGE_NAME, OVERVOLT_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "OVP"},
- {"ovp", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"pres1", S_ENTER, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_ABNORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL},
- {"pres1", S_ENTER, "100", NOTCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_ABNORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "PRESENT BEFORE CHARGE"},
- {"pres1", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_ABNORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},
- {"pres1", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"pres2", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL},
- {"pres2", S_ENTER, "100", NOTCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_ABNORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "PRESENT AFTER CHARGE"},
- {"pres2", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_ABNORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},
- {"pres2", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, NULL}, /* init */
-
- {"bat15", S_ENTER, "15", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 15%"}, /* lowbat 15% */
- {"bat15", S_LEAVE, "15", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 15%"},
- {"bat5", S_ENTER, "5", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 5%"}, /* lowbat 5% */
- {"bat5", S_LEAVE, "5", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 5%"},
- {"bat3", S_ENTER, "3", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 3%"}, /* lowbat 3% */
- {"bat3", S_LEAVE, "3", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 3%"},
- {"bat1", S_ENTER, "1", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 1%"}, /* lowbat 1% */
- {"bat1", S_LEAVE, "1", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "LOWBAT 1%"},
-
- {"ta", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "CHARGE"}, /* charging */
- {"ta", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},/* discharging */
-
- {"full", S_ENTER, "100", CHARGEFULL_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "CHARGE"}, /* full */
- {"full", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"},/* discharging */
-
- {"capa", S_ENTER, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "CAPACITY"},/* discharging */
- {"capa", S_LEAVE, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "CAPACITY"},/* charging */
-
- {"freq", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "CHARGE"},
- {"freq", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_1, "FREQ LEVEL 1 AFTER CHARGE"},
- {"freq", S_ENTER, "100", CHARGENOW_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_UPS, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_2, "FREQ LEVEL 2 AFTER CHARGE"},
- {"freq", S_LEAVE, "100", DISCHARGE_NAME, GOOD_NAME, POWER_SUPPLY_TYPE_BATTERY, PRESENT_NORMAL, MISC_NORMAL, FREQ_STRENGTH_LEVEL_0, "DISCHARGE"}, /* init */
+ {"norm", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_300, CUR_300, TEMP_250, MISC_NORMAL, LEVEL_0, "CHARGE"},
+ {"norm", S_ENTER, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "DISCHARGE"},
+ {"norm", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+ {"heat1", S_ENTER, "100", DISCHARGE, OVERHEAT, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_800, MISC_NORMAL, LEVEL_0, NULL},
+ {"heat1", S_ENTER, "100", NOTCHARGE, OVERHEAT, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_800, MISC_NORMAL, LEVEL_0, "HEALTH(H) BEFORE CHARGE"},
+ {"heat1", S_LEAVE, "100", DISCHARGE, OVERHEAT, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_800, MISC_NORMAL, LEVEL_0, "DISCHARGE"},
+ {"heat1", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_800, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+
+ {"heat2", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_300, CUR_300, TEMP_800, MISC_NORMAL, LEVEL_0, NULL},
+ {"heat2", S_ENTER, "100", NOTCHARGE, OVERHEAT, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_800, MISC_NORMAL, LEVEL_0, "HEALTH(H) AFTER CHARGE"},
+ {"heat2", S_LEAVE, "100", DISCHARGE, OVERHEAT, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_800, MISC_NORMAL, LEVEL_0, "DISCHARGE"},
+ {"heat2", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_800, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+
+ {"cold1", S_ENTER, "100", DISCHARGE, TEMPCOLD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_0, MISC_NORMAL, LEVEL_0, NULL},
+ {"cold1", S_ENTER, "100", NOTCHARGE, TEMPCOLD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_0, MISC_NORMAL, LEVEL_0, "HEALTH(L) BEFORE CHARGE"},
+ {"cold1", S_LEAVE, "100", DISCHARGE, TEMPCOLD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_0, MISC_NORMAL, LEVEL_0, "DISCHARGE"},
+ {"cold1", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_0, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+
+ {"cold2", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_300, CUR_300, TEMP_0, MISC_NORMAL, LEVEL_0, NULL},
+ {"cold2", S_ENTER, "100", NOTCHARGE, TEMPCOLD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_0, MISC_NORMAL, LEVEL_0, "HEALTH(L) AFTER CHARGE"},
+ {"cold2", S_LEAVE, "100", DISCHARGE, TEMPCOLD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_0, MISC_NORMAL, LEVEL_0, "DISCHARGE"},
+ {"cold2", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_0, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+
+ {"ovp", S_ENTER, "100", DISCHARGE, OVERVOLT, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "OVP"},
+ {"ovp", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+
+ {"pres1", S_ENTER, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_ABNORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, NULL},
+ {"pres1", S_ENTER, "100", NOTCHARGE, GOOD, TYPE_UPS, PRESENT_ABNORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "PRESENT BEFORE CHARGE"},
+ {"pres1", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_ABNORMAL, NONE, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "DISCHARGE"},
+ {"pres1", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+
+ {"pres2", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_300, CUR_300, TEMP_250, MISC_NORMAL, LEVEL_0, NULL},
+ {"pres2", S_ENTER, "100", NOTCHARGE, GOOD, TYPE_UPS, PRESENT_ABNORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "PRESENT AFTER CHARGE"},
+ {"pres2", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_ABNORMAL, NONE, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "DISCHARGE"},
+ {"pres2", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, NULL}, /* init */
+
+ {"bat15", S_ENTER, "15", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_3P6, VOLT_3P6, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 15%"}, /* lowbat 15% */
+ {"bat15", S_LEAVE, "15", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, NONE, VOLT_3P6, VOLT_3P6, CUR_300, CUR_300, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 15%"},
+ {"bat5", S_ENTER, "5", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_3P4, VOLT_3P4, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 5%"}, /* lowbat 5% */
+ {"bat5", S_LEAVE, "5", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, NONE, VOLT_3P4, VOLT_3P4, CUR_300, CUR_300, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 5%"},
+ {"bat3", S_ENTER, "3", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_3P2, VOLT_3P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 3%"}, /* lowbat 3% */
+ {"bat3", S_LEAVE, "3", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, NONE, VOLT_3P2, VOLT_3P2, CUR_300, CUR_300, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 3%"},
+ {"bat1", S_ENTER, "1", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, NONE, VOLT_3P0, VOLT_3P0, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 1%"}, /* lowbat 1% */
+ {"bat1", S_LEAVE, "1", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, NONE, VOLT_3P0, VOLT_3P0, CUR_300, CUR_300, TEMP_250, MISC_NORMAL, LEVEL_0, "LOWBAT 1%"},
+
+ {"ta", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_300, CUR_300, TEMP_250, MISC_NORMAL, LEVEL_0, "CHARGE"}, /* charging */
+ {"ta", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "DISCHARGE"},/* discharging */
+
+ {"full", S_ENTER, "100", CHARGEFULL, GOOD, TYPE_UPS, PRESENT_NORMAL, WIRELESS, VOLT_4P2, VOLT_4P2, CUR_100, CUR_100, TEMP_250, MISC_NORMAL, LEVEL_0, "CHARGE"}, /* full */
+ {"full", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, WIRELESS, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "DISCHARGE"},/* discharging */
+
+ {"capa", S_ENTER, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "CAPACITY"},/* discharging */
+ {"capa", S_LEAVE, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, USB, VOLT_4P2, VOLT_4P2, CUR_100, CUR_100, TEMP_250, MISC_NORMAL, LEVEL_0, "CAPACITY"},/* charging */
+
+ {"freq", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, WIRELESS, VOLT_4P2, VOLT_4P2, CUR_100, CUR_100, TEMP_250, MISC_NORMAL, LEVEL_0, "CHARGE"},
+ {"freq", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, WIRELESS, VOLT_4P2, VOLT_4P2, CUR_100, CUR_100, TEMP_250, MISC_NORMAL, LEVEL_1, "FREQ LEVEL 1 AFTER CHARGE"},
+ {"freq", S_ENTER, "100", CHARGENOW, GOOD, TYPE_UPS, PRESENT_NORMAL, WIRELESS, VOLT_4P2, VOLT_4P2, CUR_100, CUR_100, TEMP_250, MISC_NORMAL, LEVEL_2, "FREQ LEVEL 2 AFTER CHARGE"},
+ {"freq", S_LEAVE, "100", DISCHARGE, GOOD, TYPE_BATTERY, PRESENT_NORMAL, WIRELESS, VOLT_4P2, VOLT_4P2, CUR_0, CUR_0, TEMP_250, MISC_NORMAL, LEVEL_0, "DISCHARGE"}, /* init */
};
static bool get_battery_method(const char *method, int *value)
_E("Failed to call dbus method(%s): No message", METHOD_BATTERY_SETLOWBATLEVEL);
goto out;
} else {
- if (newlevel <= DEFAULT_LOWBATLEVEL) {
+ if (newlevel <= DEFAULT_WARNING) {
if (0 != val) {
- _I("Success. Can't set low level(%d) smaller than default(%d).", newlevel, DEFAULT_LOWBATLEVEL);
+ _I("Success. Can't set low level(%d) smaller than default(%d).", newlevel, DEFAULT_WARNING);
ret = TRUE;
} else {
- _E("Failed. Can't set low level(%d) smaller than default(%d), but returned success.", newlevel, DEFAULT_LOWBATLEVEL);
+ _E("Failed. Can't set low level(%d) smaller than default(%d), but returned success.", newlevel, DEFAULT_WARNING);
}
goto out;
} else {
return ret;
}
+static int change_charge_status_to_enum(const char *env_value)
+{
+ int len, ret;
+
+ if (env_value == NULL)
+ return -1;
+
+ len = strlen(env_value);
+ if (strncmp(env_value, CHARGEFULL, len) == 0)
+ ret = CHARGE_STATUS_FULL;
+ else if (strncmp(env_value, CHARGENOW, len) == 0)
+ ret = CHARGE_STATUS_CHARGING;
+ else if (strncmp(env_value, DISCHARGE, len) == 0)
+ ret = CHARGE_STATUS_DISCHARGING;
+ else if (strncmp(env_value, NOTCHARGE, len) == 0)
+ ret = CHARGE_STATUS_NOT_CHARGING;
+ else
+ ret = CHARGE_STATUS_UNKNOWN;
+
+ return ret;
+}
+
+static int change_health_status_to_enum(const char *env_value)
+{
+ int len, ret;
+
+ if (env_value == NULL)
+ return -1;
+
+ len = strlen(env_value);
+ if (strncmp(env_value, OVERHEAT, len) == 0)
+ ret = HEALTH_HIGH;
+ else if (strncmp(env_value, TEMPCOLD, len) == 0)
+ ret = HEALTH_LOW;
+ else if (strncmp(env_value, OVERVOLT, len) == 0)
+ ret = HEALTH_OVP;
+ else if (strncmp(env_value, GOOD, len) == 0)
+ ret = HEALTH_GOOD;
+ else
+ ret = HEALTH_NO_OPT;
+
+ return ret;
+}
+
+static bool compare_vconf(struct power_supply_type list)
+{
+ int value, ret, temp;
+ int capacity, online, charge_status;
+
+ ret = vconf_get_int(VCONFKEY_SYSMAN_BATTERY_CHARGE_NOW, &value);
+ if (ret < 0) {
+ _E("Failed to get vconf value for battery charge now: %d", vconf_get_ext_errno());
+ return false;
+ }
+ if (!strcmp(list.charge_status, CHARGEFULL)) {
+ charge_status = CHARGE_STATUS_FULL;
+ temp = CHARGER_DISCHARGING;
+ } else if (!strcmp(list.charge_status, CHARGENOW)) {
+ charge_status = CHARGE_STATUS_CHARGING;
+ temp = CHARGER_CHARGING;
+ } else if (!strcmp(list.charge_status, DISCHARGE)) {
+ charge_status = CHARGE_STATUS_DISCHARGING;
+ temp = CHARGER_DISCHARGING;
+ } else if (!strcmp(list.charge_status, NOTCHARGE)) {
+ charge_status = CHARGE_STATUS_NOT_CHARGING;
+ temp = CHARGER_ABNORMAL;
+ } else {
+ charge_status = CHARGE_STATUS_UNKNOWN;
+ temp = CHARGER_DISCHARGING;
+ }
+ if (temp != value)
+ return false;
+
+ capacity = atoi(list.capacity);
+ ret= vconf_get_int(VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, &value);
+ if (ret < 0) {
+ _E("Failed to get vconf value for battery status low: %d", vconf_get_ext_errno());
+ return false;
+ }
+ if (capacity <= DEFAULT_REALOFF) {
+ if (charge_status == CHARGE_STATUS_CHARGING)
+ temp = VCONFKEY_SYSMAN_BAT_POWER_OFF;
+ else
+ temp = VCONFKEY_SYSMAN_BAT_REAL_POWER_OFF;
+ } else if (capacity <= DEFAULT_POWEROFF) {
+ temp = VCONFKEY_SYSMAN_BAT_POWER_OFF;
+ } else if (capacity <= DEFAULT_CRITICAL) {
+ temp = VCONFKEY_SYSMAN_BAT_CRITICAL_LOW;
+ } else if (capacity <= DEFAULT_WARNING) {
+ temp = VCONFKEY_SYSMAN_BAT_WARNING_LOW;
+ } else if (capacity >= DEFAULT_NORMAL &&
+ charge_status == CHARGE_STATUS_FULL) {
+ temp = VCONFKEY_SYSMAN_BAT_FULL;
+ } else {
+ temp = VCONFKEY_SYSMAN_BAT_NORMAL;
+ }
+ if (temp != value)
+ return false;
+
+ ret = vconf_get_int(VCONFKEY_SYSMAN_CHARGER_STATUS, &value);
+ if (ret < 0) {
+ _E("Failed to get vconf value for charger status: %d", vconf_get_ext_errno());
+ return false;
+ }
+ online = atoi(list.online);
+ if (online > atoi(TYPE_BATTERY))
+ temp = VCONFKEY_SYSMAN_CHARGER_CONNECTED;
+ else
+ temp = VCONFKEY_SYSMAN_CHARGER_DISCONNECTED;
+ if (temp != value)
+ return false;
+
+ ret = vconf_get_int(VCONFKEY_SYSMAN_BATTERY_CAPACITY, &value);
+ if (ret < 0) {
+ _E("Failed to get vconf value for battery capacity: %d", vconf_get_ext_errno());
+ return false;
+ }
+ if (value != capacity)
+ return false;
+
+ ret = vconf_get_int(VCONFKEY_SYSMAN_CHARGER_TYPE, &value);
+ if (ret < 0) {
+ _E("Failed to get vconf value for charger type: %d", vconf_get_ext_errno());
+ return false;
+ }
+ if (online <= POWER_SUPPLY_TYPE_BATTERY)
+ temp = CHARGER_TYPE_NONE;
+ else if (online == CHARGER_WIRELESS_TYPE_BT ||
+ online == CHARGER_WIRELESS_TYPE_3G)
+ temp = CHARGER_TYPE_WIRELESS;
+ else if (online == CHARGER_INCOMPATIBLE_TYPE)
+ temp = CHARGER_TYPE_INCOMPATIBLE;
+ else if (online == CHARGER_D2D_TYPE)
+ temp = CHARGER_TYPE_D2D;
+ else
+ temp = CHARGER_TYPE_WIRE;
+ if (temp != value)
+ return false;
+
+ return true;
+}
+
+static bool compare_power_supply(struct power_supply_type list, int value[], const char *power_source)
+{
+ if (atoi(list.capacity) != value[0]) {
+ _E("Different capacity : %d %d", atoi(list.capacity), value[0]);
+ return false;
+ }
+
+ if (change_charge_status_to_enum(list.charge_status) != value[1]) {
+ _E("Different charge_status : %d %d", change_charge_status_to_enum(list.charge_status), value[1]);
+ return false;
+ }
+
+ if (change_health_status_to_enum(list.health) != value[2]) {
+ _E("Different health : %d %d", change_health_status_to_enum(list.health), value[2]);
+ return false;
+ }
+
+ if (atoi(list.online) != value[3]) {
+ _E("Different online : %d %d", atoi(list.online), value[3]);
+ return false;
+ }
+
+ if (atoi(list.present) != value[4]) {
+ _E("Different present : %d %d", atoi(list.present), value[4]);
+ return false;
+ }
+
+ if (atoi(list.misc) != value[5]) {
+ _E("Different misc : %d %d", atoi(list.misc), value[5]);
+ return false;
+ }
+
+ if (atoi(list.freq_strength) != value[6]) {
+ _E("Different freq_strength : %d %d", atoi(list.freq_strength), value[6]);
+ return false;
+ }
+
+ if (strcmp(list.power_source, power_source)) {
+ _E("Different power_source : %s %s", list.power_source, power_source);
+ return false;
+ }
+
+ if (atoi(list.voltage_now) != value[7]) {
+ _E("Different voltage_now : %d %d", atoi(list.voltage_now), value[7]);
+ return false;
+ }
+
+ if (atoi(list.voltage_avg) != value[8]) {
+ _E("Different voltage_avg : %d %d", atoi(list.voltage_avg), value[8]);
+ return false;
+ }
+
+ if (atoi(list.current_now) != value[9]) {
+ _E("Different current_now : %d %d", atoi(list.current_now), value[9]);
+ return false;
+ }
+
+ if (atoi(list.current_avg) != value[10]) {
+ _E("Different current_avg : %d %d", atoi(list.current_avg), value[10]);
+ return false;
+ }
+
+ if (atoi(list.temperature) != value[11]) {
+ _E("Different temperature : %d %d", atoi(list.temperature), value[11]);
+ return false;
+ }
+
+ return true;
+}
+
static bool set_battery_power_supply(int index)
{
- GVariant *msg;
+ GVariant *msg, *var;
int val;
bool ret = FALSE;
- GVariant *var;
- var = g_variant_new("(sisssssss)", POWER_SUBSYSTEM,
- 7,
+ var = g_variant_new("(sisssssssssssss)", POWER_SUBSYSTEM,
+ 13,
power_supply_types[index].capacity,
power_supply_types[index].charge_status,
power_supply_types[index].health,
power_supply_types[index].online,
power_supply_types[index].present,
power_supply_types[index].misc,
- power_supply_types[index].freq_strength);
- _I("C(%s , %s) P(%s) STATUS(%s) HEALTH(%s)",
+ power_supply_types[index].freq_strength,
+ power_supply_types[index].power_source,
+ power_supply_types[index].voltage_now,
+ power_supply_types[index].voltage_avg,
+ power_supply_types[index].current_now,
+ power_supply_types[index].current_avg,
+ power_supply_types[index].temperature);
+ _I("C(%s) S(%s) H(%s) O(%s) P(%s) M(%s) F(%s) SRC(%s) Vol(%s %s) Cur(%s %s) T(%s)",
power_supply_types[index].capacity,
+ power_supply_types[index].charge_status,
+ power_supply_types[index].health,
power_supply_types[index].online,
power_supply_types[index].present,
- power_supply_types[index].charge_status,
- power_supply_types[index].health);
+ power_supply_types[index].misc,
+ power_supply_types[index].freq_strength,
+ power_supply_types[index].power_source,
+ power_supply_types[index].voltage_now,
+ power_supply_types[index].voltage_avg,
+ power_supply_types[index].current_now,
+ power_supply_types[index].current_avg,
+ power_supply_types[index].temperature);
msg = dbus_handle_method_sync_with_reply_var(DEVICED_BUS_NAME,
DEVICED_PATH_BATTERY,
val = -EBADMSG;
} else {
if (val < 0) {
- _E("Failed to call dbus method(%s): Return fail", POWER_SUBSYSTEM);
+ _E("Failed to call dbus method(%s): Return fail(%d)", POWER_SUBSYSTEM, val);
} else {
_I("Success. val=%d", val);
ret = TRUE;
}
}
- /*
- if (power_supply_types[index].name != NULL)
- _I("++++++++++[START] %s ++++++++++", power_supply_types[index].name);
- _I("C(%s , %s) P(%s) STATUS(%s) HEALTH(%s)",
- power_supply_types[index].capacity,
- power_supply_types[index].online,
- power_supply_types[index].present,
- power_supply_types[index].charge_status,
- power_supply_types[index].health);
- if (power_supply_types[index].name != NULL)
- _I("++++++++++[END] %s ++++++++++", power_supply_types[index].name);
- if (val < 0)
- _R("[NG] ---- %s", __func__);
- else
- _R("[OK] ---- %s : C(%s , %s) P(%s) S(%s) H(%s)",
- __func__,
- power_supply_types[index].capacity,
- power_supply_types[index].online,
- power_supply_types[index].present,
- power_supply_types[index].charge_status,
- power_supply_types[index].health);
- */
g_variant_unref(msg);
sleep(TEST_WAIT_TIME_INTERVAL);
return ret;
}
+static bool get_battery_power_supply(int rsp[], char **power_source)
+{
+ GVariant *msg;
+ int val;
+ bool ret = FALSE;
+
+ msg = dbus_handle_method_sync_with_reply_var(DEVICED_BUS_NAME,
+ DEVICED_PATH_BATTERY,
+ DEVICED_INTERFACE_BATTERY,
+ METHOD_BATTERY_GET_POWERSUPPLY, NULL);
+ if (!msg) {
+ _E("Failed to call dbus method(%s): No reply", METHOD_BATTERY_GET_POWERSUPPLY);
+ return ret;
+ }
+
+ if (!dh_get_param_from_var(msg, "(iiiiiiiisiiiii)", &val, //return value
+ &rsp[0], //capacity
+ &rsp[1], //charge_status
+ &rsp[2], //health
+ &rsp[3], //online
+ &rsp[4], //present
+ &rsp[5], //misc
+ &rsp[6], //freq_strength
+ power_source, //power_source
+ &rsp[7], //voltage_now
+ &rsp[8], //voltagge_avg
+ &rsp[9], //current_now
+ &rsp[10], //current_avg
+ &rsp[11])) { //temperature
+ _E("Failed to call dbus method(%s): No message", METHOD_BATTERY_GET_POWERSUPPLY);
+ } else {
+ if (val < 0) {
+ _E("Failed to call dbus method(%s): Return fail(%d)", METHOD_BATTERY_GET_POWERSUPPLY, val);
+ } else {
+ _I("Success : C(%d) S(%d) H(%d) O(%d) P(%d) M(%d) F(%d) SRC(%s) Vol(%d %d) Cur(%d %d) Temp(%d)",
+ rsp[0], rsp[1], rsp[2], rsp[3], rsp[4], rsp[5], rsp[6], *power_source, rsp[7], rsp[8], rsp[9], rsp[10], rsp[11]);
+ ret = true;
+ }
+ }
+
+ g_variant_unref(msg);
+
+ return ret;
+}
+
static void full_scenario(char *unit, char *capacity, int status)
{
int index;
int len;
+ int rsp[12];
+ char *power_source = NULL;
if (!unit || !capacity)
return;
power_supply_types[index].capacity = capacity;
_D("%s", power_supply_types[index].capacity);
set_battery_power_supply(index);
+ get_battery_power_supply(rsp, &power_source);
+ compare_power_supply(power_supply_types[index], rsp, power_source);
+ compare_vconf(power_supply_types[index]);
}
}
int index;
int found = 0;
int unit_len;
- char *scenario = NULL;
+ int rsp[12];
+ char *power_source = NULL;
+ const char *scenario = NULL;
if (!unit)
return;
continue;
found = 1;
set_battery_power_supply(index);
+ get_battery_power_supply(rsp, &power_source);
+ compare_power_supply(power_supply_types[index], rsp, power_source);
+ compare_vconf(power_supply_types[index]);
}
if (found)
power_supply_types[index].capacity = unit;
_D("%s", power_supply_types[index].capacity);
set_battery_power_supply(index);
+ get_battery_power_supply(rsp, &power_source);
+ compare_power_supply(power_supply_types[index], rsp, power_source);
+ compare_vconf(power_supply_types[index]);
}
}
{
int s = 0;
int f = 0;
+ int rsp[12];
+ char *power_source = NULL;
(get_battery_time_to_full()) ? s++ : f++;
(get_battery_time_to_empty()) ? s++ : f++;
(get_battery_health()) ? s++ : f++;
(get_battery_info()) ? s++ : f++;
- for (int index = 0; index < ARRAY_SIZE(power_supply_types); index++)
- (set_battery_power_supply(index)) ? s++ : f++;
+ for (int index = 0; index < ARRAY_SIZE(power_supply_types); index++) {
+ (set_battery_power_supply(index) &&
+ get_battery_power_supply(rsp, &power_source) &&
+ compare_power_supply(power_supply_types[index], rsp, power_source) &&
+ compare_vconf(power_supply_types[index])) ? s++ : f++;
+ }
if (NULL != success) *success = s;
if (NULL != fail) *fail = f;
static int battery_unit(int argc, char **argv)
{
+ int rsp[12];
+ char *power_source = NULL;
+
if (argc < 4) {
int success = 0;
int fail = 0;
} else if (0 == strcasecmp(argv[3], METHOD_BATTERY_GETINFO)) {
get_battery_info();
} else if (0 == strcasecmp(argv[3], METHOD_BATTERY_POWERSUPPLY)) {
- for (int index = 0; index < ARRAY_SIZE(power_supply_types); index++)
+ for (int index = 0; index < ARRAY_SIZE(power_supply_types); index++) {
set_battery_power_supply(index);
+ get_battery_power_supply(rsp, &power_source);
+ compare_power_supply(power_supply_types[index], rsp, power_source);
+ compare_vconf(power_supply_types[index]);
+ }
} else if (argc > 4 && argv[4] && !strncmp("enter", argv[4], 5)) {
battery_scenario(argv[3], S_ENTER);
} else if (argc > 4 && argv[4] && !strncmp("leave", argv[4], 5)) {