nt9856x/code/application/source/cardv/SrcCode/System/SysPower_CB.c
2023-03-28 15:07:53 +08:00

102 lines
2.5 KiB
C
Executable File

/**
DevMan, Service command function implementation
@file DeviceUsbMan.c
@ingroup mDEVMAN
Copyright Novatek Microelectronics Corp. 2012. All rights reserved.
*/
#include "PrjInc.h"
#include "GxPower.h"
#include "PowerDef.h"
#if 0
//global debug level: PRJ_DBG_LVL
#include "PrjCfg.h"
#endif
//local debug level: THIS_DBGLVL
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ SysPwrExe
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h>
#if 0
#include "SysKer.h"
#include "Debug.h"
#include "NvtUser.h"
//#include "NvtSystem.h"
#include "GxSystem.h"
#include "AppControl.h"
#endif
/////////////////////////////////////////////////////////////////////////////
// POWER
void Power_CB(UINT32 event, UINT32 param1, UINT32 param2);
void Power_CB(UINT32 event, UINT32 param1, UINT32 param2)
{
switch (event) {
//power-battery-status
case POWER_CB_BATT_EMPTY:
DBG_IND("Low battery \r\n");
Ux_PostEvent(NVTEVT_PWR_BATTEMPTY, 0);
break;
case POWER_CB_BATT_CHG:
DBG_IND("Batt Change %d\r\n", GxPower_GetControl(GXPWR_CTRL_BATTERY_LEVEL));
Ux_PostEvent(NVTEVT_PWR_BATTCHANGE, 0);
break;
//power-save
//Relationship between TV and sleep:
// begin Power sleeping flow -> stop detect TV
// end Power sleeping flow -> start detect TV
case POWER_CB_SLEEP_ENTER_L:
DBG_IND("Auto Sleep -1\r\n");
Ux_PostEvent(NVTEVT_SYSTEM_SLEEP, 1, 1);
break;
case POWER_CB_SLEEP_ENTER:
DBG_IND("Auto Sleep -2\r\n");
Ux_PostEvent(NVTEVT_SYSTEM_SLEEP, 1, 2);
break;
case POWER_CB_SLEEP_ENTER_D:
DBG_IND("Auto Sleep -3\r\n");
Ux_PostEvent(NVTEVT_SYSTEM_SLEEP, 1, 3);
break;
case POWER_CB_SLEEP_RESET:
DBG_IND("Auto Sleep 0\r\n");
Ux_PostEvent(NVTEVT_SYSTEM_SLEEP, 1, 0);
break;
case POWER_CB_POWEROFF:
DBG_IND("Auto Power-off \r\n");
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
break;
case POWER_CB_CHARGE_OK:
DBG_IND("Charge OK \r\n");
Ux_PostEvent(NVTEVT_PWR_CHARGE_OK, 0);
break;
case POWER_CB_CHARGE_SUSPEND:
DBG_IND("Charge SUSPEND \r\n");
Ux_PostEvent(NVTEVT_PWR_CHARGE_SUSPEND, 0);
break;
case POWER_CB_CHARGE_RESUME:
DBG_IND("Charge RESUME \r\n");
Ux_PostEvent(NVTEVT_PWR_CHARGE_RESUME, 0);
break;
default:
DBG_ERR("event(%d)\r\n", event);
}
}