zephyriot / zephyr-issues

0 stars 0 forks source link

Add standard APIs for Battery Charging and Fuel Gauge Handling (Energy Management) #942

Open nashif opened 7 years ago

nashif commented 7 years ago

Reported by Souvik Kumar Chakravarty:

Currently Zephyr does not have any standard interface for the applications to interact with the Battery related hardware sub-system. We need to create one so that applications can work independent of hardware variations.

(Imported from Jira ZEP-1037)

nashif commented 7 years ago

by Souvik Kumar Chakravarty:

Currently I am only designing this to work with microkernel systems. For nanokernel systems, battery management seems an overkill (I am however open to review my stance here). There is a need for a lightweight API set for applications to talk to Battery Sub-system. This Energy Management API framework should enable the following:

1) Application should be able to get notified on Battery threshold breach events Charger Events. 2) Application should be able to configure the following battery charge & temperature level thresholds for callback notifications: Warning, Critical, Shutdown 3) Application should be able to enable/disable charging 4) Application should be able to fix the sampling rate for Charge and Battery Temperature measurment to be done by the drivers below 5) Applications should be able to get Battery Terminal Voltage Temperature State Of Charge (SOC) - %

The APIs will be implemented in the FG & Charging drivers below. Default these APIs are stubbed and designed to return an error code.