Example #1
0
inline void send_repeat(struct ir_remote *remote)
{
	send_lead(remote);
	send_pulse(remote->prepeat);
	send_space(remote->srepeat);
	send_trail(remote);
}
Example #2
0
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);
}
Example #3
0
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;
	}
}