46 lines
1.6 KiB
ReStructuredText
46 lines
1.6 KiB
ReStructuredText
.. _charger_api:
|
|
|
|
Chargers
|
|
########
|
|
|
|
The charger subsystem exposes an API to uniformly access battery charger devices.
|
|
|
|
A charger device, or charger peripheral, is a device used to take external power provided to the
|
|
system as an input and provide power as an output downstream to the battery pack(s) and system.
|
|
The charger device can exist as a module, an integrated circuit, or as a functional block in a power
|
|
management integrated circuit (PMIC).
|
|
|
|
The action of charging a battery pack is referred to as a charge cycle. When the charge cycle is
|
|
executed the battery pack is charged according to the charge profile configured on the charger
|
|
device. The charge profile is defined in the battery pack's specification that is provided by the
|
|
manufacturer. On charger devices with a control port, the charge profile can be configured by the
|
|
host controller by setting the relevant properties, and can be adjusted at runtime to respond to
|
|
environmental changes.
|
|
|
|
Basic Operation
|
|
***************
|
|
|
|
Initiating a Charge Cycle
|
|
=========================
|
|
|
|
A charge cycle is initiated or terminated using :c:func:`charger_charge_enable`.
|
|
|
|
Properties
|
|
==========
|
|
|
|
Fundamentally, a property is a configurable setting, state, or quantity that a charger device can
|
|
measure.
|
|
|
|
Chargers typically support multiple properties, such as temperature readings of the battery-pack
|
|
or present-time current/voltage.
|
|
|
|
Properties are fetched by the client one at a time using :c:func:`charger_get_prop`.
|
|
Properties are set by the client one at a time using :c:func:`charger_set_prop`.
|
|
|
|
.. _charger_api_reference:
|
|
|
|
API Reference
|
|
*************
|
|
|
|
.. doxygengroup:: charger_interface
|