void FlowPB_IconDrawBattery(void)
{
    UINT32 uiFlag;

    switch(GetBatteryLevel())
    {
    case BATTERY_LOW:
        uiFlag= UIFlowWndPlay_StatusICN_Battery_ICON_BATTERY_LOW;
        break;
    case BATTERY_EMPTY:
        uiFlag= UIFlowWndPlay_StatusICN_Battery_ICON_BATTERY_EMPTY;
        break;
    case BATTERY_FULL:
        uiFlag= UIFlowWndPlay_StatusICN_Battery_ICON_BATTERY_FULL;
        break;
    case BATTERY_MED:
        uiFlag= UIFlowWndPlay_StatusICN_Battery_ICON_BATTERY_MED;
        break;
    default:
        uiFlag= UIFlowWndPlay_StatusICN_Battery_ICON_BATTERY_EMPTY;
        break;
    }

    UxState_SetData(&UIFlowWndPlay_StatusICN_BatteryCtrl,STATE_CURITEM,uiFlag);
    UxCtrl_SetShow(&UIFlowWndPlay_StatusICN_BatteryCtrl, TRUE);
}
Example #2
0
INT32 UIFlowWndPlay_OnBattery(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
    //#NT#2009/07/28#Chris Chung -begin
    UxState_SetData(&UIFlowWndPlay_StatusICN_BatteryCtrl, STATE_CURITEM, GetBatteryLevel());
    //#NT#2009/07/28#Chris Chung -end
    return NVTEVT_CONSUME;
}
Example #3
0
/**
 * PTM_U::GetBatteryLevel service function
 *  Outputs:
 *      1 : Result of function, 0 on success, otherwise error code
 *      2 : Battery level, 5 = completely full battery, 4 = mostly full battery,
 *          3 = half full battery, 2 =  low battery, 1 = critical battery.
 */
