コード例 #1
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 );
        }
    }
}
コード例 #2
0
ファイル: tbanner.c プロジェクト: gen1izh/c
/*****************************************************************************
 * Function: TBannerChangeField
 *
 * Precondition: None.
 *
 * Overview: The function increases/decreases the selected clock field.
 *
 * Input: Direction of changing: 0 to decrement otherwise increment.
 *
 * Output: None.
 *
 *****************************************************************************/
void TBannerChangeField(char increment){
unsigned char data;
if(_uTBannerSetup){
	mRTCCUnlock();
    switch(_uTBannerCurPos){
        case TBNR_POS_WKDAY:
            break;
        case TBNR_POS_HOUR:
            data = mRTCCGetBinHour();
            if(increment) data++; else data--;
            RTCCSetBinHour(data);
            break;
        case TBNR_POS_MIN:
            data = mRTCCGetBinMin();
            if(increment) data++; else data--;
            RTCCSetBinMin(data);
            break;
        case TBNR_POS_SEC:
            data = mRTCCGetBinSec();
            if(increment) data++; else data--;
            RTCCSetBinSec(data);
            break;
        case TBNR_POS_MONTH:
            data = mRTCCGetBinMonth();
            if(increment) data++; else data--;
            RTCCSetBinMonth(data);
            RTCCCalculateWeekDay();
            break;
        case TBNR_POS_DAY:
            data = mRTCCGetBinDay();
            if(increment) data++; else data--;
            RTCCSetBinDay(data);
            RTCCCalculateWeekDay();
            break;
        case TBNR_POS_YEAR:
            data = mRTCCGetBinYear();
            if(increment) data++; else data--;
            RTCCSetBinYear(data);
            RTCCCalculateWeekDay();
            break;
        default:
            ;
    }// End of switch(_uTBannerCurPos ...
    mRTCCSet();
}
}