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();
		}*/
	}
}
Beispiel #2
0
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);
    
}