samsung: misc: new feature: common interactive charger
This change adds common interactive charger feature with
display support.
New config: CONFIG_INTERACTIVE_CHARGER
New functions:
- battery() - which takes one of commands parameter:
BOOT_CHECK: check battery present, low power mode;
check battery charge level, draw battery screen
STATE: display battery screen with current state of charge
this is for command line use
CHARGE: start interactive charger for every battery charge level
this is also for command line use
- interactive_charger() - loop function for charge the battery and do:
- update of battery screen,
- update charge animation,
- check for exit condition (if charge level >= 20%)
- clear screen after 10 seconds animation
- draw battery on clean screen if any key pressed
There are few constants defined for this feature:
- CHARGE_TRESHOLD_BOOT: 20 (20 percent of charge)
- CHARGE_DISPLAY_TIMEOUT_SEC: 10 (time for animation display)
- CONNECT_CHARGER_TIMEOUT_SEC: 5 (time for connect charger animation)
- CHARGE_PWR_KEY_RESET_TIMEOUT: 3 (time for PWR key press to reset device)
Battery charge level cases:
- 0-20 % - don't allow to boot and then:
- enable charger if connected and start charge animation
or if no charger:
- display 5 sec charger animation and turn off the device
- > 20 % - don't display battery screen and boot device
Charge mode can be break by keys VOLUP + VOLDOWN. If charge level > 20%
then device can be enabled by pressing PWR key for a time defined in
CHARGE_PWR_KEY_RESET_TIMEOUT.
Change-Id: I15066a4b86c89f1f0124b072a0aeb7246b29b279
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>