static void GetBatteryLevel(Service::Interface* self) {
    u32* cmd_buff = Kernel::GetCommandBuffer();

    cmd_buff[1] = RESULT_SUCCESS.raw;
    cmd_buff[2] = static_cast<u32>(GetBatteryLevel());

    LOG_WARNING(Service_PTM, "(STUBBED) called");
}
Example #4
0
bool CSysInfoJob::DoWork()
{
  m_info.systemUptime      = GetSystemUpTime(false);
  m_info.systemTotalUptime = GetSystemUpTime(true);
  m_info.internetState     = GetInternetState();
  m_info.videoEncoder      = GetVideoEncoder();
  m_info.cpuFrequency      = GetCPUFreqInfo();
  m_info.kernelVersion     = CSysInfo::GetKernelVersion();
  m_info.batteryLevel      = GetBatteryLevel();
  return true;
}
static void FlowPB_IconDrawBattery(BOOL bShow)
{

    if (bShow==FALSE)
    {
        UxCtrl_SetShow(&UIFlowWndPlay_StatusICN_BatteryCtrl, FALSE);
        return;
    }

    UxState_SetData(&UIFlowWndPlay_StatusICN_BatteryCtrl,STATE_CURITEM,GetBatteryLevel());
    UxCtrl_SetShow(&UIFlowWndPlay_StatusICN_BatteryCtrl, TRUE);
}
Example #6
0
bool CSysInfoJob::DoWork()
{
  m_info.systemUptime      = GetSystemUpTime(false);
  m_info.systemTotalUptime = GetSystemUpTime(true);
  m_info.internetState     = GetInternetState();
  m_info.videoEncoder      = GetVideoEncoder();
  m_info.cpuFrequency      = GetCPUFreqInfo();
  m_info.osVersionInfo     = CSysInfo::GetOsPrettyNameWithVersion() + " (kernel: " + CSysInfo::GetKernelName() + " " + CSysInfo::GetKernelVersionFull() + ")";
  m_info.macAddress        = GetMACAddress();
  m_info.batteryLevel      = GetBatteryLevel();
  return true;
}
Example #7
0
/************************************************************************
 Function: void UpdateTime(WORD force)

 Overview: This function updates the date and time variables.

 Input: none.

 Output: none
************************************************************************/
void UpdateTime(WORD force)
{
    static char previousChar;
    char changeIndicator;
    OBJ_HEADER  *pObject;
    char currentHour;
    char hourStr[3];

    RTCCProcessEvents();

    changeIndicator = _time_str[8];

    if ((previousChar != changeIndicator) || (force == FORCE_UPDATE))
    {
        previousChar = changeIndicator;

        if ((pObject = GOLFindObject(ID_TIME)) != NULL)
        {
            strncpy(CurrentTimeStr, _time_str, 9);

            // change hour to AM/PM format
            currentHour = mRTCCGetBinHour();

            if (hour >= 12)
                strncpy(&CurrentTimeStr[10], DayNightItems[1], 3);
            else
                strncpy(&CurrentTimeStr[10], DayNightItems[0], 3);

            if (currentHour > 12)
            {
                currentHour = currentHour - 12;

                // now set the hour in the string
                NumberToString(currentHour, hourStr, 2, 0);
                CurrentTimeStr[4] = hourStr[0];
                CurrentTimeStr[5] = hourStr[1];

            }

            StSetText((STATICTEXT *)pObject, CurrentTimeStr);
            SetState( pObject, ST_DRAW );
        }

        if ((pObject = GOLFindObject(ID_BATLEVEL)) != NULL)
        {
            PbSetPos( (PROGRESSBAR*)pObject, GetBatteryLevel());
            SetState( pObject, PB_DRAW_BAR );
        }
    }
}
Example #8
0
INT32 UIFlowWndPhoto_OnBattery(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
 static volatile BOOL bBatteryOn = FALSE;

    UxState_SetData(&UIFlowWndPhoto_StatusICN_BatteryCtrl,STATE_CURITEM,GetBatteryLevel());
    if (KeyScan_IsACIn())
    {
        bBatteryOn = !bBatteryOn;
        UxCtrl_SetShow(&UIFlowWndPhoto_StatusICN_BatteryCtrl,bBatteryOn);
    } else {
        UxCtrl_SetShow(&UIFlowWndPhoto_StatusICN_BatteryCtrl,TRUE);
    }
    return NVTEVT_CONSUME;
}
INT32 UIFlowWndMovie_OnBattery(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
 //static volatile BOOL bBatteryOn = FALSE;

    UxState_SetData(&UIFlowWndMovie_Status_batteryCtrl,STATE_CURITEM,GetBatteryLevel());
    if (KeyScan_IsUSBPower())
    {
        //bBatteryOn = !bBatteryOn;
        UxCtrl_SetShow(&UIFlowWndMovie_Status_batteryCtrl,TRUE);
    } else {
        UxCtrl_SetShow(&UIFlowWndMovie_Status_batteryCtrl,TRUE);
    }

    return NVTEVT_CONSUME;
}
Example #10
0
INT32 UIFlowWndPlay_OnBattery(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
  static volatile BOOL bBatteryOn = FALSE;

    UxState_SetData(&UIFlowWndPlay_StatusICN_BatteryCtrl,STATE_CURITEM,GetBatteryLevel());
    if (KeyScan_IsACIn())
    {
        #if (_MODEL_DSC_ == _MODEL_DUAL_V6_)
            bBatteryOn = TRUE;
        #else
            bBatteryOn = !bBatteryOn;
        #endif
        if (bBatteryOn==FALSE)
            UxState_SetData(&UIFlowWndPlay_StatusICN_BatteryCtrl,STATE_CURITEM,UIFlowWndPlay_StatusICN_Battery_ICON_TRANSPAENT);
        UxCtrl_SetShow(&UIFlowWndPlay_StatusICN_BatteryCtrl,TRUE);
    } else {
        UxCtrl_SetShow(&UIFlowWndPlay_StatusICN_BatteryCtrl,TRUE);
    }

    return NVTEVT_CONSUME;
}
Example #11
0
	bool __CALLOUT InitializeShell() {
		Clear(BLUE);
		const char* str = "PRICE of HONOR!";
		DrawTextString(40,60,str,Length(str),RED,BLUE);
	
		GetBatteryLevel();
		SetScreenBrightness(100);
		char buff[200];
		int res = snprintf(buff,sizeof(buff),"test %d",0);
		DrawPixel(1,1,WHITE);
		DoVibroAndBeep(500);
		ubyte_t l = GetLustraId();
		SendRadioPacket(NULL,0);
		uword_t a = GetArmletId();
		FILE log;
		OpenFile(&log, "log.txt", true);
		char* s = "log test";
		WriteFile(&log, s, Length(s));	
		/*
		//int i = 0;
		//Color area[100];
		//for (i=0; i<100; i++) area[i] = 0xF0F;
		//DrawArea(5,5,area,100,10,10);
		//WriteFile(&log, (char*)area, 100);
		//for (i=0; i<100; i++) area[i] = 0x0;
		//ReadFile(&log, (char*)area, 100);
		//AppendFile(&log, (char*)area, 100);
		//DrawArea(5,5,area,100,10,10);
		*/
		RequestTimer(TimerProc,100);
		int up = GetUpTime();
		int rnd = GetRandom(50);
		//SetCureName is checked in AppMainThread
		//WritePill is checked in AppMainThread
		//StartThread(AppMainThread,NULL);
		return true; //TODO
	}
