power_supply_class =class_create(THIS_MODULE,"power_supply");//!< 注册powersupply类,路径 /sys/class/powersupply By: jixuan 2021年6月15日power_supply_class->dev_uevent = power_supply_uevent;//!< uevent处理 By: jixuan 2021年6月15日power_supply_init_attrs(&power_supply_dev_type);//!<...
< get_property set_property 更新获取属性的重要回调 By: jixuan 2021年6月15日int(*property_is_writeable)(structpower_supply *psy,enumpower_supply_property psp);void(*external_power_changed)(structpower_supply *psy);void(*set_charged)(structpower_supply *psy);boolno_thermal;/* For APM emulati...
case POWER_SUPPLY_PROP_CAPACITY: val->intval = chip->soc; break; case POWER_SUPPLY_PROP_TECHNOLOGY: val->intval = POWER_SUPPLY_TECHNOLOGY_LION; break; case POWER_SUPPLY_PROP_HEALTH: if (chip->vcell < 2850) val->intval = POWER_SUPPLY_HEALTH_UNSPEC_FAILURE; else val->intval = POWER_SUPP...
android系统电池部分的驱动程序,继承了传统linux系统下的Power Supply驱动程序架构,Battery驱动程序通过Power Supply驱动程序生成相应的sys文件系统,从而向用户空间提供电池各种属性的接口。Linux标准的 Power Supply驱动程序所使用的文件系统路径为:/sys/class/power_supply ,其中的每个子目录表示一种能源供应设备。 5.2、驱...
power_supply_class.c和power_supply_core.c,我们调用其中的函数就可以把电源(电池,USB或AC)的信息展现给用户,有关电源的属性写在/sys/class/powersupply文件夹下(此文件夹为程序运行后所生成的)。 /sys/class/power_supply文件夹存放的是,电池驱动通过power_supply_register函数注册的各个电源属性名称 ...
主要是通过BatteryMonitor.cpp中的bool BatteryMonitor::update(void)函数上报信息,其中,内核首先会更新数据到/sys/class/power_supply/battery节点下各个属性。 Healthd的源码结构: System/core/healthd/ ├── healthd.cpp 创建uevent socket,监听内核上报的内核事件 ...
case ANDROID_POWER_SUPPLY_TYPE_WIRELESS: props.chargerWirelessOnline = true; break; default: KLOG_WARNING(LOG_TAG, "%s: Unknown power supply type\n", mChargerNames[i].string()); } path.clear(); path.appendFormat("%s/%s/current_max", POWER_SUPPLY_SYSFS_PATH, ...
//电池状态,"Discharging","Charging","Notcharging","Full","Unknown" String strBatteryLevel =event.get("POWER_SUPPLY_CAPACITY");//电池容量 ... } } 1).BatteryService通过JNI(com_android_server_BatteryService.cpp)读取数据。BatteryService通过JNI注册的不仅有函数,还有变量。 如下: //###在BatterySer...
这个问题的原因很简单,因为缺少相关电源部分驱动程序,Android系统无法获取/sys/class/power_supply/下的信息,从而导致启动不能。 对于开发板,开发的初期一般没有电源管理驱动程序,那要如何解决这个问题呢? 网上流传的解决办法是通过修改Android源码中的com_android_server_BatteryService.cpp,让android系统不去去读相关信息...
。 在安卓系统的命令行下输入: cat /sys/class/power_supply/rk-bat/uevent: 电池系统从底层向Framework层上报数据的流程: 2.调试手段: 获取手机电池.../rk-ac为0时,而rk-816的/sys/class/power_supply/ac为1,这时,上层系统判断是有ac插入的,电池充放电状态图标仍为充电。 可以使用adb shell dumpsys 荣耀...