当前位置: 首页>>代码示例>>C++>>正文


C++ Files::readConfig方法代码示例

本文整理汇总了C++中Files::readConfig方法的典型用法代码示例。如果您正苦于以下问题:C++ Files::readConfig方法的具体用法?C++ Files::readConfig怎么用?C++ Files::readConfig使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Files的用法示例。


在下文中一共展示了Files::readConfig方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char **argv)
{

    // Inicio de ROS
    ros::init(argc, argv, "Camaras");

    // Manejador ROS
    ros::NodeHandle n;


    // Espera activa de inicio de modulo
    int state_module=STATE_OFF;
    do{
            n.getParam("state_module_camera",state_module);
            usleep(50000);
    }while(state_module!=STATE_CONF);
    ROS_INFO("Atica CAMARAS :: Init configuration...");

    // Generación de publicadores
    sub_cam = n.subscribe<Common_files::msg_ctrl_camera>("ctrlCamera", 1000,fcn_sub_ctrl_camera);
    pub_error = n.advertise<Common_files::msg_error>("error", 1000);
  
    // Inicializacion de variable global de fin de modulo
    exitModule=false;
    Files files;
    CameraConfig configModule;

    int error=files.openFiles();
    if(error!=NO_ERROR)
    {
         //Publico el error
        Common_files::msg_error errorCAM;
        errorCAM.id_subsystem=SUBS_CAMERA;
        errorCAM.type_error=TOE_UNDEFINED;
        errorCAM.id_error=error; //por definir
        pub_error.publish(errorCAM); 
        /**if(error==COMM_LOG_FILE_ERROR)
                Files::writeErrorInLOG(error,"Fichero LOG data: ");
        else if(error==COMM_CONFIG_FILE_ERROR)
                Files::writeErrorInLOG(error,"Fichero de configuracion: ");**/
        exit(1);
    }
    
    ROS_INFO("Leyendo fichero de configuracion...");
    error =files.readConfig(&configModule);
    if(error!=NO_ERROR)
    {
         //Publico el error
        Common_files::msg_error errorCOM;
        errorCOM.id_subsystem=SUBS_CAMERA;
        errorCOM.type_error=TOE_UNDEFINED;
        errorCOM.id_error=error; 
        pub_error.publish(errorCOM);    
        Files::writeErrorInLOG(error,"Fichero de configuracion: ");
        exit(1);
    } 

    ROS_INFO("Conectando con el dispositivo...");
    // Conexion con dispositivo
    camara=new ProtPelcoD(configModule.idCamera,configModule.velPAN,configModule.velTILT);
    if(!camara->connect(configModule.portName,configModule.portVelocity))
    {
        ROS_INFO("Error al conectar con la camara");
        Common_files::msg_error error;
        error.id_subsystem = SUBS_CAMERA;
        error.id_error=0; // TODO por definir
        error.type_error=TOE_UNDEFINED;
        pub_error.publish(error);
        return 1;
    }

    // Configuracion del dispositivo

    // Todo esta correcto, lo especificamos con el correspondiente parametro
    n.setParam("state_module_camera",STATE_OK);
    cameraAlive=true;
    ROS_INFO("Atica CAMARAS :: Configurado"); 

    // Espera activa de inicio general de los módulos
    int state_system;
    do
    {
      n.getParam("state_system",state_system);
      n.getParam("state_module_camera",state_module);
      if(state_module==STATE_OFF)
      {
            ROS_INFO("ATICA COMMUNICATION VEHICLE:: Module finish for error in other module");
            exit(1);
      }   
      usleep(500000);
    }while(state_system!=STATE_SYSTEM_ON);
    
    ROS_INFO("Atica CAMARAS :: funcionando");    
    while (ros::ok() && !exitModule)
    {
        if(cameraAlive)
        {
           n.getParam("state_module_camera",state_module);
           if(state_module==STATE_OFF)
                  exitModule=true;
//.........这里部分代码省略.........
开发者ID:alfmorente,项目名称:aticaprojectsvn,代码行数:101,代码来源:camaras.cpp


注:本文中的Files::readConfig方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。