diff --git a/clamp/includes/types_clamp.h b/clamp/includes/types_clamp.h index 3b107917d..a2d0b614f 100644 --- a/clamp/includes/types_clamp.h +++ b/clamp/includes/types_clamp.h @@ -102,6 +102,7 @@ typedef struct { double step_v_to_r; /**< Auxiliar parameter for exploration*/ double step_r_to_v; /**< Auxiliar parameter for exploration*/ double auto_cal_val_1; /**< Auxiliar parameter for exploration*/ + char * file_offline; } rt_args; @@ -206,6 +207,7 @@ typedef struct { double output_factor; /**< Output voltage/current conversion factor due to the experimental setup*/ char * filename; char * data_path; + char * file_offline; } clamp_args; #endif // TYPES_CLAMP_H__ diff --git a/clamp/src/clamp.c b/clamp/src/clamp.c index a719c62a4..c8bfc1388 100644 --- a/clamp/src/clamp.c +++ b/clamp/src/clamp.c @@ -160,7 +160,7 @@ int clamp (clamp_args * args) { r_args.sec_per_burst = args->sec_per_burst; r_args.check_drift = args->check_drift; r_args.auto_cal_val_1 = args->auto_cal_val_1; - + r_args.file_offline = args->file_offline; w_args.filename = args->filename; w_args.msqid = msqid_nrt; w_args.model = args->model; diff --git a/clamp/src/comedi_functions.c b/clamp/src/comedi_functions.c index 55bada12a..4be009fec 100644 --- a/clamp/src/comedi_functions.c +++ b/clamp/src/comedi_functions.c @@ -25,6 +25,7 @@ int daq_open_device (char * file) { /**device = (comedi_t *) malloc (sizeof(comedi_t)); dsc = *device;*/ + printf("%s\n", file); if (READ_FROM_FILE == 1) { f = fopen(file, "r"); diff --git a/clamp/src/rt_thread_functions.c b/clamp/src/rt_thread_functions.c index a0d3d538f..3e179b494 100644 --- a/clamp/src/rt_thread_functions.c +++ b/clamp/src/rt_thread_functions.c @@ -210,8 +210,8 @@ void * rt_thread(void * arg) { /**************************************************** Open DAQ ****************************************************/ - char file_offline[] = "data/19h_18m_46s_1.txt"; - daq_open_device (file_offline);/*if (daq_open_device((void**) &dsc) != OK) { + //char file_offline[] = "data/19h_18m_46s_1.txt"; + daq_open_device (args->file_offline);/*if (daq_open_device((void**) &dsc) != OK) { fprintf(stderr, "RT_THREAD: error opening device.\n"); msg.id = -1; diff --git a/clamp/src/xml_clamp_parser.c b/clamp/src/xml_clamp_parser.c index 3efc750d0..aee1352ce 100644 --- a/clamp/src/xml_clamp_parser.c +++ b/clamp/src/xml_clamp_parser.c @@ -22,6 +22,7 @@ #define FIRING "sec_per_burst" #define AUTOCAL_VAL_1 "autocal_val_1" #define DRIFT "drift" +#define FILENAME "file" #define VARS "vars" #define PARAMS "params" @@ -48,7 +49,7 @@ static int parse_clamp_input_channels (xmlDocPtr doc, xmlNodePtr cur, clamp_args static int parse_clamp_output_channels (xmlDocPtr doc, xmlNodePtr cur, clamp_args * args); static int parse_clamp_input_factor (xmlDocPtr doc, xmlNodePtr cur, clamp_args * args); static int parse_clamp_output_factor (xmlDocPtr doc, xmlNodePtr cur, clamp_args * args); - +static int parse_clamp_file_name (xmlDocPtr doc, xmlNodePtr cur, clamp_args * args); /* CLAMP PARSER */ @@ -125,6 +126,9 @@ int xml_clamp_parser (char * file, clamp_args * args) { else if (xmlStrcmp(cur->name, (const xmlChar*) FIRING) == 0) { ret = parse_clamp_sec_per_burst(doc, cur, args); } + else if (xmlStrcmp(cur->name, (const xmlChar*) FILENAME) == 0) { + ret = parse_clamp_file_name(doc, cur, args); + } if (ret == ERR) break; @@ -378,3 +382,12 @@ static int parse_clamp_output_factor (xmlDocPtr doc, xmlNodePtr cur, clamp_args return ret; } +static int parse_clamp_file_name (xmlDocPtr doc, xmlNodePtr cur, clamp_args * args) { + int ret = ERR; + + if ((!doc) || (!cur) || (!args)) return ERR; + + ret = parse_string(doc, cur, &args->file_offline, (const xmlChar*) VALUE); + + return ret; +} \ No newline at end of file diff --git a/xml/test_iz1.xml b/xml/test_iz1.xml index 17a283a1f..06dd77e54 100644 --- a/xml/test_iz1.xml +++ b/xml/test_iz1.xml @@ -51,4 +51,6 @@ + + \ No newline at end of file