jint JNICALL Java_ardrone_ARDrone_getBatteryLevel(JNIEnv *env, jclass cls)
{
	return GetBatteryLevel();
}
Example #13
0
void KeyScan_DetBattery(void)
{
#if (KEYSCAN_POWEROFF_DET == ENABLE)

    UINT32  ui_battery_level =0;
    static UINT32   uiDetLowBattery = 0;
    static UINT32   ui_Battery_val[] = {BATTERY_FULL,BATTERY_MED,BATTERY_LOW,BATTERY_EMPTY,BATTERY_EXHAUSTED};
    
   // if (KeyScan_IsFlashCharging() || KeyScan_IsUSBPlug())
       // return;
    //debug_err(("KeyScan_IsUSBPlug : %d\r\n",KeyScan_IsUSBPlug()));
    if((usb_StateChange())||(GPIOMap_GetAcc12V()==TRUE))
    {
	switch(uiBatteryLvl)
	{
		case VOLDET_BATTERY_LVL_3:
			uiBatteryLvl = VOLDET_BATTERY_LVL_1;
			break;
		case VOLDET_BATTERY_LVL_1:
			uiBatteryLvl = VOLDET_BATTERY_LVL_2;			
			break;			
		case VOLDET_BATTERY_LVL_2:
			uiBatteryLvl = VOLDET_BATTERY_LVL_3;
			break;		
		default:
			uiBatteryLvl = VOLDET_BATTERY_LVL_1;
			break;			
	}
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
		return;
    }
    else
    {
    	uiBatteryLvl = VolDet_GetBatteryLevel();
      ui_battery_level = GetBatteryLevel();		
    }
    //debug_err(("battery level: new %d, old %d\n\r",uiBatteryLvl,ui_battery_level));
    switch(ui_battery_level)
    {
    case BATTERY_FULL:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_3)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_MED:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_2)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_LOW:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_1)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_EMPTY:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_0)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_EXHAUSTED:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_EMPTY)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    }

    if (uiBatteryLvl == VOLDET_BATTERY_LVL_EMPTY)
    {
        uiDetLowBattery++;
        if (uiDetLowBattery >= 2)   // if continuously detect battery low over 2 sec
        {
            debug_err(("*********KeyScan_DetBattery: Empty battery!!!\r\n"));
            KeyScan_PlaySound(PLAYSOUND_SOUND_KEY_OTHERS);
            TimerDelayMs(500);
            FlowWrnBatteryEmpty_Open();
            TimerDelayMs(2000);
            KeyScan_PoweroffFlow();
        }
    }
    else
    {
        uiDetLowBattery = 0;
    }
