2007年12月6日 星期四

BattDrv_saving power issue

將battery polling時間拉長至五分鐘
當usb發生中斷將電池狀態通知ce
int WINAPI CheckACChargerThread()
{
SYSTEM_POWER_STATUS_EX2 tmpst;
PBATTERY_CONTEXT pbc = (PBATTERY_CONTEXT) &gBatteryContext;

RETAILMSG(1, (TEXT("++CheckACChargerThread \r\n")));

while(TRUE)
{
InterruptDone(SYSINTR_ACChargerDetect);

WaitForSingleObject(g_hACChargerDetect, INFINITE);

//////////////////////////////////////
// update battery status information
LockBattery();
BatteryAPIGetSystemPowerStatusEx2(&tmpst, sizeof(tmpst), TRUE);
UnlockBattery();

// has anything changed?
if(memcmp(&tmpst, &pbc->st, sizeof(pbc->st)) != 0)
{
// yes, update our global variable and notify the power manager
pbc->st = tmpst;
PowerPolicyNotify(PPN_POWERCHANGE, 0);
}
//////////////////////////////////////

if(PIO_READ_INPUT(GPIO, GPIO_GROUP(0),GPIO_INDEX(2)))
{
RETAILMSG(1,(TEXT("++CheckACChargerThread USB IN!!!\r\n")));

}
else
{
RETAILMSG(1,(TEXT("++CheckACChargerThread USB OUT!!!\r\n")));

}
}
}

1 則留言:

Unknown 提到...

因為不知在哪留言好, 就留在這了:)
今年我也是從一個無知的小毛頭轉成RD,
剛好也是學WinCE Firmware這塊.
因此, 看到妳的Blog感覺特別親切,
有種受到鼓勵的感覺.
真希望能早日獨當一面!

ps.看妳的文章實在不覺得妳什麼都不懂XD