示例#1
0
int main(UU int argc, UU char* argv[])
{
  trace_printf("System clock: %uHz\n", SystemCoreClock);

  TIMING_Init();

  DEBOUNCE_Init(&debounce_bus);
  blink_led_init();

  while (1)
  {
  }


}
示例#2
0
CAL_MAIN()
{
	wdt_enable(WDTO_4S);

	LCD_UpdateSOC(1);

	stdout = &mystdout;

	DDRD |= (1 << PD4); PORTD &= ~(1 << PD4); // Turn on RS232.

	USART_Init();

	uint8_t ch;

	LCD_UpdateSOC(2);
        
	// Initialize everything.
	InitMemory();

	LCD_UpdateSOC(3);

	LCD_Init();

	LCD_UpdateSOC(4);

	TIMING_Init();

	LCD_UpdateSOC(5);

	RTC_Init();

	LCD_UpdateSOC(6);

	RTC_SetTickHandler( TIMING_TickHandler );

	LCD_UpdateSOC(7);

	JOYSTICK_Init( 100, 50 );

	//DDRD |= (1 << PD4); PORTD &= ~(1 << PD4); // Turn on RS232.

	//USART_Init();

//	CAL_enable_interrupt();

	TIMING_AddRepCallbackEvent( TIMING_INFINITE_REPEAT, 1, JOYSTICK_PollingHandler, &joystickCallbackEvent );

	// happy startup sound
	LCD_UpdateSOC(8);

	// BATTERY ICON SOC-LEVEL TEST
	int soc = 0;

	// interrupt enable
	SREG |= 1<<7;

	LCD_UpdateSOC(9);

	// Init CAN-adapter
	// few returns to wake up the device
	/*
	printf("\r\r");
	
	// version query
	printf("V\r");
	
	// auto poll/send = ON
	printf("X1\r");
	
	printf("S6\r");	// (S)peed 500 kBit
	
	// Open the CAN channel
	printf("O\r");	// (O)pen the CAN-bus
	*/

	LCD_UpdateSOC(10);

	PlaySound(11);

	// Display splash screen, wait for joystick.

	//1 POWER_EnterIdleSleepMode();

	//PICTURE_CopyFullscreenFlashToLcd( FLASHPICS_excellenceThroughTechnology );
	//PICTURE_CopyFullscreenFlashToLcd( FLASHPICS_eCarsLogo );
//	PICTURE_CopyFullscreenFlashToLcd( FLASHPICS_PalonenLABS_128x64px );

	// init backlight
	BACKLIGHT_Init();
	Contrast = eeprom_read_word((uint16_t*)8);
	Red = eeprom_read_word((uint16_t*)10);
	Green = eeprom_read_word((uint16_t*)12);
	Blue = eeprom_read_word((uint16_t*)14);
	Intensity = eeprom_read_word((uint16_t*)16);

	BACKLIGHT_SetRGB( Red, Green, Blue );
	BACKLIGHT_SetIntensity(Intensity);
/*
	TIMING_event_t * splashScreenEvent = MEM_ALLOC( TIMING_event_t );
	if (splashScreenEvent == NULL) { UnknownError(); }
	TIMING_counter_t volatile splashCounter = 0;
	TIMING_AddCounterEventAfter( RTC_TICKS_PER_SECOND * SPLASH_SCREEN_SECONDS,
			&splashCounter, splashScreenEvent );
	bool exit = false;
	do {
		POWER_EnterIdleSleepMode();
		if (JOYSTICK_GetState() != 0x00) { exit = true; };
		if (splashCounter != 0) { exit = true; }
	} while (exit == false);


	TIMING_RemoveEvent( splashScreenEvent );
	MEM_FREE( splashScreenEvent );

	DELAY_MS(500);
*/
	LCD_ClrBox(0,0,128,64);

//	exit = false;	
	/*
	do {
		uint8_t joystickState = JOYSTICK_GetState();
		while ((FIFO_HasData( &rxFifo, FIFO_data_t ) == false) && (joystickState == 0x00)) {
			POWER_EnterIdleSleepMode();
			joystickState = JOYSTICK_GetState();
		}
		
		if (joystickState != 0x00) {
			exit = true;
		}
		else if (FIFO_HasData( &rxFifo, FIFO_data_t ) == true) {
			FIFO_data_t charInput;
			FIFO_GetData( &rxFifo, &charInput );
			//TERM_ProcessChar( term, charInput );
		}
	} while (exit == false);
	*/

//	MEM_FREE( rxBuffer );
//	MEM_FREE( txBuffer );
//	LcdContrast();

//if 	(JOYSTICK_GetState() & (JOYSTICK_ENTER) == 0x00) {
//	LcdContrast();
//}

	while (1)
 	{
		if (urx_recv) 
		{	
			cli();
            urx_recv = 0;
            ch = urx;
            sei();
            /* build a command line and execute commands when complete */
            recv_input(ch);
		}
	}

	CAL_MAIN_LAST();
}