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) { } }
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(); }