inline void send_repeat(struct ir_remote *remote) { send_lead(remote); send_pulse(remote->prepeat); send_space(remote->srepeat); send_trail(remote); }
int main(int argc,char** argv){ int found = 0, arrived_home = 0; int use_http = 0; char address[200]; int port = 55555; strcpy(address, "localhost"); if(argc >= 4){ use_http = atoi(argv[1]); strncpy(address, argv[2], 200); port = atoi(argv[3]); }else{ printf("[INFO] Usage: 'prog 1 address port' to start it with http connection\n"); } //initalization init(use_http, address, port); //install signal handler to exit gently signal(SIGINT,sigint_handler); //scheduling while(!end_game && !arrived_home){ if(robot_rank == 0){ // Leader mode if(found == 0){ found = leader(); }else{ arrived_home = go_back_home(); send_lead(next); } }else{ // Follower mode while(robot_rank > 0 && !end_game){ follower(); }//######################aggiunger end game e stop anche nel leader e go back home etc //follower call back called at each action messagge } } if(end_game){ printf("[STATUS] Game ended\n"); }else{ printf("[STATUS] Back home\n"); } reset_motors(); destroy_sensors(); destroy_motors(); destroy_bluetooth(); free(positions); }
inline void send_code(struct ir_remote *remote,ir_code code, int repeat) { if(!repeat || !(remote->flags&NO_HEAD_REP)) send_header(remote); send_lead(remote); send_pre(remote); send_data(remote,code,remote->bits,remote->pre_data_bits); send_post(remote); send_trail(remote); if(!repeat || !(remote->flags&NO_FOOT_REP)) send_foot(remote); if(!repeat && remote->flags&NO_HEAD_REP && remote->flags&CONST_LENGTH) { send_buffer.sum-=remote->phead+remote->shead; } }