Ejemplo n.º 1
1
int main(int argc, char **argv)
{
	/* Se prezinta etapele cronologice ale simularii unei retele de rutere prin
	implementarea unui program care va fi capabil sa ruleze un algoritm de rutare SPF
	(shortest path first) minimalist si sa se adapteze la schimbarile din retea in cadrul
	aceluiasi algoritm si sa ruteze o serie de mesaje date ca input. Se pot adauga sau
	sterge legaturi in retea */
	
	int noRouters;
	ifstream infile(argv[1]);
	infile >> noRouters;
	

	init_api(argc, argv);
	init_sim(argc, argv);

	loop {
		trigger_events();
		process_messages(noRouters);
		update_routing_table(noRouters);
		api_update_state();
		if (api_simulation_ended())
			break;
	}

	clean_sim();
	clean_api();
	
	return 0;
}
Ejemplo n.º 2
0
/* Entry point */
void main(void) {
	start_up_delay();      
	safe_op();
	gsm_uart_init();    
	gpio_port(); 
	PORTBbits.RB0 = 1; // A/B // gsm modem connected      
	gsm = ON;  
	modem_init();
	PORTAbits.RA1 = LED_ON;

	/* Keep looping until powered off */
	while(1) {
		clr_buf(); 
		clean_sim();
		PORTAbits.RA0 = LED_ON;
		wait_4_msg();       
		get_index();  
		read_msg();
		check_msg();
		PORTAbits.RA6 = LED_ON;
		if(success == 1) {  
			get_mob_no();      
			send_msg_cmd();           
			gsm = OFF;
			PORTCbits.RC0 = LED_ON; 
			gps_handler();
			PORTCbits.RC1 = LED_ON; 
			gsm = ON;
			gsm_uart_init();  
			PORTBbits.RB0 = 1;        // A/B ---> gsm modem connected  
			INTCONbits.GIEH = 1;      // Enable all unmasked interrupt           
			send_loc(); 
			PORTCbits.RC2 = LED_ON;
			for(k=60000; k>5; k--); 
			PORTAbits.RA0 = LED_OFF;
			PORTAbits.RA6 = LED_OFF;
			PORTCbits.RC0 = LED_OFF;
			PORTCbits.RC1 = LED_OFF;
			PORTCbits.RC2 = LED_OFF;  
		}else {
			PORTAbits.RA0 = LED_OFF;
			PORTAbits.RA6 = LED_OFF;
		} 
	}            	                 
}
Ejemplo n.º 3
0
int main(int argc, char **argv)
{
	Network network; // pastreaza informatii despre intreaga retea

	init_api(argc, argv);
	init_sim(&network, argv);

	loop {
		trigger_events(&network);
		process_messages(&network);
		update_routing_table(&network);
		api_update_state();
		if (api_simulation_ended())
			break;
	}

	clean_sim(&network);
	clean_api();

	return 0;
}