Exemplo n.º 1
0
void UpdateDateTime( void )
{
    OBJ_HEADER* obj;

    RTCCProcessEvents();                // update the time and date

    // update time edit boxes
    obj = GOLFindObject(ID_HOUR);
    EbSetText((EDITBOX*)obj, &_time_str[4]);
    SetState(obj, EB_DRAW);
    obj = GOLFindObject(ID_MINUTE);
    EbSetText((EDITBOX*)obj, &_time_str[7]);
    SetState(obj, EB_DRAW);

    // update date edit boxes
    obj = GOLFindObject(ID_MONTH);
    EbSetText((EDITBOX*)obj, &_date_str[0]);
    SetState(obj, EB_DRAW);
    obj = GOLFindObject(ID_DAY);
    EbSetText((EDITBOX*)obj, &_date_str[4]);
    SetState(obj, EB_DRAW);
    obj = GOLFindObject(ID_YEAR);
    EbSetText((EDITBOX*)obj, &_date_str[8]);
    SetState(obj, EB_DRAW);
}
Exemplo n.º 2
0
Arquivo: tbanner.c Projeto: gen1izh/c
/*****************************************************************************
 * Function: TBannerProcessEvents
 *
 * Precondition: TBannerInit must be called before.
 *
 * Overview: This is a state mashine to display time and date strings and
 * show the blinking cursor in SETUP mode.
 *
 * Input: None.
 *
 * Output: None.
 *
 *****************************************************************************/
void TBannerProcessEvents(void)
{
   
	switch(_uTBannerState){
		case 1: 			// Wait to put a char
		case 4:
			if (_uTBannerCharWait) _uTBannerCharWait--;
			else {
				_uTBannerState++;
				_uTBannerCharWait = 2;
			}
			break;
		case 5:
		case 2:				// Put a char on the LCD
			if (!mLCDIsBusy()) {
				mLCDPutChar(*_pTBanner);
				_pTBanner++;
				_uTBannerLen--;
				if (!_uTBannerLen) _uTBannerState++;
				else _uTBannerState--;
			}
			break;
		case 3:
			if (!mLCDIsBusy()) {
				mLCDPutCmd(0xC0);
				_uTBannerLen = LCD_DISPLAY_LEN;

                if(_uTBannerBlinkWait--){
                    _uTBannerBlink ^= 1;
                    _uTBannerBlinkWait = TBNR_BLINK_PERIOD;
                }

                 RTCCProcessEvents();

                if(_uTBannerBlink)
                    TBannerClearField();
   				_pTBanner = _date_str;
				_uTBannerState++;
			}
			break;
		case 6:
			if (!mLCDIsBusy()) {
				mLCDHome();
				_uTBannerState = 1;
				_uTBannerLen = LCD_DISPLAY_LEN;
                if(_uTBannerBlink)
                     TBannerClearField();
   				_pTBanner = _time_str;
			}
			break;
		default:
			_uTBannerState = 0;
			break;
	}	
}
Exemplo n.º 3
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 );
        }
    }
}
Exemplo n.º 4
0
  Function:
    void ShowScreenMain( void )

  Description:
    This function erases the currently displayed screen and replaces it with
    the main menu screen.

  Precondition:
    None

  Parameters:
    None

  Returns:
    None

  Remarks:
    The global list of graphics objects is destroyed and replaced.  Therefore,
    this function cannot be called during the message processing of
    GOLMsgCallback().  It must be called during GOLDrawCallback() processing.
  ***************************************************************************/

