From 3a2c8cbe49b8a02518ccd2a61d7d4c816f0da7b1 Mon Sep 17 00:00:00 2001 From: Jeff Curless Date: Sun, 5 Oct 2025 17:04:07 -0400 Subject: [PATCH] Try to see what requests are being made... : --- battery/install | 10 ++--- battery/remove | 2 +- battery/test_power.c | 98 ++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 101 insertions(+), 9 deletions(-) diff --git a/battery/install b/battery/install index d0c5704..919a8fd 100755 --- a/battery/install +++ b/battery/install @@ -1,7 +1,7 @@ -sudo insmod dummy_battery.ko start_capacity=82 discharge_rate=1 +sudo insmod test_battery.ko start_capacity=82 discharge_rate=1 -ls -l /sys/class/power_supply/dummy-battery -cat /sys/class/power_supply/dummy-battery/uevent -cat /sys/class/power_supply/dummy-battery/capacity -cat /sys/class/power_supply/dummy-battery/status +ls -l /sys/class/power_supply/test_battery +cat /sys/class/power_supply/test_battery/uevent +cat /sys/class/power_supply/test_battery/capacity +cat /sys/class/power_supply/test_battery/status diff --git a/battery/remove b/battery/remove index 445ccab..630e203 100755 --- a/battery/remove +++ b/battery/remove @@ -1 +1 @@ -sudo rmmod dummy_battery +sudo rmmod test_power diff --git a/battery/test_power.c b/battery/test_power.c index eb4ef73..a2a9ea5 100644 --- a/battery/test_power.c +++ b/battery/test_power.c @@ -25,6 +25,88 @@ enum test_power_id { TEST_POWER_NUM, }; +// +// +char *enumNames[] = { + "POWER_SUPPLY_PROP_STATUS", + "POWER_SUPPLY_PROP_CHARGE_TYPE", + "POWER_SUPPLY_PROP_HEALTH", + "POWER_SUPPLY_PROP_PRESENT", + "POWER_SUPPLY_PROP_ONLINE", + "POWER_SUPPLY_PROP_AUTHENTIC", + "POWER_SUPPLY_PROP_TECHNOLOGY", + "POWER_SUPPLY_PROP_CYCLE_COUNT", + "POWER_SUPPLY_PROP_VOLTAGE_MAX", + "POWER_SUPPLY_PROP_VOLTAGE_MIN", + "POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN", + "POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN", + "POWER_SUPPLY_PROP_VOLTAGE_NOW", + "POWER_SUPPLY_PROP_VOLTAGE_AVG", + "POWER_SUPPLY_PROP_VOLTAGE_OCV", + "POWER_SUPPLY_PROP_VOLTAGE_BOOT", + "POWER_SUPPLY_PROP_CURRENT_MAX", + "POWER_SUPPLY_PROP_CURRENT_NOW", + "POWER_SUPPLY_PROP_CURRENT_AVG", + "POWER_SUPPLY_PROP_CURRENT_BOOT", + "POWER_SUPPLY_PROP_POWER_NOW", + "POWER_SUPPLY_PROP_POWER_AVG", + "POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN", + "POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN", + "POWER_SUPPLY_PROP_CHARGE_FULL", + "POWER_SUPPLY_PROP_CHARGE_EMPTY", + "POWER_SUPPLY_PROP_CHARGE_NOW", + "POWER_SUPPLY_PROP_CHARGE_AVG", + "POWER_SUPPLY_PROP_CHARGE_COUNTER", + "POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT", + "POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX", + "POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE", + "POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX", + "POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT", + "POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX", + "POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD", /* in percents! */ + "POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD", /* in percents! */ + "POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR", + "POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT", + "POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT", + "POWER_SUPPLY_PROP_INPUT_POWER_LIMIT", + "POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN", + "POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN", + "POWER_SUPPLY_PROP_ENERGY_FULL", + "POWER_SUPPLY_PROP_ENERGY_EMPTY", + "POWER_SUPPLY_PROP_ENERGY_NOW", + "POWER_SUPPLY_PROP_ENERGY_AVG", + "POWER_SUPPLY_PROP_CAPACITY", /* in percents! */ + "POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN", /* in percents! */ + "POWER_SUPPLY_PROP_CAPACITY_ALERT_MAX", /* in percents! */ + "POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN", /* in percents! */ + "POWER_SUPPLY_PROP_CAPACITY_LEVEL", + "POWER_SUPPLY_PROP_TEMP", + "POWER_SUPPLY_PROP_TEMP_MAX", + "POWER_SUPPLY_PROP_TEMP_MIN", + "POWER_SUPPLY_PROP_TEMP_ALERT_MIN", + "POWER_SUPPLY_PROP_TEMP_ALERT_MAX", + "POWER_SUPPLY_PROP_TEMP_AMBIENT", + "POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN", + "POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX", + "POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW", + "POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG", + "POWER_SUPPLY_PROP_TIME_TO_FULL_NOW", + "POWER_SUPPLY_PROP_TIME_TO_FULL_AVG", + "POWER_SUPPLY_PROP_TYPE", /* use power_supply.type instead */ + "POWER_SUPPLY_PROP_USB_TYPE", + "POWER_SUPPLY_PROP_SCOPE", + "POWER_SUPPLY_PROP_PRECHARGE_CURRENT", + "POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT", + "POWER_SUPPLY_PROP_CALIBRATE", + "POWER_SUPPLY_PROP_MANUFACTURE_YEAR", + "POWER_SUPPLY_PROP_MANUFACTURE_MONTH", + "POWER_SUPPLY_PROP_MANUFACTURE_DAY", + "POWER_SUPPLY_PROP_MODEL_NAME", + "POWER_SUPPLY_PROP_MANUFACTURER", + "POWER_SUPPLY_PROP_SERIAL_NUMBER", + }; +// +// #define BLKDRV_NAME "battery" #define FMT_PREFIX ": %s[%d] " #define DEBUG_INFO( fmt, arg...) printk( KERN_INFO BLKDRV_NAME FMT_PREFIX fmt, __func__, __LINE__, ##arg ) @@ -35,7 +117,7 @@ static int battery_status = POWER_SUPPLY_STATUS_DISCHARGING; static int battery_health = POWER_SUPPLY_HEALTH_GOOD; static int battery_present = 1; /* true */ static int battery_technology = POWER_SUPPLY_TECHNOLOGY_LION; -static int battery_capacity = 50; +static int battery_capacity = 100; static int battery_voltage = 3300; static int battery_charge_counter = -1000; static int battery_current = -1600; @@ -78,8 +160,6 @@ static int test_power_get_battery_property(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) { - DEBUG_INFO( "psp = %d", psp ); - switch (psp) { case POWER_SUPPLY_PROP_MODEL_NAME: val->strval = "Test battery"; @@ -141,6 +221,18 @@ static int test_power_get_battery_property(struct power_supply *psy, __func__); return -EINVAL; } + + switch( psp ){ + case POWER_SUPPLY_PROP_MODEL_NAME: + case POWER_SUPPLY_PROP_MANUFACTURER: + case POWER_SUPPLY_PROP_SERIAL_NUMBER: + DEBUG_INFO( "%s -> %s", enumNames[psp],val->strval ); + break; + default: + DEBUG_INFO( "%s -> %d", enumNames[psp],val->intval ); + break; + } + return 0; }