设为首页 加入收藏

TOP

Linux power supply class(1)_软件架构及API汇整【转】(三)
2019-09-30 16:44:04 】 浏览:123
Tags:Linux power supply class 软件 架构 API 汇整
: POWER_SUPPLY_ATTR(charge_full), 29: POWER_SUPPLY_ATTR(charge_empty), 30: POWER_SUPPLY_ATTR(charge_now), 31: POWER_SUPPLY_ATTR(charge_avg), 32: POWER_SUPPLY_ATTR(charge_counter), 33: POWER_SUPPLY_ATTR(constant_charge_current), 34: POWER_SUPPLY_ATTR(constant_charge_current_max), 35: POWER_SUPPLY_ATTR(constant_charge_voltage), 36: POWER_SUPPLY_ATTR(constant_charge_voltage_max), 37: POWER_SUPPLY_ATTR(charge_control_limit), 38: POWER_SUPPLY_ATTR(charge_control_limit_max), 39: POWER_SUPPLY_ATTR(input_current_limit), 40: POWER_SUPPLY_ATTR(energy_full_design), 41: POWER_SUPPLY_ATTR(energy_empty_design), 42: POWER_SUPPLY_ATTR(energy_full), 43: POWER_SUPPLY_ATTR(energy_empty), 44: POWER_SUPPLY_ATTR(energy_now), 45: POWER_SUPPLY_ATTR(energy_avg), 46: POWER_SUPPLY_ATTR(capacity), 47: POWER_SUPPLY_ATTR(capacity_alert_min), 48: POWER_SUPPLY_ATTR(capacity_alert_max), 49: POWER_SUPPLY_ATTR(capacity_level), 50: POWER_SUPPLY_ATTR(temp), 51: POWER_SUPPLY_ATTR(temp_max), 52: POWER_SUPPLY_ATTR(temp_min), 53: POWER_SUPPLY_ATTR(temp_alert_min), 54: POWER_SUPPLY_ATTR(temp_alert_max), 55: POWER_SUPPLY_ATTR(temp_ambient), 56: POWER_SUPPLY_ATTR(temp_ambient_alert_min), 57: POWER_SUPPLY_ATTR(temp_ambient_alert_max), 58: POWER_SUPPLY_ATTR(time_to_empty_now), 59: POWER_SUPPLY_ATTR(time_to_empty_avg), 60: POWER_SUPPLY_ATTR(time_to_full_now), 61: POWER_SUPPLY_ATTR(time_to_full_avg), 62: POWER_SUPPLY_ATTR(type), 63: POWER_SUPPLY_ATTR(scope), 64: POWER_SUPPLY_ATTR(charge_term_current), 65: POWER_SUPPLY_ATTR(calibrate), 66: /* Properties of type `const char *' */ 67: POWER_SUPPLY_ATTR(model_name), 68: POWER_SUPPLY_ATTR(manufacturer), 69: POWER_SUPPLY_ATTR(serial_number), 70: };

具体意义这里就不再详细说明了。

4. 怎样基于power supply class编写PSY driver

最后从PSY driver的角度,说明一下怎么基于power supply class,编写驱动:

1)根据硬件spec,确定该PSY设备具备哪些特性,并把它们和enum power_supply_property 中所定义的property对应。

2)根据实际情况,实现这些properties的get/set接口。

3)定义一个struct power_supply变量,并初始化必要的字段后,调用power_supply_register或者power_supply_register_no_ws,将其注册到kernel中。

4)根据实际情况,启动设备属性变化的监控逻辑,例如中断、轮询等,并在发生改变时,调用power_supply_changed,通知power supply core。

也许您会笑,说着简单啊!确实如此,不变的原则:framework只能给我们提供良好的机制、便捷的方式、等等,但是,设备要做什么事情,只有设备驱动最清楚,永远都不可能偷懒啊!

首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇嵌入式02 STM32 实验06 按键 下一篇高通电池管理基于qpnp-vm-bms电压..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目