From: Brian G. <ge...@us...> - 2007-10-03 15:03:44
|
Update of /cvsroot/playerstage/code/player/examples/libplayerc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5549/examples/libplayerc Modified Files: service_discovery.c Log Message: improvements to playersd Index: service_discovery.c =================================================================== RCS file: /cvsroot/playerstage/code/player/examples/libplayerc/service_discovery.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** service_discovery.c 1 Oct 2007 18:28:31 -0000 1.1 --- service_discovery.c 3 Oct 2007 22:03:47 -0000 1.2 *************** *** 14,22 **** playerc_client_t *client=NULL; playerc_position2d_t *position2d; - char host[16]; // A service discovery object player_sd_t* sd; ! player_sd_dev_t* sddev; // Initialize service discovery --- 14,23 ---- playerc_client_t *client=NULL; playerc_position2d_t *position2d; // A service discovery object player_sd_t* sd; ! // An array to store matching devices ! player_sd_dev_t positiondevs[8]; ! int num_positiondevs; // Initialize service discovery *************** *** 31,59 **** // Did we find any position2d devices? ! for(i=0;i<sd->devs_len;i++) { ! if(sd->devs[i].valid) ! { ! printf("device with interf: %d\n", sd->devs[i].addr.interf); ! if(sd->devs[i].addr.interf == PLAYER_POSITION2D_CODE) ! { ! sddev = sd->devs + i; ! packedaddr_to_dottedip(host,sizeof(host),sddev->addr.host); ! ! client = playerc_client_create(NULL, host, sddev->addr.robot); ! if(0 != playerc_client_connect(client)) ! exit(-1); ! // Create and subscribe to a position2d device. ! position2d = playerc_position2d_create(client, sddev->addr.index); ! if(playerc_position2d_subscribe(position2d, PLAYER_OPEN_MODE)) ! exit(-1); ! break; ! } ! } } ! ! if(!client) { puts("no devices found"); --- 32,52 ---- // Did we find any position2d devices? ! if((num_positiondevs = player_sd_find_devices(sd, positiondevs, 8, ! NULL, NULL, -1, ! PLAYER_POSITION2D_CODE, -1)) > 0) { ! printf("found %d position2d devices\n", num_positiondevs); ! // Subscribe to the first one ! client = playerc_client_create(NULL, positiondevs[0].hostname, positiondevs[0].robot); ! if(0 != playerc_client_connect(client)) ! exit(-1); ! // Create and subscribe to a position2d device. ! position2d = playerc_position2d_create(client, positiondevs[0].index); ! if(playerc_position2d_subscribe(position2d, PLAYER_OPEN_MODE)) ! exit(-1); } ! else { puts("no devices found"); *************** *** 61,66 **** } ! // Make the robot spin! ! if (0 != playerc_position2d_set_cmd_vel(position2d, 0, 0, DTOR(40.0), 1)) return -1; --- 54,59 ---- } ! // Make the robot move ! if (0 != playerc_position2d_set_cmd_vel(position2d, 0.35, 0, DTOR(40.0), 1)) return -1; |