#endif //KEYSCAN_POWEROFF_DET
}
Example #14
0
/************************************************************************
 Function: CreateCommonObjects()

 Overview: Creates the common objects present in all screens

 Input: none

 Output: none
************************************************************************/
void CreateCommonObjects(void)
{
    WORD timeStartX;
    WORD timeWidth, textHeight;

    SetColor(BACKGROUND_COLOR);
    ClearDevice();

    BtnCreate
    (
        ID_MCHPICON,
        MCHP_LOGO_STARTX, MCHP_LOGO_STARTY,
        MCHP_LOGO_STARTX + (MCHP_LOGO_WIDTH - 5),
        MCHP_LOGO_STARTY + (MCHP_LOGO_HEIGHT - 5),
        0, BTN_DRAW,
        (void *) &MICROCHIP_LOGO, NULL,
        pBatStyleScheme
    );

    PbCreate
    (
        ID_BATLEVEL,
        BAT_STARTX, BAT_STARTY,
        BAT_STARTX + BAT_WIDTH,
        BAT_STARTY + BAT_HEIGHT,
        PB_DRAW | PB_NOPROGRESS,
        GetBatteryLevel(),
        GetBatteryRange(),
        pBatStyleScheme
    );

    // calculate the positions of the date and time info
    strcpy(CurrentTimeStr, "Mon 10:10 AM ");

    timeWidth = GetTextWidth(CurrentTimeStr, (void *)&TIMEDATEFONT);
    textHeight = GetTextHeight((void *)&TIMEDATEFONT);

    timeStartX = BAT_STARTX - timeWidth - 5;

    StCreate
    (
        ID_TIME,
        timeStartX,
        DATE_TIME_STARTY,
        timeStartX + timeWidth,
        DATE_TIME_STARTY + textHeight,
        ST_DRAW,
        CurrentTimeStr,
        pTimeDateStyleScheme
    );

    // This is the battery primitives
    SetColor(TEXTCOLOR_UNPRESSED);
    // draw the outline first
    while(!Bar(	BAT_STARTX - 1, BAT_STARTY - 1,
                BAT_STARTX + BAT_WIDTH + 1, BAT_STARTY + BAT_HEIGHT + 1));
    // draw the battery head
    while(!Bar(	BAT_STARTX - 3, BAT_STARTY + ((BAT_HEIGHT>>1)-1),
                BAT_STARTX - 2, BAT_STARTY + ((BAT_HEIGHT>>1)+1)));

    UpdateTime(FORCE_UPDATE);
}
Example #15
0
static INT32 UIFlowWndPhoto_OnExeCapture(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
    UINT32 uiEvtKeyAct = 0;

    if(paramNum > 0)
        uiEvtKeyAct = paramArray[0];

    switch(uiEvtKeyAct)
    {
        case NVTEVT_KEY_PRESS:
        {
            switch (gPhotoData.State)
            {
              case PHOTO_ST_VIEW:
                /* Check if in quick review process */
                if(SysGetFlag(FL_QUICK_REVIEW) != QUICK_REVIEW_0SEC)
                {
                    if(g_uiQviewTimerID != NULL_TIMER)
                    {
                        GxTimer_StopTimer(&g_uiQviewTimerID);
                        //g_bQviewTimerStart = FALSE;

                        // unloce AE/AWB
                        FlowPhoto_InitStartupFuncs();

                        /* Set to preview mode */
                        UI_Show(UI_SHOW_PREVIEW, TRUE);

                        /* close quick view image */
                        UI_Show(UI_SHOW_QUICKVIEW, FALSE);

                        /* Resume key after quick view completed */
                        Input_SetKeyMask(KEY_PRESS, g_uiMaskKeyPress);
                        Ux_FlushEventByRange(NVTEVT_KEY_EVT_START,NVTEVT_KEY_EVT_END);

                        /* Update window info */
                        FlowPhoto_UpdateIcons(TRUE);
                        return NVTEVT_CONSUME;
                    }
                }

                /* Check capture prerequisite */
                if(FlowPhoto_IsStorageErr() == TRUE)
                {
                    debug_err(("UIFlowWndPhoto_OnKeyShutter2: Card or memory full!\r\n"));
                    gPhotoData.State= PHOTO_ST_WARNING_MENU;
                    return NVTEVT_CONSUME;
                }
                if (GetBatteryLevel() == BATTERY_EXHAUSTED)
                {
                    debug_err(("UIFlowWndPhoto_OnKeyShutter2: Battery is too low!\r\n"));
                    return NVTEVT_CONSUME;
                }

                // check free pic number
                if (SysGetFlag(FL_CONTINUE_SHOT) == CONTINUE_SHOT_ON) {
                    if(FlowPhoto_GetFreePicNum() < 2)
                    {
                        UINT32 uiMsg = 0;

                        #if (_DUAL_CARD_FUNC_ == ENABLE)
                        uiMsg = ((UI_GetData(FL_CardStatus) == CARD_REMOVED) && (UI_GetData(FL_Card2Status) == CARD_REMOVED))? UIFlowWndWrnMsg_StatusTXT_Msg_STRID_PLEASE_INSERT_SD : UIFlowWndWrnMsg_StatusTXT_Msg_STRID_CARD_FULL;
                        #else
                        uiMsg = (UI_GetData(FL_CardStatus) == CARD_REMOVED)? UIFlowWndWrnMsg_StatusTXT_Msg_STRID_PLEASE_INSERT_SD : UIFlowWndWrnMsg_StatusTXT_Msg_STRID_CARD_FULL;
                        #endif
                        gPhotoData.State= PHOTO_ST_WARNING_MENU;
                        Ux_OpenWindow(&UIFlowWndWrnMsgCtrl,2,uiMsg,FLOWWRNMSG_TIMER_2SEC);
                        return NVTEVT_CONSUME;
                    }
                }

                switch (SysGetFlag(FL_SELFTIMER))          // set capture mode by system flag
                {
                case SELFTIMER_2SEC:
                    /* Suspend all keys, except S2 key while selftimer started */
                    Input_SetKeyMask(KEY_PRESS, FLGKEY_ENTER);
                    FlowPhoto_IconDrawSelftimerTime(&UIFlowWndPhoto_StaticTXT_SelftimerCntCtrl,2);
                    gPhotoData.SelfTimerCount = 20;              // set time counter
                    gPhotoData.State = PHOTO_ST_SELFTIMER;  // set working state to self-timer state
                    //KeyScan_EnableLEDToggle(KEYSCAN_LED_GREEN, TRUE);
                    UISound_Play(DEMOSOUND_SOUND_KEY_TONE);
                    if (g_uiSelfTimerID == NULL_TIMER)
                    {
                        g_uiSelfTimerID = GxTimer_StartTimer(100, NVTEVT_01SEC_TIMER, CONTINUE);
                    }
                    break;
                case SELFTIMER_5SEC:
                    /* Suspend all keys, except S2 key while selftimer started */
                    Input_SetKeyMask(KEY_PRESS, FLGKEY_ENTER);
                    FlowPhoto_IconDrawSelftimerTime(&UIFlowWndPhoto_StaticTXT_SelftimerCntCtrl,5);
                    gPhotoData.SelfTimerCount = 50;         // set time counter
                    gPhotoData.State = PHOTO_ST_SELFTIMER;  // set working state to self-timer state
                    //KeyScan_EnableLEDToggle(KEYSCAN_LED_GREEN, TRUE);
                    UISound_Play(DEMOSOUND_SOUND_KEY_TONE);
                    if (g_uiSelfTimerID == NULL_TIMER)
                    {
                        g_uiSelfTimerID = GxTimer_StartTimer(100, NVTEVT_01SEC_TIMER, CONTINUE);
                    }
                    break;
                case SELFTIMER_10SEC:
                    /* Suspend all keys, except S2 key while selftimer started */
                    Input_SetKeyMask(KEY_PRESS, FLGKEY_ENTER);
                    FlowPhoto_IconDrawSelftimerTime(&UIFlowWndPhoto_StaticTXT_SelftimerCntCtrl,10);
                    gPhotoData.SelfTimerCount = 100;        // set time counter
                    gPhotoData.State = PHOTO_ST_SELFTIMER;  // set working state to self-timer state
                    //#NT#2012/8/1#Philex - begin
                    //KeyScan_EnableLEDToggle(KEYSCAN_LED_GREEN, TRUE);
                    UISound_Play(DEMOSOUND_SOUND_KEY_TONE);
                    //#NT#2012/8/1#Philex - begin
                    if (g_uiSelfTimerID == NULL_TIMER)
                    {
                        g_uiSelfTimerID = GxTimer_StartTimer(100, NVTEVT_01SEC_TIMER, CONTINUE);
                    }
                    break;
                default:
                    /* Suspend all keys before sending capture command */
                    Input_SetKeyMask(KEY_PRESS, FLGKEY_KEY_MASK_NULL);
                    Ux_FlushEventByRange(NVTEVT_KEY_EVT_START,NVTEVT_KEY_EVT_END);

                    /* Clear the whole OSD screen */
                    UxCtrl_SetAllChildShow(pCtrl,FALSE);

                    gPhotoData.State = PHOTO_ST_CAPTURE;    // enter capture state
                    FlowPhoto_DoCapture();                  // do capture directly
                    break;
                 }
                break;
                case PHOTO_ST_SELFTIMER:
                     gPhotoData.State = PHOTO_ST_VIEW;
                     gPhotoData.SelfTimerCount = 0;
                     //KeyScan_EnableLEDToggle(KEYSCAN_LED_GREEN, FALSE);
                     FlowPhoto_IconHideSelftimer(&UIFlowWndPhoto_StaticTXT_SelftimerCntCtrl);
                     // resume press mask to default
                     Input_SetKeyMask(KEY_PRESS, g_uiMaskKeyPress);
                    break;
            }
            break;
        }

        case NVTEVT_KEY_RELEASE:
        {
            //Rsvd
            break;
        }

        default:
            debug_err(("UIFlowWndPhoto_OnKeyShutter2: Unknown evt 0x%x\r\n", uiEvtKeyAct));
            break;
    }
    return NVTEVT_CONSUME;
}
Example #16
0
/*************************************************
 Function:		guilog_proc
 Descroption:	 
 Input: 		None
 Output: 
 Return: 	
 Other:  
*************************************************/
static void guilog_proc(void)
{
    INT8U Buf[20];
    INT8U Buflen = 0;
    INT8U mdata[4] = {0,1,2,3}; 
    INT8U Count = 0;
    INT8U tmp = 0;
    LCDWriteGB2312(LOG_XPOS, LOG_YPOS, mdata, 4, Font24x24);

    mdata[0] = 103; mdata[1] = 104;
    LCDWriteGB2312(CAP_XPOS, CAP_YPOS, mdata, 2, Font12x12);

    Count = StorageGetDataNum();

    Buflen = 0;
    Buf[Buflen++] = ':';Buf[Buflen++] = ' ';
    if(Count < 10)
    {
        Buf[Buflen++] = '0'+Count;
    }
    else if( Count < 100)
    {
        Buf[Buflen++] = '0'+Count/10;
        Buf[Buflen++] = '0'+Count%10;
    }
    else
    {
        Buf[Buflen++] = '0'+Count/100;
        tmp = Count/100;
        Count -= tmp*100;
        Buf[Buflen++] = '0'+Count/10;
        Buf[Buflen++] = '0'+Count%10;
    }

    Count = INFO_MAX;
    Buf[Buflen++] = '/';
    Buf[Buflen++] = '0'+Count/100;
    tmp = Count/100;
    Count -= tmp*100;
    Buf[Buflen++] = '0'+Count/10;
    Buf[Buflen++] = '0'+Count%10; 
    LCDWriteAccsii(CAP_XPOS+Font12x12*2, CAP_YPOS+2, Buf, Buflen, Font12x8);
    
    mdata[0] = 102; mdata[1] = 104;

    Count = GetBatteryLevel();
    Buflen = 0;
    Buf[Buflen++] = ':';Buf[Buflen++] = ' ';
    if(Count < 10)
    {
        Buf[Buflen++] = '0'+Count;
    }
    else if( Count < 100)
    {
        Buf[Buflen++] = '0'+Count/10;
        Buf[Buflen++] = '0'+Count%10;
    }else
    {
        Buf[Buflen++] = '0'+Count/100;
        tmp = Count/100;
        Count -= tmp*100;
        Buf[Buflen++] = '0'+Count/10;
        Buf[Buflen++] = '0'+Count%10;
    }

    
    LCDWriteGB2312(BATTERY_XPOS, BATTERY_YPOS, mdata, 2, Font12x12);
    LCDWriteAccsii(BATTERY_XPOS+Font12x12*2, BATTERY_YPOS+2, Buf, Buflen, Font12x8);
}
Example #17
0
void FlowMovie_IconDrawBattery(void)
{
    UxState_SetData(&UIFlowWndMovie_Status_batteryCtrl,STATE_CURITEM,GetBatteryLevel());
    UxCtrl_SetShow(&UIFlowWndMovie_Status_batteryCtrl,TRUE);
}
void FlowPhoto_IconDrawBattery(VControl *pCtrl)
{
    UxState_SetData(pCtrl,STATE_CURITEM,GetBatteryLevel());
    UxCtrl_SetShow(pCtrl,TRUE);
}
Example #19
0
void KeyScan_DetBattery(void)
{
#if (KEYSCAN_POWEROFF_DET == ENABLE)

    UINT32  ui_battery_level;
    static UINT32   uiDetLowBattery = 0;
    static UINT32   ui_Battery_val[] = {BATTERY_FULL,BATTERY_MED,BATTERY_LOW,BATTERY_EMPTY,BATTERY_EXHAUSTED, BATTERY_CHARGE};

    // don't monitor battery as flash light charging
    //if (KeyScan_IsFlashCharging())
       // return;
    if (KeyScan_IsUSBPower())
    {
        uiBatteryLvl = VOLDET_BATTERY_LVL_CHARGE;
        ui_battery_level = BATTERY_CHARGE;
        SetBatteryLevel(BATTERY_CHARGE);
        Ux_PostEvent(NVTEVT_BATTERY, 0);
    }else
    {
        uiBatteryLvl = VolDet_GetBatteryLevel();
        ui_battery_level = GetBatteryLevel();
        Ux_PostEvent(NVTEVT_BATTERY, 0);		
    }

    switch(ui_battery_level)
    {
    case BATTERY_CHARGE:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_CHARGE)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_FULL:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_3)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_MED:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_2)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_LOW:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_1)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_EMPTY:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_0)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    case BATTERY_EXHAUSTED:
        if(uiBatteryLvl != VOLDET_BATTERY_LVL_EMPTY)
        {
            SetBatteryLevel(ui_Battery_val[uiBatteryLvl]);
            Ux_PostEvent(NVTEVT_BATTERY, 0);
        }
        break;
    }

    if (uiBatteryLvl == VOLDET_BATTERY_LVL_EMPTY)
    {
        uiDetLowBattery++;
        if (uiDetLowBattery >= 3)   // if continuously detect battery low over 3 times
        {
            VControl    *pCurrnetWnd;

            //#NT#2011/08/09#KS Hung -begin
            switch(Primary_GetCurrentMode())
            {
            case PRIMARY_MODE_MOVIE:
                switch (FlowMovie_GetMovDataState())
                {
                case MOV_ST_REC:
                case MOV_ST_REC | MOV_ST_ZOOM:
                    FlowMovie_StopRec();
                    break;
                }
                break;
            case PRIMARY_MODE_PLAYBACK:
                switch (FlowPB_GetPlbDataState())
                {
                case PLB_ST_PLAY_MOV:
                case PLB_ST_PAUSE_MOV:
                    Ux_SendEvent(&UIPlayObjCtrl,NVTEVT_MOVSTOP,0);
                    break;
                }
                break;
            }

            Ux_GetFocusedWindow(&pCurrnetWnd);
            if (strncmp(pCurrnetWnd->Name,"UIFlowWndWrnMsg",15) != 0)
            {
                KeyScan_SetKeyMask(KEYSCAN_KEYMODE_PRESS, FLGKEY_KEY_MASK_NULL);
                KeyScan_SetKeyMask(KEYSCAN_KEYMODE_RELEASE, FLGKEY_KEY_MASK_NULL);
                KeyScan_SetKeyMask(KEYSCAN_KEYMODE_CONTINUE, FLGKEY_KEY_MASK_NULL);
                Ux_OpenWindow(&UIFlowWndWrnMsgCtrl,2,UIFlowWndWrnMsg_StatusTXT_Msg_STRID_BATTERY_LOW, FLOWWRNMSG_TIMER_2SEC*5);
            }
            //#NT#2011/08/09#KS Hung -end
        }
    }
    else
    {
        uiDetLowBattery = 0;
    }
#endif //KEYSCAN_POWEROFF_DET
}