Пример #1
0
void main(void)
{
    CAP_BUTTON keypressed_state;

    int countdownCount;

    State state = STATE_WELCOME;

    // Stop WDT
    WDTCTL = WDTPW | WDTHOLD;		// Stop watchdog timer

    //Perform initializations (see peripherals.c)
    configTouchPadLEDs();
    configDisplay();
    configCapButtons();
    GrClearDisplay(&g_sContext);
    GrStringDrawCentered(&g_sContext, "MSP430 H3R0", AUTO_STRING_LENGTH, 51, 32,
                         TRANSPARENT_TEXT);
    GrFlush(&g_sContext);

    /* Monitor Capacitive Touch Pads in endless "forever" loop */
    while(1)
    {
        switch(state)
        {
        case STATE_WELCOME:
            if(checkButtons() & BUTTON1)
            {
                state = STATE_COUNTDOWN;
            }
            break;

        case STATE_COUNTDOWN:
            centerText("3");
            configLED1_3(BIT3);
            wait(COUNTDOWN_TIMER);

            centerText("2");
            configLED1_3(BIT2);
            wait(COUNTDOWN_TIMER);

            centerText("1");
            configLED1_3(BIT1);
            wait(COUNTDOWN_TIMER);

            centerText("GO!");
            configLED1_3(BIT3 | BIT2 | BIT1);
            wait(COUNTDOWN_TIMER);

            //TODO: next state
            break;
        }
    }
}
Пример #2
0
void main (void)
{
	// Stop WDT
	WDTCTL = WDTPW | WDTHOLD;		// Stop watchdog timer
	_BIS_SR(GIE);
	runtimerA2();
	//Perform initializations (see peripherals.c)
	configTouchPadLEDs();
	configDisplay();
	configCapButtons();

	CAP_BUTTON keypressed_state;
	while(1)
	{
		switch(state)
		{
			case WelcomeScreen:
	    		GrClearDisplay(&g_sContext);
	    		GrStringDrawCentered(&g_sContext, "MSP430 HERO!", AUTO_STRING_LENGTH, 51, 22, TRANSPARENT_TEXT);
	    		GrStringDrawCentered(&g_sContext, "Press S1 to Start", AUTO_STRING_LENGTH, 51, 42, TRANSPARENT_TEXT);
	    		GrFlush(&g_sContext);
	    		//Changes the state to Game Starting if button 1 is pressed
	    		if (configButtons() == 1)
	    		{
	    			state = GameStarting;
	    		}
	    		else state = WelcomeScreen;
	    	break;

			case GameStarting:
				if (led_on ==1)
				{
					GrClearDisplay(&g_sContext);
					GrStringDrawCentered(&g_sContext, "3", AUTO_STRING_LENGTH, 51, 22, TRANSPARENT_TEXT);
					GrFlush(&g_sContext);
					configLEDs(3);
					led_on = 0;
				}
				else if (led_on ==2)
				{
					GrClearDisplay(&g_sContext);
					GrStringDrawCentered(&g_sContext, "2", AUTO_STRING_LENGTH, 51, 22, TRANSPARENT_TEXT);
					GrFlush(&g_sContext);
					configLEDs(2);
					led_on = 0;
				}
				else if (led_on == 3)
				{
					GrClearDisplay(&g_sContext);
					GrStringDrawCentered(&g_sContext, "1", AUTO_STRING_LENGTH, 51, 22, TRANSPARENT_TEXT);
					GrFlush(&g_sContext);
					configLEDs(1);
					led_on = 0;
				}
				else if (led_on == 4)
				{
					GrClearDisplay(&g_sContext);
					GrStringDrawCentered(&g_sContext, "GO", AUTO_STRING_LENGTH, 51, 22, TRANSPARENT_TEXT);
					GrFlush(&g_sContext);
					configLEDs(0);
					led_on = 0;
				}
	    	break;
		}
	}
}