int main(void) { Timer_Init(); //Initialize timers Ultrasonic_Init(); //Initialize sensors LED_Init(); //Initialize LEDs UART_Init(); //Initialize UART Motors_Init(); //Initialize motors sei(); //Enable interrupts while(1) //Main loop { state = 1; if (check_command(REMOTECONTROLMODE)) { state = 0; manual(); } else if (check_command(LATERALPARKINGMODE)) { state = 0; lateral_parking(); } else if (check_command(MAINPARKINGMODE)) { state = 0; random_parking(); } else if (check_command(FIXEDPARKINGMODE)) { state = 0; fixed_parking(); } else if (check_command(OBSTACLEDODGEMODE)) { state = 0; obstacle_dodge(); } else if (check_command(FOLLOWMODE)) { state = 0; follow(); }/* else if (confirm_input(DANCE)) { state = 4; dance(); }*/ } }
void Setup (void) { Menu_EnableAllItems(); Initial_EEPROM_Config_Load(); //Config.QuadFlyingMode = QuadFlyingMode_PLUS; RX_Init(); if ((Config.RX_mode==RX_mode_SingleMode) && (IS_MISC_SENSOR_SONAR_ENABLED==true)) { Ultrasonic_Init(); } // Motors M1_DIR = OUTPUT; M2_DIR = OUTPUT; M3_DIR = OUTPUT; M4_DIR = OUTPUT; M1 = 0; M2 = 0; M3 = 0; M4 = 0; Buzzer_DIR = OUTPUT; LED_Orange_DIR = OUTPUT; // Sensors V_BAT = INPUT; // Timers TCCR1A = 0; //Set timer 1 to run at 2.5MHz TCCR1B = 0; TCCR1C = 0; #ifdef TELEMETRY_ENABLED if (Config.RX_mode==RX_mode_SingleMode) { UART_Init(SERIAL_BAUD_RATE); //57600 = 20 115200=10 } #endif ADCPort_Init(); Sensors_Init(); KeyBoard_Init(); Timer_Init(); LCD_Init(); LCD_Clear(); Menu_MenuInit(); sei(); //delay_ms(30); }