Exemple #1
0
void DataLogger::maxLength(unsigned int len)
{
  suspendLogging();
  for (unsigned int i=0; i<m_ports.size(); i++){
    m_ports[i]->maxLength(len);
  }
  resumeLogging();
}
Exemple #2
0
bool DataLogger::clear()
{
  suspendLogging();
  for (unsigned int i=0; i<m_ports.size(); i++){
    m_ports[i]->clear();
  }
  resumeLogging();
  return true;
}
Exemple #3
0
/* --------------------------------------------------------------------- 
 * funct : Verbose printing
 * args  : Data to print
 * ret   : None.
 * 
 * Detail: This function print verbose info if verbose mode is on.
 * 
 * --------------------------------------------------------------------*/
void verPrint( char *data )
{
	if(isVerboseOn==TRUE)
	{
		//Verbose print should not go to logfile
		pauseLogging();
		usleep(1000);

		printf( data );

		//Revert to previous settings
		usleep(1000);
		resumeLogging();		
	}
}
Exemple #4
0
bool DataLogger::save(const char *i_basename)
{
  suspendLogging();
  bool ret = true;
  for (unsigned int i=0; i<m_ports.size(); i++){
    std::string fname = i_basename;
    fname.append(".");
    fname.append(m_ports[i]->name());
    std::ofstream ofs(fname.c_str());
    if (ofs.is_open()){
      m_ports[i]->dumpLog(ofs);
    }else{
      std::cerr << "failed to open(" << fname << ")" << std::endl;
      ret = false;
    }
  }
  resumeLogging();
  return ret;
}
Exemple #5
0
bool DataLogger::add(const char *i_type, const char *i_name)
{
  suspendLogging();
  for (unsigned int i=0; i<m_ports.size(); i++){
      if (strcmp(m_ports[i]->name(),i_name) == 0){
          std::cerr << "Logger port named \"" << i_name << "\" already exists"
                    << std::endl;
          resumeLogging();
          return false;
      }
  }  

  LoggerPortBase *new_port=NULL;
  if (strcmp(i_type, "TimedDoubleSeq")==0){
      LoggerPort<TimedDoubleSeq> *lp = new LoggerPort<TimedDoubleSeq>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedLongSeq")==0){
      LoggerPort<TimedLongSeq> *lp = new LoggerPort<TimedLongSeq>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedBooleanSeq")==0){
      LoggerPort<TimedBooleanSeq> *lp = new LoggerPort<TimedBooleanSeq>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedLongSeqSeq")==0){
      LoggerPort<OpenHRP::TimedLongSeqSeq> *lp = new LoggerPort<OpenHRP::TimedLongSeqSeq>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedPoint3D")==0){
      LoggerPort<TimedPoint3D> *lp = new LoggerPort<TimedPoint3D>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedOrientation3D")==0){
      LoggerPort<TimedOrientation3D> *lp = new LoggerPort<TimedOrientation3D>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedAcceleration3D")==0){
      LoggerPort<TimedAcceleration3D> *lp = new LoggerPort<TimedAcceleration3D>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedAngularVelocity3D")==0){
      LoggerPort<TimedAngularVelocity3D> *lp = new LoggerPort<TimedAngularVelocity3D>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedVelocity2D")==0){
      LoggerPort<TimedVelocity2D> *lp = new LoggerPort<TimedVelocity2D>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "TimedPose3D")==0){
      LoggerPort<TimedPose3D> *lp = new LoggerPort<TimedPose3D>(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else if (strcmp(i_type, "PointCloud")==0){
    LoggerPort<PointCloudTypes::PointCloud> *lp = new LoggerPortForPointCloud(i_name);
      new_port = lp;
      if (!addInPort(i_name, lp->port())) {
          resumeLogging();
          return false;
      }
  }else{
      std::cout << "DataLogger: unsupported data type(" << i_type << ")"
                << std::endl;
      resumeLogging();
      return false;
  }
  m_ports.push_back(new_port);
  resumeLogging();
  return true;
}