Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

inisim.cc File Reference

#include "simmot_n.h"
#include "inifile.h"
#include "emcglb.h"
#include <stdlib.h>
#include <string.h>

Include dependency graph for inisim.cc:

Include dependency graph

Go to the source code of this file.

Functions

int main (int argc, char **argv)

Variables

NML * sim_cmd
NML * sim_stat
SIMMOT_COMMAND cmd


Function Documentation

int main int    argc,
char **    argv
 

Definition at line 14 of file inisim.cc.

00015 {
00016   emcGetArgs(argc,argv); // get EMC_NMLFILE, and EMC_INIFILE;
00017   INIFILE inifile;
00018   const char *inistring;
00019 
00020   // open it
00021   if (-1 == inifile.open(EMC_INIFILE)) {
00022     exit(-1);
00023   }
00024 
00025   if (NULL != (inistring = inifile.find("NML_FILE", "EMC"))) {
00026     // copy to global
00027     strcpy(EMC_NMLFILE, inistring);
00028   }
00029   else {
00030     // not found, use default
00031   }
00032 
00033 
00034   sim_cmd = new NML(simmot_format, "simmot_cmd","inisim",EMC_NMLFILE);
00035   if(NULL == sim_cmd)
00036     {
00037       exit(-1);
00038     }
00039   if(!sim_cmd->valid())
00040     {
00041       exit(-1);
00042     }
00043 
00044   sim_stat = new NML(simmot_format, "simmot_stat","inisim",EMC_NMLFILE);
00045   if(NULL == sim_stat)
00046     {
00047       exit(-1);
00048     }
00049   if(!sim_stat->valid())
00050     {
00051       exit(-1);
00052     }
00053   int retval,t;
00054   char sectionString[INIFILE_MAX_LINELEN];
00055 
00056   for (t = 0; t < SIM_MAX_AXIS; t++)
00057     {
00058 #ifndef UNDER_CE
00059       sprintf(sectionString, "AXIS_%d", t);
00060 #else
00061       strcpy(sectionString,"AXIS_");
00062       _itoa(t,sectionString+5,10);
00063 #endif
00064 
00065       if (0 != amplifierIniLoad(&cmd.data.amplifier[t], EMC_INIFILE, sectionString))
00066         {
00067           retval = -1;
00068         }
00069       if (0 != dcmotorIniLoad(&cmd.data.dcmotor[t], EMC_INIFILE, sectionString))
00070         {
00071           retval = -1;
00072         }
00073       if (0 != encoderIniLoad(&cmd.data.encoder[t], EMC_INIFILE, sectionString))
00074         {
00075           retval = -1;
00076         }
00077     }
00078   sim_cmd->write(&cmd);
00079   while(sim_stat->read() == 0) ;
00080 
00081   delete sim_cmd;
00082   delete sim_stat;
00083 
00084 
00085 }


Variable Documentation

SIMMOT_COMMAND cmd
 

Definition at line 12 of file inisim.cc.

NML* sim_cmd
 

Definition at line 10 of file inisim.cc.

NML* sim_stat
 

Definition at line 11 of file inisim.cc.


Generated on Sun Dec 2 15:28:06 2001 for EMC by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001