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; }
/* 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; } } }
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; }