/* * Copyright (c) 2018 Actions Semiconductor Co., Ltd * * SPDX-License-Identifier: Apache-2.0 */ /** * @file power manager interface */ #ifndef __POWER_MANAGER_H__ #define __POWER_MANAGER_H__ //#include "power_supply.h" /** * @defgroup power_manager_apis App power Manager APIs * @ingroup system_apis * @{ */ #ifdef __cplusplus extern "C" { #endif /** battary state enum */ enum bat_state_e { /** no battery detacted*/ BAT_STATUS_UNKNOWN = 0, /** battery charging */ BAT_STATUS_CHARGING, /** battery charged full */ BAT_STATUS_FULL, /** battery no charge */ BAT_STATUS_NORMAL, }; /** * @brief get system battery capacity * * * @return battery capacity , The unit is the percentage */ int power_manager_get_battery_capacity(void); /** * @brief check if is no power * * */ bool power_manager_check_is_no_power(void); /** * @brief check battry if is lowpower * * */ bool power_manager_check_bat_is_lowpower(void); /** * @brief check battry if is full * * */ bool power_manager_check_bat_is_full(void); /** * @brief get local system battery capacity * * * @return battery capacity , The unit is the percentage */ int power_manager_get_battery_capacity_local(void); /** * @brief check battry if is exit * * */ bool power_manager_check_bat_exit(void); /** * @brief get system battery vol * * * @return battery vol , The unit is mv */ int power_manager_get_battery_vol(void); /** * @brief get system charge status * * * @return charget status, POWER_SUPPLY_STATUS_DISCHARGE, POWER_SUPPLY_STATUS_CHARGING... see power_supply_status */ int power_manager_get_charge_status(void); /** * @brief get system dc5v status * * * @return dc5v status, 1 dc5v exist 0 dc5v not exit. */ int power_manager_get_dc5v_status(void); /** * @brief get system dc5v voltage * * * @return dc5v voltage. */ int power_manager_get_dc5v_voltage(void); /** * @brief register system charge status changed callback * * */ int power_manager_init(void); int power_manager_set_slave_battery_state(int capacity, int vol); int power_manager_sync_slave_battery_state(void); int power_manager_get_dc5v_status_chargebox(void); int power_manger_set_dc5v_pulldown(void); int power_manger_set_init_charge_consume_ma(int consume); int power_manger_wake_charger_box(void); int power_manager_set_before_poweroff(void); int power_manager_save_last_voltage(bool is_clear); /** * @} end defgroup power_manager_apis */ #ifdef __cplusplus } #endif #endif