void ShowScreenMain( void )
{
    RTCCProcessEvents();

    strcpy( pageInformation.title, "PIC24F Starter Kit" );

    strcpy( pageInformation.buttonTextTopLeft, "Flash Drive" );
    strcpy( pageInformation.buttonTextBottomLeft, "Demos" );
    strcpy( pageInformation.buttonTextTopRight, "Utilities" );
    strcpy( pageInformation.buttonTextBottomRight, "Games" );
	strcpy( pageInformation.buttonTextThirdrow, 	"" );

    pageInformation.buttonBitmapTopLeft        = NULL;
    pageInformation.buttonBitmapBottomLeft     = NULL;
    pageInformation.buttonBitmapTopRight       = NULL;
    pageInformation.buttonBitmapBottomRight    = NULL;

    strcpy( pageInformation.instructions, _date_str );
    strcat( pageInformation.instructions, "  " );
    strcat( pageInformation.instructions, _time_str );

    ShowScreenGeneric( );
}
Exemplo n.º 5
0
void ShowScreenTime( void )
{
    WORD    textHeight;
    WORD    textWidth;

    strcpy( pageInformation.title, "Set Date/Time" );

    InitializeScreen();

    RTCCProcessEvents();

    // Draw the hidden controls.

    BtnCreate(
                        ID_RTCC_BUTTON_HOME,
                        GetMaxX()-8, 0, GetMaxX()-6, 4, 0,
                        BTN_HIDE,
                        NULL,
                        NULL,
                        NULL );

    BtnCreate(
                        ID_RTCC_BUTTON_NEXT,
                        GetMaxX()-6, 0, GetMaxX()-4, 4, 0,
                        BTN_HIDE,
                        NULL,
                        NULL,
                        NULL );

    BtnCreate(
                        ID_RTCC_BUTTON_PREVIOUS,
                        GetMaxX()-4, 0, GetMaxX()-2, 4, 0,
                        BTN_HIDE,
                        NULL,
                        NULL,
                        NULL );

    // -------------------------------------------------------------------------
    // Create Month, Day and Year Edit Boxes and Buttons

    textWidth  = GetTextWidth( "Mmm", (void *)&FONTDEFAULT );
    textHeight = GetTextHeight( (void *)&FONTDEFAULT ) + 2*GOL_EMBOSS_SIZE;

    // Create the month components

    EbCreate(
                ID_MONTH,
                MONTH_START_X,
                MONTH_START_Y,
                MONTH_END_X,
                MONTH_END_Y,
                EB_DRAW,                    // will be dislayed after creation
                &_date_str[0],              // use the month string value
                3,                          // max characters is 3
                NULL );                     // default GOL scheme

    BtnCreate(
                ID_MONTH_PLUS,
                MONTH_BUTTON_START_X,
                MONTH_START_Y,
                MONTH_BUTTON_END_X,
                MONTH_START_Y + (textHeight >> 1),
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "+",                        // DOWN arrow as text
                NULL );                     // use navigation scheme

    BtnCreate(  ID_MONTH_MINUS,
                MONTH_BUTTON_START_X,
                MONTH_START_Y + (textHeight >> 1),
                MONTH_BUTTON_END_X,
                MONTH_END_Y,
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "-",                        // DOWN arrow as text
                NULL );                     // use navigation scheme

    // Create the day components

    textWidth  = GetTextWidth( "MM", (void *)&FONTDEFAULT );

    EbCreate(
                ID_DAY,
                DAY_START_X,
                DAY_START_Y,
                DAY_END_X,
                DAY_END_Y,
                EB_DRAW,                    // will be dislayed after creation
                &_date_str[4],              // use the day string value
                2,                          // max characters is 3
                NULL );                     // default GOL scheme

    BtnCreate(
                ID_DAY_PLUS,
                DAY_BUTTON_START_X,
                DAY_START_Y,
                DAY_BUTTON_END_X,
                DAY_START_Y + (textHeight >> 1),
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "+",                        // DOWN arrow as text
                NULL );                     // use navigation scheme

    BtnCreate(  ID_DAY_MINUS,
                DAY_BUTTON_START_X,
                DAY_START_Y + (textHeight >> 1),
                DAY_BUTTON_END_X,
                DAY_END_Y,
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "-",                        // DOWN arrow as text
                NULL );                     // use navigation scheme

    // Create the year components

    textWidth  = GetTextWidth( "MM00", (void *)&FONTDEFAULT );

    EbCreate(
                ID_YEAR,
                YEAR_START_X,
                YEAR_START_Y,
                YEAR_END_X,
                YEAR_END_Y,
                EB_DRAW,                // will be dislayed after creation
                &_date_str[8],          // use the year string value
                4,                      // max characters is 4
                NULL );                 // default GOL scheme

    BtnCreate(
                ID_YEAR_PLUS,
                YEAR_BUTTON_START_X,
                YEAR_START_Y,
                YEAR_BUTTON_END_X,
                YEAR_START_Y + (textHeight >> 1),
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "+",                        // DOWN arrow as text
                NULL );                     // use navigation scheme

    BtnCreate(  ID_YEAR_MINUS,
                YEAR_BUTTON_START_X,
                YEAR_START_Y + (textHeight >> 1),
                YEAR_BUTTON_END_X,
                YEAR_END_Y,
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "-",                        // DOWN arrow as text
                NULL );                     // use navigation scheme

    // -------------------------------------------------------------------------
    // Create the Hour and Minute Edit Boxes and Buttons

    textWidth  = GetTextWidth( "MM", (void *)&FONTDEFAULT ) + (GOL_EMBOSS_SIZE<<1);

    // Create the hour components

    EbCreate(
                ID_HOUR,
                HOUR_START_X,
                HOUR_START_Y,
                HOUR_END_X,
                HOUR_END_Y,
                EB_DRAW,
                &_time_str[4],
                2,
                NULL );

    BtnCreate(
                ID_HOUR_PLUS,
                HOUR_BUTTON_START_X,
                HOUR_START_Y,
                HOUR_BUTTON_END_X,
                HOUR_START_Y + (textHeight >> 1),
                0,
                BTN_DRAW,
                NULL,
                "+",
                NULL );

    BtnCreate(  ID_HOUR_MINUS,
                HOUR_BUTTON_START_X,
                HOUR_START_Y + (textHeight >> 1),
                HOUR_BUTTON_END_X,
                HOUR_END_Y,
                0,
                BTN_DRAW,
                NULL,
                "-",
                NULL );

    // Create the minute components

    EbCreate(
                ID_MINUTE,
                MINUTE_START_X,
                MINUTE_START_Y,
                MINUTE_END_X,
                MINUTE_END_Y,
                EB_DRAW,                // will be dislayed after creation
                &_time_str[7],          // use minute string value
                2,                      // max characters is 2
                NULL );                 // default GOL scheme

    BtnCreate(
                ID_MINUTE_PLUS,
                MINUTE_BUTTON_START_X,
                MINUTE_START_Y,
                MINUTE_BUTTON_END_X,
                MINUTE_START_Y + (textHeight >> 1),
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "+",                        // DOWN arrow as text
                NULL );                     // use navigation scheme

    BtnCreate(  ID_MINUTE_MINUS,
                MINUTE_BUTTON_START_X,
                MINUTE_START_Y + (textHeight >> 1),
                MINUTE_BUTTON_END_X,
                MINUTE_END_Y,
                0,                          // draw rectangular button
                BTN_DRAW,                   // will be dislayed after creation
                NULL,                       // no bitmap
                "-",                        // DOWN arrow as text
                NULL );                     // use navigation scheme


    currentControlSet = CONTROL_SET_MONTH;
    IndicateFocus( WHITE );

}
Exemplo n.º 6
0
WORD ProcessMessageTime( WORD translatedMsg, OBJ_HEADER* pObj, GOL_MSG* pMsg )
{
    signed char change;
    WORD        controlID;
    signed char day;
    signed char dayMax;
    signed char hour;
    signed char minute;
    signed char month;
    signed char year;


    controlID = GetObjID(pObj);
    switch (controlID)
    {
       case ID_RTCC_BUTTON_NEXT:
            // Show the old control set as unselected.
            IndicateFocus( BLACK );

            // Set the next control as active.
            currentControlSet ++;
            if (currentControlSet > CONTROL_SET_MAX)
            {
                currentControlSet = 0;
            }

            // Show the new control set as selected.
            IndicateFocus( WHITE );

            return 0;   // Hidden button
            break;

       case ID_RTCC_BUTTON_PREVIOUS:
            // Show the old control set as unselected.
            IndicateFocus( BLACK );

            // Set the next control as active.
            currentControlSet --;
            if (currentControlSet < 0 )
            {
                currentControlSet = CONTROL_SET_MAX;
            }

            // Show the new control set as selected.
            IndicateFocus( WHITE );

            return 0;   // Hidden button
            break;

        case ID_RTCC_BUTTON_HOME:
            screenState = SCREEN_DISPLAY_MAIN;
            return 0;   // Hidden button
            break;

        case ID_DAY_PLUS:
        case ID_MONTH_PLUS:
        case ID_YEAR_PLUS:
        case ID_HOUR_PLUS:
        case ID_MINUTE_PLUS:
            if (translatedMsg == BTN_MSG_PRESSED)
            {
                change = +1;
            }
            else
            {
                return 1;
            }
            break;

        case ID_DAY_MINUS:
        case ID_MONTH_MINUS:
        case ID_YEAR_MINUS:
        case ID_HOUR_MINUS:
        case ID_MINUTE_MINUS:
            if (translatedMsg == BTN_MSG_PRESSED)
            {
                change = -1;
            }
            else
            {
                return 1;
            }
            break;

        default:
            return 0;
    }

    // Update the selected field.

    RTCCProcessEvents();
    hour    = RTCCGetBinHour();
    minute  = RTCCGetBinMin();
    day     = RTCCGetBinDay();
    month   = RTCCGetBinMonth();
    year    = RTCCGetBinYear();

    dayMax  = daysPerMonth[month-1];

    // February has one day more for a leap year, unless it is on the thousands
    if ((month == 2) && ((year % 4) == 0) && (year != 0))
    {
        dayMax ++;
    }

    // Change the appropriate setting.  Allow the controls to roll over.
    switch (currentControlSet)
    {
        case CONTROL_SET_DAY:
            day += change;
            if (day < 1)
            {
                day = dayMax;
            }
            if (day > dayMax)
            {
                day = 1;
            }
            break;

        case CONTROL_SET_MONTH:
            month += change;
            if (month < 1)
            {
                month = 12;
            }
            if (month > 12)
            {
                month = 1;
            }
            break;

        case CONTROL_SET_YEAR:
            year += change;
            if (year < 0)
            {
                year = 99;
            }
            if (year > 99)
            {
                year = 0;
            }
            break;

        case CONTROL_SET_HOUR:
            hour += change;
            if (hour < 0)
            {
                hour = 23;
            }
            if (hour > 23)
            {
                hour = 0;
            }
            break;

        case CONTROL_SET_MINUTE:
            minute += change;
            if (minute < 0)
            {
                minute = 59;
            }
            if (minute > 59)
            {
                minute = 0;
            }
            break;

        default:
            return 0;
    }

    RTCCOff();
    RTCCSetBinHour( hour );
    RTCCSetBinMin( minute );
    RTCCSetBinSec( 0 );
    RTCCSetBinMonth( month );
    RTCCSetBinYear( year );
    RTCCSetBinDay( day );
    RTCCCalculateWeekDay();
    RTCCSet();                      // Copy the new values to the RTCC registers
    UpdateDateTime();               // Update the display.

    return 1;   // Call the default handler to show the button state.
}
Exemplo n.º 7
0
void PerformBoardTest( void )
{
    static int  elapsedSeconds = 0;
    static void *picture;
    
    
    RTCCProcessEvents();

    if (previousSecond != _time_str[11])
    {
        switch ( elapsedSeconds )
        {
            case 0:
                // We will test to see if we are plugged into the PC as a
                // device (on the right side of the board) or if the debugger
                // side is plugged in (on the left side of the board).  If
                // we are plugged in as a device, we will receive SOF tokens,
                // which sets the SOF interrupt.
                picture = &intro;
             
                // Turn on the USB module in device mode.  First, disable all
                // USB interrupts, since we are just doing a local test.  Then
                // enable the module in default device mode and turn on the 
                // power.  We will let the module take care of pulling up the
                // correct lines.  Note that the interrupt flags in U1IR are
                // cleared by writing a "1" to each flag.
                U1IE                    = 0;
                U1IR                    = 0xFF;
                U1CONbits.USBEN         = 1;
                U1PWRCbits.USBPWR       = 1;
            
                // Fall through
                
            case 2:
                GOLFree();
                SetColor( WHITE );
                ClearDevice();          
                break;
            
            case 1:
            case 3:
                GOLFree();
                SetColor( BLACK );
                ClearDevice();          
                break;

            case 4:
                // See if we are plugged into the PC as a device.  If so, we
                // will display a slightly different picture.
                if (U1IRbits.SOFIF)
                {
                    // We are receiving SOF tokens, so we must be plugged 
                    // into a host.
                    picture = &introDevice;
                }

                // Disable and power off the USB module.
                U1CONbits.USBEN         = 1;
                U1PWRCbits.USBPWR       = 0;
                    
                // Display the selected graphic.
                PictCreate(     ID_ICON,                    // ID
                                0,0,GetMaxX(),GetMaxY(),    // dimension
                                PICT_DRAW,                  // will be dislayed, has frame
                                1,                          // scale factor is x1
                                picture,                    // bitmap
                                NULL );                     // default GOL scheme
                break;
                
            case 5:
                RGBTurnOnLED( RGB_SATURATION_MINIMUM, RGB_SATURATION_MINIMUM, RGB_SATURATION_MINIMUM );
                break;

            case 6: 
                // Red
                RGBSetRed( RGB_SATURATION_MAXIMUM );
                break;
                
            case 7:
                // Yellow
                RGBSetGreen( RGB_SATURATION_MAXIMUM );
                break;
                
            case 8:
                // Green
                RGBSetRed( RGB_SATURATION_MINIMUM );
                break;
                
            case 9:
                // Aqua
                RGBSetBlue( RGB_SATURATION_MAXIMUM );
                break;
                
            case 10:
                // Blue
                RGBSetGreen( RGB_SATURATION_MINIMUM );
                break;
                
            case 11:
                // Fuschia            
                RGBSetRed( RGB_SATURATION_MAXIMUM );
                break;
                
            case 12:
                // White
                RGBSetGreen( RGB_SATURATION_MAXIMUM );
                break;
                
            case 13:
                // Pause
                break;
                
            case 14:
                RGBTurnOffLED();
                screenState    = SCREEN_DISPLAY_MAIN;    
                previousSecond = ' ';
                elapsedSeconds = 0;
                return;
                break;
                            
        }
                   
        previousSecond = _time_str[11];
        elapsedSeconds ++;
    }
}
Exemplo n.º 8
0
WORD GOLDrawCallback( void )
{
	unsigned char           i;
    OBJ_HEADER              *pObject;
	extern unsigned int     trip[NUM_TOUCHPADS];

    switch (screenState)
    {
        case SCREEN_BOARD_TEST:
            PerformBoardTest();
            break;
            
        case SCREEN_DISPLAY_MAIN:
            ShowScreenMain();
            displayChangeTime   = tick;
            screenState         = SCREEN_MAIN;
            break;

        case SCREEN_MAIN:
            RTCCProcessEvents();

            if (previousSecond != _time_str[11])
            {
                previousSecond = _time_str[11];
                strcpy( pageInformation.instructions, _date_str );
                strcat( pageInformation.instructions, "  " );
                strcat( pageInformation.instructions, _time_str );

                pObject = GOLFindObject( ID_INSTRUCTIONS );
                StSetText( (STATICTEXT *)pObject, pageInformation.instructions );
                SetState( pObject, ST_DRAW );
            }
            break;

        case SCREEN_DISPLAY_FLASH:
            ShowScreenFlash();
            displayChangeTime   = tick;
            screenState         = SCREEN_FLASH;
            break;

        case SCREEN_FLASH:
            FlashMonitorMedia();
            break;

        case SCREEN_DISPLAY_FLASH_ERROR:
            ShowScreenFlashError();
            displayChangeTime   = tick;
            screenState         = SCREEN_FLASH_ERROR;
            break;

        case SCREEN_FLASH_ERROR:
            break;

        case SCREEN_DISPLAY_GAMES:
            ShowScreenGames();
            displayChangeTime   = tick;
            screenState         = SCREEN_GAMES;
            break;

        case SCREEN_GAMES:
            break;

        case SCREEN_DISPLAY_SNAKE:
            ShowScreenSnake();
            displayChangeTime   = tick;
            screenState         = SCREEN_SNAKE;
            break;

        case SCREEN_SNAKE:
            DrawSnake();
            break;

        case SCREEN_DISPLAY_SNAKE_SCORE:
            ShowScreenScore();
            displayChangeTime   = tick;
            screenState         = SCREEN_SNAKE_SCORE;
            break;

        case SCREEN_SNAKE_SCORE:
            break;

        case SCREEN_DISPLAY_BLASTER:
            ShowScreenBlaster();
            // Set the touchpad sensitivity for quicker game play.
			for (i=0; i<NUM_TOUCHPADS; i++) 
			{
    			trip[i]=TRIP_VALUE_BLASTER;
            } 			
            displayChangeTime   = tick;
            screenState         = SCREEN_BLASTER;
            break;

        case SCREEN_BLASTER:
            DrawBlaster();
            break;

        case SCREEN_DISPLAY_BLASTER_SCORE:
            ShowScreenScore();
            // Reset the touchpad sensitivity to normal.
			for(i=0; i<NUM_TOUCHPADS; i++) 
			{
    			trip[i]=TRIP_VALUE;
            } 			
            displayChangeTime   = tick;
            screenState         = SCREEN_BLASTER_SCORE;
            break;

        case SCREEN_BLASTER_SCORE:
            break;

        case SCREEN_DISPLAY_SHAPELET:
            ShowScreenShapelet();
            displayChangeTime   = tick;
            screenState         = SCREEN_SHAPELET;
            break;

        case SCREEN_SHAPELET:
            break;

        case SCREEN_DISPLAY_SHAPELET_SCORE:
            ShowScreenScore();
            displayChangeTime   = tick;
            screenState         = SCREEN_SHAPELET_SCORE;
            break;

        case SCREEN_SHAPELET_SCORE:
            break;

        case SCREEN_DISPLAY_DEMOS:
            ShowScreenDemos();
            displayChangeTime   = tick;
            screenState         = SCREEN_DEMOS;
            break;

        case SCREEN_DEMOS:
            break;

        case SCREEN_DISPLAY_RGB:
            ShowScreenRGB();
            displayChangeTime   = tick;
            screenState         = SCREEN_RGB;
            break;

        case SCREEN_RGB:
            break;

        case SCREEN_DISPLAY_GRAPH:
            ShowScreenGraph();
            displayChangeTime   = tick;
            screenState         = SCREEN_GRAPH;
            break;

        case SCREEN_GRAPH:
            UpdateGraph();
            break;

        case SCREEN_DISPLAY_CAPTURE_MEDIA:
            ShowScreenCaptureMedia();
            displayChangeTime   = tick;
            screenState         = SCREEN_CAPTURE_MEDIA;
            break;

        case SCREEN_CAPTURE_MEDIA:
            CaptureMonitorMedia();
            break;

        case SCREEN_DISPLAY_CAPTURE:
            ShowScreenCapture();
            displayChangeTime   = tick;
            screenState         = SCREEN_CAPTURE;
            break;

        case SCREEN_CAPTURE:
            UpdateGraph();
            CaptureMonitorMedia();
            break;

        case SCREEN_DISPLAY_UTILITIES:
            ShowScreenUtilities();
            displayChangeTime   = tick;
            screenState         = SCREEN_UTILITIES;
            break;

        case SCREEN_UTILITIES:
            break;

        case SCREEN_DISPLAY_TIME:
            ShowScreenTime();
            displayChangeTime   = tick;
            screenState         = SCREEN_TIME;
            break;

        case SCREEN_TIME:
            break;

        case SCREEN_DISPLAY_CTMU:
            ShowScreenCTMU();
            displayChangeTime   = tick;
            screenState         = SCREEN_CTMU;
            break;

        case SCREEN_CTMU:
            CalibrateCTMU();
            break;

		case SCREEN_DISPLAY_BAR_DEMO:
			ShowScreenBarDemo();
			displayChangeTime	= tick;
			screenState			= SCREEN_BAR_DEMO;
			break;

		case SCREEN_BAR_DEMO:
			DrawBarDemo();
			break;
    }

    return 1;   // Callback complete
}
Exemplo n.º 9
0
/************************************************************************
 Function: void InitializeGUI(void)

 Overview: This function initializes sub modules used in the GUI.

 Input: none.

 Output: none
************************************************************************/
void InitializeGUI(void)
{

    // initialize the real time clock
    RTCCInit();
    RTCCProcessEvents();

    //make sure the strings are terminated
    _time_str[13] = 0;
    _date_str[13] = 0;
    CurrentTimeStr[13] = 0;

    // create and initialize style schemes

    pRemoteScheme = GOLCreateScheme();      	// used for the generic scheme

    pRemoteScheme->TextColor0 = TEXTCOLOR_UNPRESSED;
    pRemoteScheme->TextColor1 =  REMOTE_YELLOW;
    pRemoteScheme->CommonBkColor = REMOTE_GRAY;
    pRemoteScheme->EmbossDkColor = KEYPAD_DARKEMBOSS;
    pRemoteScheme->EmbossLtColor = KEYPAD_LIGHTEMBOSS;
    pRemoteScheme->Color0 = KEYPAD_BACKGROUND;
    pRemoteScheme->Color1 = REMOTE_BLACK;

    pVersionScheme = GOLCreateScheme();      	// used for the generic scheme

    pVersionScheme->TextColor1 = REMOTE_YELLOW;
    pVersionScheme->TextColor0 =  REMOTE_YELLOW;
    pVersionScheme->CommonBkColor = REMOTE_BLACK;
    pVersionScheme->EmbossDkColor = REMOTE_BLACK;
    pVersionScheme->EmbossLtColor = REMOTE_BLACK;
    pVersionScheme->Color0 = REMOTE_BLACK;
    pVersionScheme->Color1 = REMOTE_BLACK;

    pMenuButtonScheme = GOLCreateScheme();  	// used for menu buttons that has text

    pMenuButtonScheme->TextColor0 = REMOTE_BLACK;
    pMenuButtonScheme->TextColor1 = REMOTE_WHITE;
    pMenuButtonScheme->CommonBkColor = BACKGROUND_COLOR;
    pMenuButtonScheme->pFont = (void*)&REMOTEFONT_14;

    pTimeDateStyleScheme = GOLCreateScheme();	// used for the time and date display

    pTimeDateStyleScheme->TextColor0 = TEXTCOLOR_UNPRESSED;
    pTimeDateStyleScheme->TextColor1 = REMOTE_GRAY;
    pTimeDateStyleScheme->CommonBkColor = BACKGROUND_COLOR;
    pTimeDateStyleScheme->pFont = (void*)&TIMEDATEFONT;

    pBatStyleScheme = GOLCreateScheme();	 	// used for the battery level indicator

    pBatStyleScheme->EmbossDkColor = REMOTE_BLACK;
    pBatStyleScheme->EmbossLtColor = REMOTE_BLACK;
    pBatStyleScheme->Color0 = BATTERY_LEVEL_COLOR;
    pBatStyleScheme->Color1 = REMOTE_BLACK;

    // set the font to NULL so the progress bar used will not show
    // any text on the progress bar
    pBatStyleScheme->pFont = NULL;

    pTVRemoteStyleScheme = GOLCreateScheme();   // watch TV button schemes

    pTVRemoteStyleScheme->EmbossDkColor = KEYPAD_DARKEMBOSS;
    pTVRemoteStyleScheme->EmbossLtColor = KEYPAD_LIGHTEMBOSS;
    pTVRemoteStyleScheme->TextColor0 = KEYPAD_TEXTCOLOR0;
    pTVRemoteStyleScheme->TextColor1 = REMOTE_YELLOW;
    pTVRemoteStyleScheme->Color0 = KEYPAD_BACKGROUND;
    pTVRemoteStyleScheme->Color1 = REMOTE_BLACK;
    pTVRemoteStyleScheme->pFont = (void*)&TVREMOTEFONT;

    pWatchDiscStyleScheme = GOLCreateScheme();   // watch TV button schemes

    pWatchDiscStyleScheme->EmbossDkColor = KEYPAD_DARKEMBOSS;
    pWatchDiscStyleScheme->EmbossLtColor = KEYPAD_LIGHTEMBOSS;
    pWatchDiscStyleScheme->TextColor0 = KEYPAD_TEXTCOLOR0;
    pWatchDiscStyleScheme->TextColor1 = REMOTE_YELLOW;
    pWatchDiscStyleScheme->Color0 = KEYPAD_BACKGROUND;
    pWatchDiscStyleScheme->Color1 = REMOTE_BLACK;
    pWatchDiscStyleScheme->pFont = (void*)&FAVMENUFONT;
    pWatchDiscStyleScheme->TextColorDisabled = REMOTE_BLACK;
    pWatchDiscStyleScheme->ColorDisabled = REMOTE_GRAY;
    pWatchDiscStyleScheme->CommonBkColor = BACKGROUND_COLOR;

    pFavMenuScheme = GOLCreateScheme();   // favorite menu schemes

    pFavMenuScheme->EmbossDkColor = KEYPAD_DARKEMBOSS;
    pFavMenuScheme->EmbossLtColor = KEYPAD_LIGHTEMBOSS;
    pFavMenuScheme->TextColor0 = KEYPAD_TEXTCOLOR0;
    pFavMenuScheme->TextColor1 = REMOTE_YELLOW;
    pFavMenuScheme->Color0 = KEYPAD_BACKGROUND;
    pFavMenuScheme->Color1 = REMOTE_BLACK;
    pFavMenuScheme->pFont = (void*)&FAVMENUFONT;

    pSettingsScheme = GOLCreateScheme();   // Settings menu schemes

    pSettingsScheme->EmbossDkColor = REMOTE_GRAY64;
    pSettingsScheme->EmbossLtColor = TEXTCOLOR_UNPRESSED;
    pSettingsScheme->TextColor0 = REMOTE_BLACK;
    pSettingsScheme->TextColor1 = REMOTE_WHITE;
    pSettingsScheme->Color0 = REMOTE_BLACK;
    pSettingsScheme->Color1 = REMOTE_WHITE;
    pSettingsScheme->pFont = (void*)&TIMEDATEFONT;

    pSettingsScheme2 = GOLCreateScheme();   // Settings menu schemes 2

    pSettingsScheme2->EmbossDkColor = KEYPAD_LIGHTEMBOSS;
    pSettingsScheme2->EmbossLtColor = KEYPAD_LIGHTEMBOSS;
    pSettingsScheme2->TextColor0 = REMOTE_WHITE;
    pSettingsScheme2->TextColor1 = REMOTE_YELLOW;
    pSettingsScheme2->Color0 = KEYPAD_BACKGROUND;
    pSettingsScheme2->Color1 = REMOTE_BLACK;
    pSettingsScheme2->CommonBkColor = REMOTE_GRAY;
    pSettingsScheme2->pFont = (void*)&FAVMENUFONT;
    pSettingsScheme2->ColorDisabled = REMOTE_GRAY;
    pSettingsScheme2->TextColorDisabled = KEYPAD_LIGHTEMBOSS;

    pTimeSelectScheme = GOLCreateScheme();

    pTimeSelectScheme->EmbossDkColor = KEYPAD_DARKEMBOSS;
    pTimeSelectScheme->EmbossLtColor = KEYPAD_LIGHTEMBOSS;
    pTimeSelectScheme->TextColor0 = REMOTE_YELLOW;;
    pTimeSelectScheme->TextColor1 = KEYPAD_TEXTCOLOR1;
    pTimeSelectScheme->Color0 = REMOTE_BLACK;
    pTimeSelectScheme->Color1 = REMOTE_BLACK;
    pTimeSelectScheme->CommonBkColor = REMOTE_GRAY;
    pTimeSelectScheme->pFont = (void*)&FAVMENUFONT;

    pSettingsScheme3 = GOLCreateScheme();   // Settings menu schemes 3

    pSettingsScheme3->EmbossDkColor = KEYPAD_DARKEMBOSS;
    pSettingsScheme3->EmbossLtColor = KEYPAD_LIGHTEMBOSS;
    pSettingsScheme3->TextColor0 = KEYPAD_TEXTCOLOR0;
    pSettingsScheme3->TextColor1 = REMOTE_YELLOW;
    pSettingsScheme3->Color0 = KEYPAD_BACKGROUND;
    pSettingsScheme3->Color1 = REMOTE_BLACK;
    pSettingsScheme3->CommonBkColor = REMOTE_GRAY;
    pSettingsScheme3->pFont = (void*)&FAVMENUFONT;


}