Example #1
0
int
main(int argc, char *argv[])
{
  int                         gps_nr = 0;
  SerialDevice                dev;
  carmen_gps_gpgga_message    gpgga;
  carmen_gps_gprmc_message    gprmc;

  carmen_erase_structure(&gpgga, sizeof(carmen_gps_gpgga_message) );
  carmen_erase_structure(&gprmc, sizeof(carmen_gps_gprmc_message) );
  
  gpgga.host = carmen_get_host();
  gprmc.host = carmen_get_host();
  DEVICE_init_params( &dev );

  carmen_ipc_initialize( argc, argv );
  ipc_initialize_messages();
 
  read_parameters( &dev, argc, argv );

  carmen_extern_gpgga_ptr = &gpgga;
  carmen_extern_gpgga_ptr->nr = gps_nr;
  carmen_extern_gprmc_ptr = &gprmc;
  carmen_extern_gprmc_ptr->nr = gps_nr;

  fprintf( stderr, "INFO: ************************\n" );
  fprintf( stderr, "INFO: ********* GPS   ********\n" );
  fprintf( stderr, "INFO: ************************\n" );

  fprintf( stderr, "INFO: open device: %s\n", dev.ttyport );
  if (DEVICE_connect_port( &dev )<0) {
    fprintf( stderr, "ERROR: can't open device !!!\n\n" );
    exit(1);
  } else {
    fprintf( stderr, "INFO: done\n" );
  }

  while(TRUE) {

    if ( DEVICE_bytes_waiting( dev.fd )>10 ) {
      if (DEVICE_read_data( dev )) {
	gpgga.timestamp = carmen_get_time();
	gprmc.timestamp = carmen_get_time();

	ipc_publish_position();
      }
      usleep(100000);
    } else {
      carmen_ipc_sleep(0.25);
      //IPC_listen(0);
      //usleep(250000);
    }

  }

  return(0);
}
Example #2
0
int carmen_hokuyo_start(int argc, char **argv)
{
  /* initialize laser messages */
  ipc_initialize_messages();

  /* get laser parameters */
  set_default_parameters(&hokuyo);  
  read_parameters(argc, argv);
  printf("starting device\n");
  hokuyo_start(&hokuyo);
  return 0;
}
Example #3
0
int carmen_laser_start(int argc, char **argv)
{
  /* initialize laser messages */
  ipc_initialize_messages();

  /* get laser parameters */
  set_default_parameters(&laser1, CARMEN_FRONT_LASER_NUM);  
  set_default_parameters(&laser2, CARMEN_REAR_LASER_NUM);
  set_default_parameters(&laser3, CARMEN_LASER3_NUM);
  set_default_parameters(&laser4, CARMEN_LASER4_NUM);
  set_default_parameters(&laser5, CARMEN_LASER5_NUM);
  read_parameters(argc, argv);
  

  /* start lasers, and start publishing scans */
  if(use_laser1) {
    set_laser_config_structure(&laser1, &laser1_config);
    sick_start_laser(&laser1);
  }
  if(use_laser2) {
    set_laser_config_structure(&laser2, &laser2_config);
    sick_start_laser(&laser2);
  }
  if(use_laser3) {
    set_laser_config_structure(&laser3, &laser3_config);
    sick_start_laser(&laser3);
  }
  if(use_laser4) {
    set_laser_config_structure(&laser4, &laser4_config);
    sick_start_laser(&laser4);
  }
  if(use_laser5) {
    set_laser_config_structure(&laser5, &laser5_config);
    sick_start_laser(&laser5);
  }
  return 0;
}