Exemplo n.º 1
0
// Subscribe to the joystick device
int playerc_joystick_subscribe(playerc_joystick_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 2
0
// Subscribe to the gripper device
int playerc_gripper_subscribe (playerc_gripper_t *device, int access)
{
  return playerc_device_subscribe (&device->info, access);
}
Exemplo n.º 3
0
// Subscribe to the audio device
int playerc_audio_subscribe(playerc_audio_t *device, int access)
{
    return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 4
0
// Subscribe to the localize device
int playerc_localize_subscribe(playerc_localize_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 5
0
// Subscribe to the health device
int playerc_health_subscribe(playerc_health_t *device, int access)
{
    return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 6
0
// Subscribe to the pointcloud3d device
int playerc_pointcloud3d_subscribe (playerc_pointcloud3d_t *device, int access)
{
  return playerc_device_subscribe (&device->info, access);
}
Exemplo n.º 7
0
// Disconnect from the server, with potential retry
int playerc_client_disconnect_retry(playerc_client_t *client)
{
  int retval;
  int i;
  int j;
  struct timespec sleeptime;

  sleeptime.tv_sec = (long) client->retry_time;
  sleeptime.tv_nsec = 0;

  /* Disconnect */
  if((retval = playerc_client_disconnect(client)) != 0)
    PLAYERC_WARN("playerc_client_disconnect() failed");

  for(j=0; (client->retry_limit < 0) || (j<client->retry_limit); j++)
  {
    PLAYERC_WARN1("Reconnecting, attempt %d", j);
    /* Reconnect */
    if((retval = playerc_client_connect(client)) != 0)
      PLAYERC_WARN("playerc_client_connect() failed");
    else
    {
      /* Clean out buffers */
      client->read_xdrdata_len = 0;

      /* TODO: re-establish replacement rules, delivery modes, etc. */

      /* Re-subscribe to devices */
      for(i=0;i<client->device_count;i++)
      {
        if(client->device[i]->subscribed)
        {
          // TODO: what should access be here?
          if((retval = playerc_device_subscribe(client->device[i],
                                                PLAYERC_OPEN_MODE)) != 0)
          {
            PLAYERC_WARN2("playerc_device_subscribe() failed for %d:%d",
                         client->device[i]->addr.interf,
                         client->device[i]->addr.index);

            // TODO: Subscription failed for one device; should we give up?
            if(playerc_client_disconnect(client) != 0)
              PLAYERC_WARN("playerc_client_disconnect() failed");
            break;
          }
        }
      }
      // Did we get all of them?
      if(i == client->device_count)
        break;
    }

    nanosleep(&sleeptime,NULL);
  }

  if((client->retry_limit < 0) || (j < client->retry_limit))
  {
    PLAYERC_WARN("successfully reconnected");
    return(0);
  }
  else
  {
    PLAYERC_WARN("failed to reconnect");
    return(-1);
  }
}
Exemplo n.º 8
0
// Subscribe to the position1d device
int playerc_position1d_subscribe(playerc_position1d_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 9
0
// Subscribe to the lightsensor device
int playerc_lightsensor_subscribe(playerc_lightsensor_t *device, int access) {
	return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 10
0
// Subscribe to the wifi device
int playerc_wifi_subscribe(playerc_wifi_t *self, int access)
{
  return playerc_device_subscribe(&self->info, access);
}
Exemplo n.º 11
0
// Subscribe to the actarray device
int playerc_actarray_subscribe(playerc_actarray_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 12
0
// Subscribe to the blobfinder device
int playerc_blobfinder_subscribe(playerc_blobfinder_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 13
0
// Subscribe to the speech_recognition device
int playerc_speechrecognition_subscribe(playerc_speechrecognition_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 14
0
// Subscribe to the blinkenlight device
int playerc_blinkenlight_subscribe(playerc_blinkenlight_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}
Exemplo n.º 15
0
// Subscribe to the micron sonar device
int playerc_micronsonar_subscribe(playerc_micronsonar_t *device, int access)
{
  return playerc_device_subscribe(&device->info, access);
}