hv_mw_PowerManager.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * @file hv_mw_PowerManager.h
  3. * @brief Header file of PowerManager module.
  4. *
  5. * @verbatim
  6. * ==============================================================================
  7. * ##### How to use #####
  8. * ==============================================================================
  9. * (+) At first, use Hv_Mw_Power_GetManagerPtr(...) create PowerManager object.
  10. * (+) Use Hv_Mw_Power_ManagerInit(...) to initial ChannelManager.
  11. * (+) Use Hv_Mw_Power_SystemQueueMsgProc(...) will process one Message from SystemQueue.
  12. *
  13. * @endverbatim
  14. *
  15. * @author HiView SoC Software Team
  16. * @version 1.0.0
  17. * @date 2022-08-26
  18. */
  19. #ifndef __SDK_MIDDLEWARE_RUNTIME_SYSTEMMANAGER_INC_POWERMANAGER_INC_PWOERMANAGER_H__
  20. #define __SDK_MIDDLEWARE_RUNTIME_SYSTEMMANAGER_INC_POWERMANAGER_INC_PWOERMANAGER_H__
  21. #include "hv_comm_DataType.h"
  22. #include "hv_comm_Define.h"
  23. #include "hv_comm_Event.h"
  24. #include "hv_comm_Timer.h"
  25. #include "hv_mw_StateMachine.h"
  26. typedef struct _PowerManager
  27. {
  28. PowerState enCurrentPowerState; /*当前power状态机处于的电源状态*/
  29. PowerOnReasonType enPowerOnReasonType; /*记录的从EventHub从mailbox获取的上电原因*/
  30. HV_TIMER_S* pstTypeCParseProtectTimer; /*上电typec解析保护定时器*/
  31. BOOL bPowerDeliveryFlag; /*0-未处于Typec电源充电状态, 1-Typec电源充电状态*/
  32. BOOL bSystemInit; /*记录是否已经走过上电流程*/
  33. BOOL bPowerOffFlag; /*待机或关机标志,1为关机*/
  34. BOOL bFakeStandy; /*充电时的假待机标志,1为假待机*/
  35. }__attribute__((aligned(4)))PowerManager;
  36. VOID Hv_Mw_Power_TimerStart(UINT32 uiHours);
  37. const PowerManager* Hv_Mw_Power_GetManagerPtr(VOID);
  38. Status Hv_Mw_Power_ManagerInit(VOID);
  39. Status Hv_Mw_Power_SystemQueueMsgProc(const SystemEvent* pstSystemEvent);
  40. PowerOnReasonType Hv_Mw_Power_GetPowerOnReasonType(VOID);
  41. Status Hv_Mw_Power_UpdatePowerManagerInfo(PowerManager stPowerManager);
  42. BOOL Hv_Mw_Power_GetPowerManagerFakeStandyFlag(VOID);
  43. Status Hv_Mw_Power_SendPoweroffToPowerManager(VOID);
  44. #endif