// Object properties
#define OBJECTNAME "Advanced Configurator"
/*
#define VERSION "1.01"
#define LASTDATE "2013-01-25"
#define AUTHOR "Ivo Carvalho - ivoc@ipfn.ist.utl.pt"
#define DESCRIPTION "HTML page to change and upload the configuration file parameters"
*/
#define HEADERIMAGELINK "http://www.ipfn.ist.utl.pt/ipfnPortalLayout/themes/ipfn/_img_/logoIPFN_Topo_officialColours.png"
#define FOOTERIMAGELINK "http://backoffice.ipfn.ist.utl.pt/mgallery/default.asp?obj=1"
#include "AdvancedConfigurator.h"
#include "MessageEnvelope.h"
#include "Message.h"
OBJECTLOADREGISTER(AdvancedConfigurator,"$Id: AdvancedConfigurator.cpp,v 1.0 2009/05/22 10:40:56 ivoc Exp $")
/** initialise an object from a set of configs */
bool AdvancedConfigurator::ObjectLoadSetup(ConfigurationDataBase & info, StreamInterface * err){
int i;
delete_selected_points_bool = False;
vector_dim_temp = 0;
already_started = False;
this->graphics_support = new SVGGraphicSupport();
save_filename.Printf("last.cfg");
GCReferenceContainer::ObjectLoadSetup(info,err);
CDBExtended &cdbx = (CDBExtended &)info;
cdbx.ReadFString(configFileID, "configFileID", "cfgFile");
if(!cdbx.ReadFString(Description, "Description"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read Description",this->Name());
return False;
}
// Move to the colours
if(!cdbx->Move("colours"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not move to \"colours\"",this->Name());
return False;
}
if(!cdbx.ReadFString(header_colour, "header_colour"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read header_colour",this->Name());
return False;
}
if(!cdbx.ReadFString(colour1, "colour1"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read colour1",this->Name());
return False;
}
if(!cdbx.ReadFString(colour2, "colour2"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read colour2",this->Name());
return False;
}
if(!cdbx.ReadFString(colour3, "colour3"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read colour3",this->Name());
return False;
}
if(!cdbx.ReadFString(colour4, "colour4"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read colour4",this->Name());
return False;
}
if(!cdbx.ReadFString(colour5, "colour5"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read colour5",this->Name());
return False;
}
if(!cdbx.ReadFString(footer_colour, "footer_colour"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read footer_colour",this->Name());
return False;
}
// Move back to the GAM main branch
cdbx->MoveToFather();
// Move to the default directories
if(!cdbx->Move("default_directories"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not move to \"default_directories\"",this->Name());
return False;
}
if(!cdbx.ReadFString(default_config_file_path, "default_config_file_path"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read default_config_file_path",this->Name());
return False;
}
if(!cdbx.ReadFString(config_files_directory, "config_files_directory"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not read config_files_directory",this->Name());
return False;
}
// Move back to the GAM main branch
cdbx->MoveToFather();
graphic_select = 0;
selected_load_directory = "..";
selected_load_file = "last.cfg";
this->ReadConfigurationFile((char *)default_config_file_path.Buffer());
if(!cdbx.ReadFString(marteLocation, "MARTeLocation", "MARTe")){
AssertErrorCondition(Warning, "ObjectLoadSetup::MARTe location wasn not specified. Using default: %s", marteLocation.Buffer());
}
return HttpInterface::ObjectLoadSetup(info,err);
}
bool AdvancedConfigurator::PrintHTTPForm(HtmlStream &hmStream){
FString temp_string_1;
int i;
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 10px; left: 1050px;\">Units used: Time in milisecondsDistance in milimetersCurrent in Ampere%sFile Description:_____________________________________________________________________________________________Control file to load: Tomography file to load: Tomography active channels (1 to 8): topouterbottomPrimary PSVertical PSHorizontal PSUART port addressZero current pointCurrent step%s%s%s%0.2f%0.4f%s%0.2f%0.4f%s%0.2f%0.4fActuators: Processed: Gas puffing feedback: MARTe Configuration MinimumMaximumMinimumMaximumToroidal currentPrimary currentVertical currentHorizontal currentPlasma currentRadial positionVertical positionDensity & HAlphapuffing durationmaximum idle timeminimum idle time% of cycle changeFeedback type: Density HAlpha Density HAlpha Thread priorityRunOnCPU ( ∑ 2n )%.1f A%.1f A%.1f A%.1f A%.1f A%.1f A%.1f A%.1f A%.1f A%.1f A%.1f mm%.1f mm%.1f mm%.1f mm%.1f au%.1f au%.2f ms%.2f ms%.2f ms%.2f %%d%d saturation predictor 1 limitsaturation Iprim/Vloop limitDischarge Timming online to discharge timebreakdown maximum timeinversion maximum timePuffing output: Time windows, open percentage Time windows with feedback Absolute time, open percentage Preprogrammed + time windows feedback OFF Time windows, open percentage Time windows with feedback Absolute time, open percentage Preprogrammed + time windows feedback OFF Time windows, open percentage Time windows with feedback Absolute time, open percentage Preprogrammed + time windows feedback OFF Time windows, open percentage Time windows with feedback Absolute time, open percentage Preprogrammed + time windows feedback OFF Time windows, open percentage Time windows with feedback Absolute time, open percentage Preprogrammed + time windows feedback OFF %0.3f%0.3f%d µs%d µs%d µs Select waveform: \
0\"");
if(graphic_select == 0) hmStream.SSPrintf(HtmlTagStreamMode, "option selected=\"selected\" value=0>Primary breakdown to Ip > 0Primary breakdown to Ip > 0Vertical breakdown to Ip > 0Vertical breakdown to Ip > 0Horizontal breakdown to Ip > 0Horizontal breakdown to Ip > 0Primary breakdown to Ip < 0Primary breakdown to Ip < 0Vertical breakdown to Ip < 0Vertical breakdown to Ip < 0Horizontal breakdown to Ip < 0Horizontal breakdown to Ip < 0Primary inversion to Ip < 0Primary inversion to Ip < 0Vertical inversion to Ip < 0Vertical inversion to Ip < 0Horizontal inversion to Ip < 0Horizontal inversion to Ip < 0 0\"");
if(graphic_select == 9) hmStream.SSPrintf(HtmlTagStreamMode, "option selected=\"selected\" value=9>Primary inversion to Ip > 0Primary inversion to Ip > 0Vertical inversion to Ip > 0Vertical inversion to Ip > 0Horizontal inversion to Ip > 0Horizontal inversion to Ip > 0Toroidal currentToroidal currentPuffing output %, Ip > 0Puffing output %, Ip > 0Puffing output %, Ip < 0Puffing output %, Ip < 0Feedback, Ip > 0Feedback, Ip > 0Feedback, Ip < 0Feedback, Ip < 0puffing output (absolute time)puffing output (absolute time)graphics_support->OptimalDisplayFromVectors(primary_breakdown_vector_size, &primary_breakdown_index_vector[0], &primary_breakdown_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),primary_breakdown_vector_size,&primary_breakdown_index_vector[0],&primary_breakdown_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_0\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(vertical_breakdown_vector_size, &vertical_breakdown_index_vector[0], &vertical_breakdown_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),vertical_breakdown_vector_size,&vertical_breakdown_index_vector[0],&vertical_breakdown_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_1\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(horizontal_breakdown_vector_size, &horizontal_breakdown_index_vector[0], &horizontal_breakdown_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),horizontal_breakdown_vector_size,&horizontal_breakdown_index_vector[0],&horizontal_breakdown_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_2\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(primary_breakdown_negative_vector_size, &primary_breakdown_negative_index_vector[0], &primary_breakdown_negative_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),primary_breakdown_negative_vector_size,&primary_breakdown_negative_index_vector[0],&primary_breakdown_negative_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_6\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(vertical_breakdown_negative_vector_size, &vertical_breakdown_negative_index_vector[0], &vertical_breakdown_negative_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),vertical_breakdown_negative_vector_size,&vertical_breakdown_negative_index_vector[0],&vertical_breakdown_negative_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_7\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(horizontal_breakdown_negative_vector_size, &horizontal_breakdown_negative_index_vector[0], &horizontal_breakdown_negative_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),horizontal_breakdown_negative_vector_size,&horizontal_breakdown_negative_index_vector[0],&horizontal_breakdown_negative_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_8\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(primary_inversion_positive_vector_size, &primary_inversion_positive_index_vector[0], &primary_inversion_positive_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),primary_inversion_positive_vector_size,&primary_inversion_positive_index_vector[0],&primary_inversion_positive_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_3\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(vertical_inversion_positive_vector_size, &vertical_inversion_positive_index_vector[0], &vertical_inversion_positive_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),vertical_inversion_positive_vector_size,&vertical_inversion_positive_index_vector[0],&vertical_inversion_positive_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_4\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(horizontal_inversion_positive_vector_size, &horizontal_inversion_positive_index_vector[0], &horizontal_inversion_positive_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),horizontal_inversion_positive_vector_size,&horizontal_inversion_positive_index_vector[0],&horizontal_inversion_positive_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_5\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(primary_inversion_negative_vector_size, &primary_inversion_negative_index_vector[0], &primary_inversion_negative_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),primary_inversion_negative_vector_size,&primary_inversion_negative_index_vector[0],&primary_inversion_negative_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_9\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(vertical_inversion_negative_vector_size, &vertical_inversion_negative_index_vector[0], &vertical_inversion_negative_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),vertical_inversion_negative_vector_size,&vertical_inversion_negative_index_vector[0],&vertical_inversion_negative_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_10\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(horizontal_inversion_negative_vector_size, &horizontal_inversion_negative_index_vector[0], &horizontal_inversion_negative_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),horizontal_inversion_negative_vector_size,&horizontal_inversion_negative_index_vector[0],&horizontal_inversion_negative_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_11\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.2f AMin: %.2f Agraphics_support->OptimalDisplayFromVectors(toroidal_1_p_vector_size, &toroidal_1_p_index_vector[0], &toroidal_1_p_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),toroidal_1_p_vector_size,&toroidal_1_p_index_vector[0],&toroidal_1_p_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_12\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.1f AMin: %.1f Agraphics_support->OptimalDisplayFromVectors(puffing_1_p_vector_size, &puffing_1_p_index_vector[0], &puffing_1_p_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),puffing_1_p_vector_size,&puffing_1_p_index_vector[0],&puffing_1_p_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_13\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.1f %Min: %.1f %graphics_support->OptimalDisplayFromVectors(puffing_1_n_vector_size, &puffing_1_n_index_vector[0], &puffing_1_n_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),puffing_1_n_vector_size,&puffing_1_n_index_vector[0],&puffing_1_n_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_14\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.1f %Min: %.1f %graphics_support->OptimalDisplayFromVectors(puffing_2_p_vector_size, &puffing_2_p_index_vector[0], &puffing_2_p_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),puffing_2_p_vector_size,&puffing_2_p_index_vector[0],&puffing_2_p_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_15\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.1f x1018 Min: %.1f x1018 graphics_support->OptimalDisplayFromVectors(puffing_2_n_vector_size, &puffing_2_n_index_vector[0], &puffing_2_n_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),puffing_2_n_vector_size,&puffing_2_n_index_vector[0],&puffing_2_n_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_16\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.1f x1018 Min: %.1f x1018 graphics_support->OptimalDisplayFromVectors(puffing_absolute_time_vector_size, &puffing_absolute_time_index_vector[0], &puffing_absolute_time_data_vector[0],&xmin,&ymin,&xmax,&ymax,&majortickx,&majorticky,&number_of_sub_ticks_x,&number_of_sub_ticks_y);
this->graphics_support->GetGraphSVG(&temp_string_1,(char *) this->Name(),puffing_absolute_time_vector_size,&puffing_absolute_time_index_vector[0],&puffing_absolute_time_data_vector[0], 760, 400,xmin,ymin,xmax,ymax,majortickx,majorticky,number_of_sub_ticks_x,number_of_sub_ticks_y, True,True);
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 490px; left: 320px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 540px; left: 1085px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_select_waveform_points_17\" size=\"14\" onchange='this.form.submit()'");
for (i=0;i%.2f | %.2ft = y= Max: %.1f %Min: %.1f % document.getElementById(\"form_insert_point_x_%d\").focus(); document.getElementById(\"form_insert_point_y_%d\").focus(); Name());
}
else {
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_load_directory_select\" onchange='this.form.submit()'");
while((entry = readdir(temp_directory))) {
dummy_fstring = entry->d_name;
if ( !strcmp("..",dummy_fstring.Buffer()) ){
if(!strcmp(selected_load_directory.Buffer(),dummy_fstring.Buffer())) hmStream.SSPrintf(HtmlTagStreamMode, "option selected=\"selected\" value=%s>%sd_name,"Root DIR");
else hmStream.SSPrintf(HtmlTagStreamMode, "option value=%s>%sd_name,"Root DIR");
}
else if ( !strcmp(".",dummy_fstring.Buffer()) ){
if(!strcmp(selected_load_directory.Buffer(),dummy_fstring.Buffer())) hmStream.SSPrintf(HtmlTagStreamMode, "option selected=\"selected\" value=%s>%sd_name,"Standart DIR");
else hmStream.SSPrintf(HtmlTagStreamMode, "option value=%s>%sd_name,"Standart DIR");
}
else if (entry->d_type == DT_DIR){
if(!strcmp(selected_load_directory.Buffer(),dummy_fstring.Buffer())) hmStream.SSPrintf(HtmlTagStreamMode, "option selected=\"selected\" value=%s>%sd_name,entry->d_name);
else hmStream.SSPrintf(HtmlTagStreamMode, "option value=%s>%sd_name,entry->d_name);
}
}
hmStream.SSPrintf(HtmlTagStreamMode, "/select");
closedir(temp_directory);
dummy_fstring = config_files_directory.Buffer() ;
dummy_fstring += selected_load_directory.Buffer();
dummy_fstring += "/";
temp_directory = opendir(dummy_fstring.Buffer());
if (temp_directory == NULL) {
CStaticAssertErrorCondition(InitialisationError,"MainConfigurator:: %s could not open this directory = %s",this->Name(),dummy_fstring.Buffer());
}
else {
hmStream.SSPrintf(HtmlTagStreamMode, "select NAME=\"form_load_file_name\" onchange='this.form.submit()'");
while((entry = readdir(temp_directory))) {
dummy_fstring = entry->d_name;
FString token;
if (dummy_fstring.GetStringToken(token, ".cfg")){
if ((dummy_fstring.Size() - token.Size()) == 4 && entry->d_type != DT_DIR){
if(!strcmp(selected_load_file.Buffer(),dummy_fstring.Buffer())) hmStream.SSPrintf(HtmlTagStreamMode, "option selected=\"selected\" value=%s>%sd_name,entry->d_name);
else hmStream.SSPrintf(HtmlTagStreamMode, "option value=%s>%sd_name,entry->d_name);
}
}
}
hmStream.SSPrintf(HtmlTagStreamMode, "/select");
closedir(temp_directory);
}
}
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
if (!edit_main && !edit_control && !edit_general){
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 895px; left: 420px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "input type=\"submit\" name=\"form_save_file_as\" value=\"Save as...\"");
if (save_as_bool){
hmStream.SSPrintf(HtmlTagStreamMode, "input type=\"text\" size=\"20\" maxlength=\"40\" name=\"form_save_filename\" value=\"%s\"",save_filename.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "input type=\"submit\" name=\"form_save_file\" value=\"Save\"");
}
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 895px; left: 850px;\"");
hmStream.SSPrintf(HtmlTagStreamMode, "input type=\"submit\" name=\"form_save_file_and_send\" value=\"Save on default filename and Commit\"");
hmStream.SSPrintf(HtmlTagStreamMode, "/div");
}
else {
hmStream.SSPrintf(HtmlTagStreamMode, "div style=\"position: absolute; top: 898px; left: 620px;\">Save and commit options only available after all parameters saved! graphics_support->HeaderSVG(&temp_string_1,(char *) OBJECTNAME, 90, 500, 0,422,87,(char *) HEADERIMAGELINK,10,52, (char *) this->Name(),(char *) header_colour.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, temp_string_1.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "svg width=\"100%\" height=\"%d\" style=\"background-color: %s;\">\n\
\n\
\n\
\n\
General Settings Control Settings Main Settings & Waveforms already_started){
// edit/save buttons
FString submit_save_main;
submit_save_main.SetSize(0);
if (hStream.Switch("InputCommands.submit_save_main")){
hStream.Seek(0);
hStream.GetToken(submit_save_main, "");
hStream.Switch((uint32)0);
}
if(submit_save_main.Size() > 0) edit_main = False;
FString submit_edit_main;
submit_edit_main.SetSize(0);
if (hStream.Switch("InputCommands.submit_edit_main")){
hStream.Seek(0);
hStream.GetToken(submit_edit_main, "");
hStream.Switch((uint32)0);
}
if(submit_edit_main.Size() > 0) edit_main = True;
FString submit_save_control;
submit_save_control.SetSize(0);
if (hStream.Switch("InputCommands.submit_save_control")){
hStream.Seek(0);
hStream.GetToken(submit_save_control, "");
hStream.Switch((uint32)0);
}
if(submit_save_control.Size() > 0) edit_control = False;
FString submit_edit_control;
submit_edit_control.SetSize(0);
if (hStream.Switch("InputCommands.submit_edit_control")){
hStream.Seek(0);
hStream.GetToken(submit_edit_control, "");
hStream.Switch((uint32)0);
}
if(submit_edit_control.Size() > 0) edit_control = True;
FString submit_save_general;
submit_save_general.SetSize(0);
if (hStream.Switch("InputCommands.submit_save_general")){
hStream.Seek(0);
hStream.GetToken(submit_save_general, "");
hStream.Switch((uint32)0);
}
if(submit_save_general.Size() > 0) edit_general = False;
FString submit_edit_general;
submit_edit_general.SetSize(0);
if (hStream.Switch("InputCommands.submit_edit_general")){
hStream.Seek(0);
hStream.GetToken(submit_edit_general, "");
hStream.Switch((uint32)0);
}
if(submit_edit_general.Size() > 0) edit_general = True;
FString form_description;
form_description.SetSize(0);
if (hStream.Switch("InputCommands.form_description")){
hStream.Seek(0);
hStream.GetToken(form_description, "");
hStream.Switch((uint32)0);
}
if(form_description.Size() > 0) Description = form_description.Buffer();
//general settings
FString form_tomography_online_0;
form_tomography_online_0.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_0")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_0, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_0.Size() > 0) tomography_online_channels[0] = True;
else tomography_online_channels[0] =False;
FString form_tomography_online_1;
form_tomography_online_1.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_1")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_1, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_1.Size() > 0) tomography_online_channels[1] = True;
else tomography_online_channels[1] =False;
FString form_tomography_online_2;
form_tomography_online_2.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_2")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_2, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_2.Size() > 0) tomography_online_channels[2] = True;
else tomography_online_channels[2] =False;
FString form_tomography_online_3;
form_tomography_online_3.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_3")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_3, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_3.Size() > 0) tomography_online_channels[3] = True;
else tomography_online_channels[3] =False;
FString form_tomography_online_4;
form_tomography_online_4.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_4")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_4, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_4.Size() > 0) tomography_online_channels[4] = True;
else tomography_online_channels[4] =False;
FString form_tomography_online_5;
form_tomography_online_5.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_5")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_5, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_5.Size() > 0) tomography_online_channels[5] = True;
else tomography_online_channels[5] =False;
FString form_tomography_online_6;
form_tomography_online_6.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_6")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_6, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_6.Size() > 0) tomography_online_channels[6] = True;
else tomography_online_channels[6] =False;
FString form_tomography_online_7;
form_tomography_online_7.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_7")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_7, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_7.Size() > 0) tomography_online_channels[7] = True;
else tomography_online_channels[7] =False;
FString form_tomography_online_8;
form_tomography_online_8.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_8")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_8, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_8.Size() > 0) tomography_online_channels[8] = True;
else tomography_online_channels[8] =False;
FString form_tomography_online_9;
form_tomography_online_9.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_9")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_9, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_9.Size() > 0) tomography_online_channels[9] = True;
else tomography_online_channels[9] =False;
FString form_tomography_online_10;
form_tomography_online_10.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_10")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_10, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_10.Size() > 0) tomography_online_channels[10] = True;
else tomography_online_channels[10] =False;
FString form_tomography_online_11;
form_tomography_online_11.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_11")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_11, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_11.Size() > 0) tomography_online_channels[11] = True;
else tomography_online_channels[11] =False;
FString form_tomography_online_12;
form_tomography_online_12.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_12")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_12, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_12.Size() > 0) tomography_online_channels[12] = True;
else tomography_online_channels[12] =False;
FString form_tomography_online_13;
form_tomography_online_13.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_13")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_13, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_13.Size() > 0) tomography_online_channels[13] = True;
else tomography_online_channels[13] =False;
FString form_tomography_online_14;
form_tomography_online_14.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_14")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_14, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_14.Size() > 0) tomography_online_channels[14] = True;
else tomography_online_channels[14] =False;
FString form_tomography_online_15;
form_tomography_online_15.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_15")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_15, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_15.Size() > 0) tomography_online_channels[15] = True;
else tomography_online_channels[15] =False;
FString form_tomography_online_16;
form_tomography_online_16.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_16")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_16, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_16.Size() > 0) tomography_online_channels[16] = True;
else tomography_online_channels[16] =False;
FString form_tomography_online_17;
form_tomography_online_17.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_17")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_17, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_17.Size() > 0) tomography_online_channels[17] = True;
else tomography_online_channels[17] =False;
FString form_tomography_online_18;
form_tomography_online_18.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_18")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_18, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_18.Size() > 0) tomography_online_channels[18] = True;
else tomography_online_channels[18] =False;
FString form_tomography_online_19;
form_tomography_online_19.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_19")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_19, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_19.Size() > 0) tomography_online_channels[19] = True;
else tomography_online_channels[19] =False;
FString form_tomography_online_20;
form_tomography_online_20.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_20")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_20, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_20.Size() > 0) tomography_online_channels[20] = True;
else tomography_online_channels[20] =False;
FString form_tomography_online_21;
form_tomography_online_21.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_21")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_21, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_21.Size() > 0) tomography_online_channels[21] = True;
else tomography_online_channels[21] =False;
FString form_tomography_online_22;
form_tomography_online_22.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_22")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_22, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_22.Size() > 0) tomography_online_channels[22] = True;
else tomography_online_channels[22] =False;
FString form_tomography_online_23;
form_tomography_online_23.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_online_23")){
hStream.Seek(0);
hStream.GetToken(form_tomography_online_23, "");
hStream.Switch((uint32)0);
}
if(form_tomography_online_23.Size() > 0) tomography_online_channels[23] = True;
else tomography_online_channels[23] =False;
FString form_control_file_to_load;
form_control_file_to_load.SetSize(0);
if (hStream.Switch("InputCommands.form_control_file_to_load")){
hStream.Seek(0);
hStream.GetToken(form_control_file_to_load, "");
hStream.Switch((uint32)0);
}
if(form_control_file_to_load.Size() > 0) control_file_to_load = form_control_file_to_load.Buffer();
FString form_tomography_file_to_load;
form_tomography_file_to_load.SetSize(0);
if (hStream.Switch("InputCommands.form_tomography_file_to_load")){
hStream.Seek(0);
hStream.GetToken(form_tomography_file_to_load, "");
hStream.Switch((uint32)0);
}
if(form_tomography_file_to_load.Size() > 0) tomography_file_to_load = form_tomography_file_to_load.Buffer();
FString form_primaryPS_UARTPortAddress;
form_primaryPS_UARTPortAddress.SetSize(0);
if (hStream.Switch("InputCommands.form_primaryPS_UARTPortAddress")){
hStream.Seek(0);
hStream.GetToken(form_primaryPS_UARTPortAddress, "");
hStream.Switch((uint32)0);
}
if(form_primaryPS_UARTPortAddress.Size() > 0) primaryPS_UARTPortAddress = form_primaryPS_UARTPortAddress.Buffer();
FString form_verticalPS_UARTPortAddress;
form_verticalPS_UARTPortAddress.SetSize(0);
if (hStream.Switch("InputCommands.form_verticalPS_UARTPortAddress")){
hStream.Seek(0);
hStream.GetToken(form_verticalPS_UARTPortAddress, "");
hStream.Switch((uint32)0);
}
if(form_verticalPS_UARTPortAddress.Size() > 0) verticalPS_UARTPortAddress = form_verticalPS_UARTPortAddress.Buffer();
FString form_horizontalPS_UARTPortAddress;
form_horizontalPS_UARTPortAddress.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontalPS_UARTPortAddress")){
hStream.Seek(0);
hStream.GetToken(form_horizontalPS_UARTPortAddress, "");
hStream.Switch((uint32)0);
}
if(form_horizontalPS_UARTPortAddress.Size() > 0) horizontalPS_UARTPortAddress = form_horizontalPS_UARTPortAddress.Buffer();
FString form_primaryPS_PointOfZeroCurrent;
form_primaryPS_PointOfZeroCurrent.SetSize(0);
if (hStream.Switch("InputCommands.form_primaryPS_PointOfZeroCurrent")){
hStream.Seek(0);
hStream.GetToken(form_primaryPS_PointOfZeroCurrent, "");
hStream.Switch((uint32)0);
}
if(form_primaryPS_PointOfZeroCurrent.Size() > 0) if(atof(form_primaryPS_PointOfZeroCurrent.Buffer()) > 0 && atof(form_primaryPS_PointOfZeroCurrent.Buffer()) < 1023) primaryPS_PointOfZeroCurrent = (float) atof(form_primaryPS_PointOfZeroCurrent.Buffer());
FString form_verticalPS_PointOfZeroCurrent;
form_verticalPS_PointOfZeroCurrent.SetSize(0);
if (hStream.Switch("InputCommands.form_verticalPS_PointOfZeroCurrent")){
hStream.Seek(0);
hStream.GetToken(form_verticalPS_PointOfZeroCurrent, "");
hStream.Switch((uint32)0);
}
if(form_verticalPS_PointOfZeroCurrent.Size() > 0) if(atof(form_verticalPS_PointOfZeroCurrent.Buffer()) > 0 && atof(form_verticalPS_PointOfZeroCurrent.Buffer()) < 1023) verticalPS_PointOfZeroCurrent = (float) atof(form_verticalPS_PointOfZeroCurrent.Buffer());
FString form_horizontalPS_PointOfZeroCurrent;
form_horizontalPS_PointOfZeroCurrent.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontalPS_PointOfZeroCurrent")){
hStream.Seek(0);
hStream.GetToken(form_horizontalPS_PointOfZeroCurrent, "");
hStream.Switch((uint32)0);
}
if(form_horizontalPS_PointOfZeroCurrent.Size() > 0) if(atof(form_horizontalPS_PointOfZeroCurrent.Buffer()) > 0 && atof(form_horizontalPS_PointOfZeroCurrent.Buffer()) < 1023) horizontalPS_PointOfZeroCurrent = (float) atof(form_horizontalPS_PointOfZeroCurrent.Buffer());
FString form_primaryPS_CurrentStep;
form_primaryPS_CurrentStep.SetSize(0);
if (hStream.Switch("InputCommands.form_primaryPS_CurrentStep")){
hStream.Seek(0);
hStream.GetToken(form_primaryPS_CurrentStep, "");
hStream.Switch((uint32)0);
}
if(form_primaryPS_CurrentStep.Size() > 0) if(atof(form_primaryPS_CurrentStep.Buffer()) > 0 && atof(form_primaryPS_CurrentStep.Buffer()) < 1023) primaryPS_CurrentStep = (float) atof(form_primaryPS_CurrentStep.Buffer());
FString form_verticalPS_CurrentStep;
form_verticalPS_CurrentStep.SetSize(0);
if (hStream.Switch("InputCommands.form_verticalPS_CurrentStep")){
hStream.Seek(0);
hStream.GetToken(form_verticalPS_CurrentStep, "");
hStream.Switch((uint32)0);
}
if(form_verticalPS_CurrentStep.Size() > 0) if(atof(form_verticalPS_CurrentStep.Buffer()) > 0 && atof(form_verticalPS_CurrentStep.Buffer()) < 1023) verticalPS_CurrentStep = (float) atof(form_verticalPS_CurrentStep.Buffer());
FString form_horizontalPS_CurrentStep;
form_horizontalPS_CurrentStep.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontalPS_CurrentStep")){
hStream.Seek(0);
hStream.GetToken(form_horizontalPS_CurrentStep, "");
hStream.Switch((uint32)0);
}
if(form_horizontalPS_CurrentStep.Size() > 0) if(atof(form_horizontalPS_CurrentStep.Buffer()) > 0 && atof(form_horizontalPS_CurrentStep.Buffer()) < 1023) horizontalPS_CurrentStep = (float) atof(form_horizontalPS_CurrentStep.Buffer());
//control
FString form_primaryPS_P;
form_primaryPS_P.SetSize(0);
if (hStream.Switch("InputCommands.form_primaryPS_P")){
hStream.Seek(0);
hStream.GetToken(form_primaryPS_P, "");
hStream.Switch((uint32)0);
}
if(form_primaryPS_P.Size() > 0) if(atof(form_primaryPS_P.Buffer()) > 0) primaryPS_P = (float) atof(form_primaryPS_P.Buffer());
FString form_primaryPS_I;
form_primaryPS_I.SetSize(0);
if (hStream.Switch("InputCommands.form_primaryPS_I")){
hStream.Seek(0);
hStream.GetToken(form_primaryPS_I, "");
hStream.Switch((uint32)0);
}
if(form_primaryPS_I.Size() > 0) if(atof(form_primaryPS_I.Buffer()) > 0) primaryPS_I = (float) atof(form_primaryPS_I.Buffer());
FString form_primaryPS_D;
form_primaryPS_D.SetSize(0);
if (hStream.Switch("InputCommands.form_primaryPS_D")){
hStream.Seek(0);
hStream.GetToken(form_primaryPS_D, "");
hStream.Switch((uint32)0);
}
if(form_primaryPS_D.Size() > 0) if(atof(form_primaryPS_D.Buffer()) > 0) primaryPS_D = (float) atof(form_primaryPS_D.Buffer());
FString form_verticalPS_P;
form_verticalPS_P.SetSize(0);
if (hStream.Switch("InputCommands.form_verticalPS_P")){
hStream.Seek(0);
hStream.GetToken(form_verticalPS_P, "");
hStream.Switch((uint32)0);
}
if(form_verticalPS_P.Size() > 0) if(atof(form_verticalPS_P.Buffer()) > 0) verticalPS_P = (float) atof(form_verticalPS_P.Buffer());
FString form_verticalPS_I;
form_verticalPS_I.SetSize(0);
if (hStream.Switch("InputCommands.form_verticalPS_I")){
hStream.Seek(0);
hStream.GetToken(form_verticalPS_I, "");
hStream.Switch((uint32)0);
}
if(form_verticalPS_I.Size() > 0) if(atof(form_verticalPS_I.Buffer()) > 0) verticalPS_I = (float) atof(form_verticalPS_I.Buffer());
FString form_verticalPS_D;
form_verticalPS_D.SetSize(0);
if (hStream.Switch("InputCommands.form_verticalPS_D")){
hStream.Seek(0);
hStream.GetToken(form_verticalPS_D, "");
hStream.Switch((uint32)0);
}
if(form_verticalPS_D.Size() > 0) if(atof(form_verticalPS_D.Buffer()) > 0) verticalPS_D = (float) atof(form_verticalPS_D.Buffer());
FString form_horizontalPS_P;
form_horizontalPS_P.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontalPS_P")){
hStream.Seek(0);
hStream.GetToken(form_horizontalPS_P, "");
hStream.Switch((uint32)0);
}
if(form_horizontalPS_P.Size() > 0) if(atof(form_horizontalPS_P.Buffer()) > 0) horizontalPS_P = (float) atof(form_horizontalPS_P.Buffer());
FString form_horizontalPS_I;
form_horizontalPS_I.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontalPS_I")){
hStream.Seek(0);
hStream.GetToken(form_horizontalPS_I, "");
hStream.Switch((uint32)0);
}
if(form_horizontalPS_I.Size() > 0) if(atof(form_horizontalPS_I.Buffer()) > 0) horizontalPS_I = (float) atof(form_horizontalPS_I.Buffer());
FString form_horizontalPS_D;
form_horizontalPS_D.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontalPS_D")){
hStream.Seek(0);
hStream.GetToken(form_horizontalPS_D, "");
hStream.Switch((uint32)0);
}
if(form_horizontalPS_D.Size() > 0) if(atof(form_horizontalPS_D.Buffer()) > 0) horizontalPS_D = (float) atof(form_horizontalPS_D.Buffer());
FString form_toroidal_1_p_max_value;
form_toroidal_1_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_toroidal_1_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_toroidal_1_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_toroidal_1_p_min_value;
form_toroidal_1_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_toroidal_1_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_toroidal_1_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_toroidal_1_p_max_value.Size() > 0 && form_toroidal_1_p_min_value.Size() > 0){
if( atof(form_toroidal_1_p_max_value.Buffer()) > atof(form_toroidal_1_p_min_value.Buffer())) {
toroidal_1_p_max_value = (float) atof(form_toroidal_1_p_max_value.Buffer());
toroidal_1_p_min_value = (float) atof(form_toroidal_1_p_min_value.Buffer());
}
}
FString form_primary_1_p_max_value;
form_primary_1_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_primary_1_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_primary_1_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_primary_1_p_min_value;
form_primary_1_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_primary_1_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_primary_1_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_primary_1_p_max_value.Size() > 0 && form_primary_1_p_min_value.Size() > 0){
if( atof(form_primary_1_p_max_value.Buffer()) > atof(form_primary_1_p_min_value.Buffer())) {
primary_1_p_max_value = (float) atof(form_primary_1_p_max_value.Buffer());
primary_1_p_min_value = (float) atof(form_primary_1_p_min_value.Buffer());
}
}
FString form_vertical_1_p_max_value;
form_vertical_1_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_vertical_1_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_vertical_1_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_vertical_1_p_min_value;
form_vertical_1_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_vertical_1_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_vertical_1_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_vertical_1_p_max_value.Size() > 0 && form_vertical_1_p_min_value.Size() > 0){
if( atof(form_vertical_1_p_max_value.Buffer()) > atof(form_vertical_1_p_min_value.Buffer())) {
vertical_1_p_max_value = (float) atof(form_vertical_1_p_max_value.Buffer());
vertical_1_p_min_value = (float) atof(form_vertical_1_p_min_value.Buffer());
}
}
FString form_horizontal_1_p_max_value;
form_horizontal_1_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontal_1_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_horizontal_1_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_horizontal_1_p_min_value;
form_horizontal_1_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontal_1_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_horizontal_1_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_horizontal_1_p_max_value.Size() > 0 && form_horizontal_1_p_min_value.Size() > 0){
if( atof(form_horizontal_1_p_max_value.Buffer()) > atof(form_horizontal_1_p_min_value.Buffer())) {
horizontal_1_p_max_value = (float) atof(form_horizontal_1_p_max_value.Buffer());
horizontal_1_p_min_value = (float) atof(form_horizontal_1_p_min_value.Buffer());
}
}
FString form_puffing_2_p_max_value;
form_puffing_2_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_puffing_2_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_puffing_2_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_puffing_2_p_min_value;
form_puffing_2_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_puffing_2_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_puffing_2_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_puffing_2_p_max_value.Size() > 0 && form_puffing_2_p_min_value.Size() > 0){
if( atof(form_puffing_2_p_max_value.Buffer()) > atof(form_puffing_2_p_min_value.Buffer())) {
puffing_2_p_max_value = (float) atof(form_puffing_2_p_max_value.Buffer());
puffing_2_p_min_value = (float) atof(form_puffing_2_p_min_value.Buffer());
}
}
FString form_primary_2_p_max_value;
form_primary_2_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_primary_2_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_primary_2_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_primary_2_p_min_value;
form_primary_2_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_primary_2_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_primary_2_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_primary_2_p_max_value.Size() > 0 && form_primary_2_p_min_value.Size() > 0){
if( atof(form_primary_2_p_max_value.Buffer()) > atof(form_primary_2_p_min_value.Buffer())) {
primary_2_p_max_value = (float) atof(form_primary_2_p_max_value.Buffer());
primary_2_p_min_value = (float) atof(form_primary_2_p_min_value.Buffer());
}
}
FString form_vertical_2_p_max_value;
form_vertical_2_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_vertical_2_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_vertical_2_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_vertical_2_p_min_value;
form_vertical_2_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_vertical_2_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_vertical_2_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_vertical_2_p_max_value.Size() > 0 && form_vertical_2_p_min_value.Size() > 0){
if( atof(form_vertical_2_p_max_value.Buffer()) > atof(form_vertical_2_p_min_value.Buffer())) {
vertical_2_p_max_value = (float) atof(form_vertical_2_p_max_value.Buffer());
vertical_2_p_min_value = (float) atof(form_vertical_2_p_min_value.Buffer());
}
}
FString form_horizontal_2_p_max_value;
form_horizontal_2_p_max_value.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontal_2_p_max_value")){
hStream.Seek(0);
hStream.GetToken(form_horizontal_2_p_max_value, "");
hStream.Switch((uint32)0);
}
FString form_horizontal_2_p_min_value;
form_horizontal_2_p_min_value.SetSize(0);
if (hStream.Switch("InputCommands.form_horizontal_2_p_min_value")){
hStream.Seek(0);
hStream.GetToken(form_horizontal_2_p_min_value, "");
hStream.Switch((uint32)0);
}
if(form_horizontal_2_p_max_value.Size() > 0 && form_horizontal_2_p_min_value.Size() > 0){
if( atof(form_horizontal_2_p_max_value.Buffer()) > atof(form_horizontal_2_p_min_value.Buffer())) {
horizontal_2_p_max_value = (float) atof(form_horizontal_2_p_max_value.Buffer());
horizontal_2_p_min_value = (float) atof(form_horizontal_2_p_min_value.Buffer());
}
}
FString form_puffing_duration_in_puffing_feedback_in_ms;
form_puffing_duration_in_puffing_feedback_in_ms.SetSize(0);
if (hStream.Switch("InputCommands.form_puffing_duration_in_puffing_feedback_in_ms")){
hStream.Seek(0);
hStream.GetToken(form_puffing_duration_in_puffing_feedback_in_ms, "");
hStream.Switch((uint32)0);
}
if(form_puffing_duration_in_puffing_feedback_in_ms.Size() > 0) if(atof(form_puffing_duration_in_puffing_feedback_in_ms.Buffer()) > 0 && atof(form_puffing_duration_in_puffing_feedback_in_ms.Buffer()) < 100.01) puffing_duration_in_puffing_feedback_in_ms = (float) atof(form_puffing_duration_in_puffing_feedback_in_ms.Buffer());
FString form_puffing_feedback_usec_change_percentage_by_cycle;
form_puffing_feedback_usec_change_percentage_by_cycle.SetSize(0);
if (hStream.Switch("InputCommands.form_puffing_feedback_usec_change_percentage_by_cycle")){
hStream.Seek(0);
hStream.GetToken(form_puffing_feedback_usec_change_percentage_by_cycle, "");
hStream.Switch((uint32)0);
}
if(form_puffing_feedback_usec_change_percentage_by_cycle.Size() > 0) if(atof(form_puffing_feedback_usec_change_percentage_by_cycle.Buffer()) > 0 && atof(form_puffing_feedback_usec_change_percentage_by_cycle.Buffer()) < 1023) puffing_feedback_usec_change_percentage_by_cycle = (float) atof(form_puffing_feedback_usec_change_percentage_by_cycle.Buffer());
FString form_maximum_idle_time_in_puffing_feedback_in_ms;
form_maximum_idle_time_in_puffing_feedback_in_ms.SetSize(0);
if (hStream.Switch("InputCommands.form_maximum_idle_time_in_puffing_feedback_in_ms")){
hStream.Seek(0);
hStream.GetToken(form_maximum_idle_time_in_puffing_feedback_in_ms, "");
hStream.Switch((uint32)0);
}
FString form_minimum_idle_time_in_puffing_feedback_in_ms;
form_minimum_idle_time_in_puffing_feedback_in_ms.SetSize(0);
if (hStream.Switch("InputCommands.form_minimum_idle_time_in_puffing_feedback_in_ms")){
hStream.Seek(0);
hStream.GetToken(form_minimum_idle_time_in_puffing_feedback_in_ms, "");
hStream.Switch((uint32)0);
}
if(form_maximum_idle_time_in_puffing_feedback_in_ms.Size() > 0 && form_minimum_idle_time_in_puffing_feedback_in_ms.Size() > 0){
if( atof(form_maximum_idle_time_in_puffing_feedback_in_ms.Buffer()) > atof(form_minimum_idle_time_in_puffing_feedback_in_ms.Buffer()) && atof(form_minimum_idle_time_in_puffing_feedback_in_ms.Buffer()) > 0) {
maximum_idle_time_in_puffing_feedback_in_ms = (float) atof(form_maximum_idle_time_in_puffing_feedback_in_ms.Buffer());
minimum_idle_time_in_puffing_feedback_in_ms = (float) atof(form_minimum_idle_time_in_puffing_feedback_in_ms.Buffer());
}
}
FString form_puffing_feedback_mode;
form_puffing_feedback_mode.SetSize(0);
if (hStream.Switch("InputCommands.form_puffing_feedback_mode")){
hStream.Seek(0);
hStream.GetToken(form_puffing_feedback_mode, "");
hStream.Switch((uint32)0);
}
if(form_puffing_feedback_mode.Size() > 0) puffing_feedback_mode = atoi(form_puffing_feedback_mode.Buffer());
FString form_thread_priority;
form_thread_priority.SetSize(0);
if (hStream.Switch("InputCommands.form_thread_priority")){
hStream.Seek(0);
hStream.GetToken(form_thread_priority, "");
hStream.Switch((uint32)0);
}
if(form_thread_priority.Size() > 0) thread_priority = atoi(form_thread_priority.Buffer());
FString form_run_on_cpu;
form_run_on_cpu.SetSize(0);
if (hStream.Switch("InputCommands.form_run_on_cpu")){
hStream.Seek(0);
hStream.GetToken(form_run_on_cpu, "");
hStream.Switch((uint32)0);
}
if(form_run_on_cpu.Size() > 0) if(atoi(form_run_on_cpu.Buffer()) >= 0) run_on_cpu = atoi(form_run_on_cpu.Buffer());
//general settings
FString form_end_discharge_after_unsuccess_bool;
form_end_discharge_after_unsuccess_bool.SetSize(0);
if (hStream.Switch("InputCommands.form_end_discharge_after_unsuccess_bool")){
hStream.Seek(0);
hStream.GetToken(form_end_discharge_after_unsuccess_bool, "");
hStream.Switch((uint32)0);
}
if(form_end_discharge_after_unsuccess_bool.Size() > 0) end_discharge_after_unsuccess_bool = True;
else end_discharge_after_unsuccess_bool = False;
FString form_puffing_mode;
form_puffing_mode.SetSize(0);
if (hStream.Switch("InputCommands.form_puffing_mode")){
hStream.Seek(0);
hStream.GetToken(form_puffing_mode, "");
hStream.Switch((uint32)0);
}
if(form_puffing_mode.Size() > 0) puffing_mode = atoi(form_puffing_mode.Buffer());
FString form_usec_pre_pulse_time;
form_usec_pre_pulse_time.SetSize(0);
if (hStream.Switch("InputCommands.form_usec_pre_pulse_time")){
hStream.Seek(0);
hStream.GetToken(form_usec_pre_pulse_time, "");
hStream.Switch((uint32)0);
}
if(form_usec_pre_pulse_time.Size() > 0) if(atoi(form_usec_pre_pulse_time.Buffer()) >= 0) usec_pre_pulse_time = atoi(form_usec_pre_pulse_time.Buffer());
FString form_time_between_online_and_discharge;
form_time_between_online_and_discharge.SetSize(0);
if (hStream.Switch("InputCommands.form_time_between_online_and_discharge")){
hStream.Seek(0);
hStream.GetToken(form_time_between_online_and_discharge, "");
hStream.Switch((uint32)0);
}
if(form_time_between_online_and_discharge.Size() > 0) if(atoi(form_time_between_online_and_discharge.Buffer()) >= 0) time_between_online_and_discharge = atoi(form_time_between_online_and_discharge.Buffer());
FString form_maximum_inversion_usectime;
form_maximum_inversion_usectime.SetSize(0);
if (hStream.Switch("InputCommands.form_maximum_inversion_usectime")){
hStream.Seek(0);
hStream.GetToken(form_maximum_inversion_usectime, "");
hStream.Switch((uint32)0);
}
if(form_maximum_inversion_usectime.Size() > 0) if(atoi(form_maximum_inversion_usectime.Buffer()) >= 0) maximum_inversion_usectime = atoi(form_maximum_inversion_usectime.Buffer());
FString form_iron_core_saturation_value;
form_iron_core_saturation_value.SetSize(0);
if (hStream.Switch("InputCommands.form_iron_core_saturation_value")){
hStream.Seek(0);
hStream.GetToken(form_iron_core_saturation_value, "");
hStream.Switch((uint32)0);
}
if(form_iron_core_saturation_value.Size() > 0) if(atof(form_iron_core_saturation_value.Buffer()) >= 0) iron_core_saturation_value = atof(form_iron_core_saturation_value.Buffer());
FString form_iron_core_dangerous_value;
form_iron_core_dangerous_value.SetSize(0);
if (hStream.Switch("InputCommands.form_iron_core_dangerous_value")){
hStream.Seek(0);
hStream.GetToken(form_iron_core_dangerous_value, "");
hStream.Switch((uint32)0);
}
if(form_iron_core_dangerous_value.Size() > 0) if(atof(form_iron_core_dangerous_value.Buffer()) >= 0) iron_core_dangerous_value = atof(form_iron_core_dangerous_value.Buffer());
// graphic select
FString form_graphic_select;
form_graphic_select.SetSize(0);
if (hStream.Switch("InputCommands.form_graphic_select")){
hStream.Seek(0);
hStream.GetToken(form_graphic_select, "");
hStream.Switch((uint32)0);
}
if(form_graphic_select.Size() > 0){
graphic_select = atoi(form_graphic_select.Buffer());
focus_on_t_form_bool = True;
}
// waveform_points_dropdown
FString form_delete_selected_points_bool;
form_delete_selected_points_bool.SetSize(0);
if (hStream.Switch("InputCommands.form_delete_selected_points_bool")){
hStream.Seek(0);
hStream.GetToken(form_delete_selected_points_bool, "");
hStream.Switch((uint32)0);
}
if(form_delete_selected_points_bool.Size() > 0) delete_selected_points_bool = True;
else delete_selected_points_bool = False;
if(delete_selected_points_bool){
FString form_select_waveform_points_0;
form_select_waveform_points_0.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_0")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_0, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_0.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_0.Buffer()));
FString form_select_waveform_points_1;
form_select_waveform_points_1.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_1")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_1, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_1.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_1.Buffer()));
FString form_select_waveform_points_2;
form_select_waveform_points_2.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_2")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_2, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_2.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_2.Buffer()));
FString form_select_waveform_points_3;
form_select_waveform_points_3.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_3")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_3, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_3.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_3.Buffer()));
FString form_select_waveform_points_4;
form_select_waveform_points_4.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_4")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_4, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_4.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_4.Buffer()));
FString form_select_waveform_points_5;
form_select_waveform_points_5.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_5")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_5, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_5.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_5.Buffer()));
FString form_select_waveform_points_6;
form_select_waveform_points_6.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_6")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_6, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_6.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_6.Buffer()));
FString form_select_waveform_points_7;
form_select_waveform_points_7.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_7")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_7, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_7.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_7.Buffer()));
FString form_select_waveform_points_8;
form_select_waveform_points_8.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_8")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_8, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_8.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_8.Buffer()));
FString form_select_waveform_points_9;
form_select_waveform_points_9.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_9")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_9, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_9.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_9.Buffer()));
FString form_select_waveform_points_10;
form_select_waveform_points_10.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_10")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_10, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_10.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_10.Buffer()));
FString form_select_waveform_points_11;
form_select_waveform_points_11.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_11")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_11, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_11.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_11.Buffer()));
FString form_select_waveform_points_12;
form_select_waveform_points_12.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_12")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_12, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_12.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_12.Buffer()));
FString form_select_waveform_points_13;
form_select_waveform_points_13.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_13")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_13, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_13.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_13.Buffer()));
FString form_select_waveform_points_14;
form_select_waveform_points_14.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_14")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_14, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_14.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_14.Buffer()));
FString form_select_waveform_points_15;
form_select_waveform_points_15.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_15")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_15, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_15.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_15.Buffer()));
FString form_select_waveform_points_16;
form_select_waveform_points_16.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_16")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_16, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_16.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_16.Buffer()));
FString form_select_waveform_points_17;
form_select_waveform_points_17.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_17")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_17, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_17.Size() > 0) RemovePoint(graphic_select, atoi(form_select_waveform_points_17.Buffer()));
}
else {
FString form_select_waveform_points_0;
form_select_waveform_points_0.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_0")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_0, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_0.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_0.Buffer()));
FString form_select_waveform_points_1;
form_select_waveform_points_1.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_1")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_1, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_1.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_1.Buffer()));
FString form_select_waveform_points_2;
form_select_waveform_points_2.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_2")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_2, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_2.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_2.Buffer()));
FString form_select_waveform_points_3;
form_select_waveform_points_3.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_3")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_3, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_3.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_3.Buffer()));
FString form_select_waveform_points_4;
form_select_waveform_points_4.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_4")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_4, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_4.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_4.Buffer()));
FString form_select_waveform_points_5;
form_select_waveform_points_5.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_5")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_5, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_5.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_5.Buffer()));
FString form_select_waveform_points_6;
form_select_waveform_points_6.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_6")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_6, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_6.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_6.Buffer()));
FString form_select_waveform_points_7;
form_select_waveform_points_7.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_7")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_7, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_7.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_7.Buffer()));
FString form_select_waveform_points_8;
form_select_waveform_points_8.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_8")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_8, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_8.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_8.Buffer()));
FString form_select_waveform_points_9;
form_select_waveform_points_9.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_9")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_9, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_9.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_9.Buffer()));
FString form_select_waveform_points_10;
form_select_waveform_points_10.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_10")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_10, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_10.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_10.Buffer()));
FString form_select_waveform_points_11;
form_select_waveform_points_11.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_11")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_11, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_11.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_11.Buffer()));
FString form_select_waveform_points_12;
form_select_waveform_points_12.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_12")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_12, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_12.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_12.Buffer()));
FString form_select_waveform_points_13;
form_select_waveform_points_13.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_13")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_13, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_13.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_13.Buffer()));
FString form_select_waveform_points_14;
form_select_waveform_points_14.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_14")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_14, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_14.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_14.Buffer()));
FString form_select_waveform_points_15;
form_select_waveform_points_15.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_15")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_15, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_15.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_15.Buffer()));
FString form_select_waveform_points_16;
form_select_waveform_points_16.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_16")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_16, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_16.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_16.Buffer()));
FString form_select_waveform_points_17;
form_select_waveform_points_17.SetSize(0);
if (hStream.Switch("InputCommands.form_select_waveform_points_17")){
hStream.Seek(0);
hStream.GetToken(form_select_waveform_points_17, "");
hStream.Switch((uint32)0);
}
if(form_select_waveform_points_17.Size() > 0) DisplayPoint(graphic_select, atoi(form_select_waveform_points_17.Buffer()));
}
FString submit_insert_point_0;
submit_insert_point_0.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_0")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_0, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_1;
submit_insert_point_1.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_1")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_1, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_2;
submit_insert_point_2.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_2")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_2, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_3;
submit_insert_point_3.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_3")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_3, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_4;
submit_insert_point_4.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_4")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_4, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_5;
submit_insert_point_5.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_5")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_5, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_6;
submit_insert_point_6.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_6")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_6, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_7;
submit_insert_point_7.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_7")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_7, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_8;
submit_insert_point_8.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_8")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_8, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_9;
submit_insert_point_9.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_9")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_9, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_10;
submit_insert_point_10.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_10")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_10, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_11;
submit_insert_point_11.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_11")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_11, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_12;
submit_insert_point_12.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_12")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_12, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_13;
submit_insert_point_13.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_13")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_13, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_14;
submit_insert_point_14.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_14")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_14, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_15;
submit_insert_point_15.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_15")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_15, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_16;
submit_insert_point_16.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_16")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_16, "");
hStream.Switch((uint32)0);
}
FString submit_insert_point_17;
submit_insert_point_17.SetSize(0);
if (hStream.Switch("InputCommands.submit_insert_point_17")){
hStream.Seek(0);
hStream.GetToken(submit_insert_point_17, "");
hStream.Switch((uint32)0);
}
if(submit_insert_point_0.Size() > 0) {
FString form_insert_point_x_0;
form_insert_point_x_0.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_0")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_0, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_0;
form_insert_point_y_0.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_0")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_0, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_0.Size() > 0 && form_insert_point_y_0.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_0.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_0.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_1.Size() > 0) {
FString form_insert_point_x_1;
form_insert_point_x_1.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_1")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_1, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_1;
form_insert_point_y_1.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_1")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_1, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_1.Size() > 0 && form_insert_point_y_1.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_1.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_1.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_2.Size() > 0) {
FString form_insert_point_x_2;
form_insert_point_x_2.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_2")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_2, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_2;
form_insert_point_y_2.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_2")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_2, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_2.Size() > 0 && form_insert_point_y_2.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_2.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_2.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_3.Size() > 0) {
FString form_insert_point_x_3;
form_insert_point_x_3.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_3")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_3, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_3;
form_insert_point_y_3.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_3")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_3, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_3.Size() > 0 && form_insert_point_y_3.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_3.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_3.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_4.Size() > 0) {
FString form_insert_point_x_4;
form_insert_point_x_4.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_4")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_4, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_4;
form_insert_point_y_4.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_4")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_4, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_4.Size() > 0 && form_insert_point_y_4.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_4.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_4.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_5.Size() > 0) {
FString form_insert_point_x_5;
form_insert_point_x_5.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_5")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_5, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_5;
form_insert_point_y_5.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_5")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_5, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_5.Size() > 0 && form_insert_point_y_5.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_5.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_5.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_6.Size() > 0) {
FString form_insert_point_x_6;
form_insert_point_x_6.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_6")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_6, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_6;
form_insert_point_y_6.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_6")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_6, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_6.Size() > 0 && form_insert_point_y_6.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_6.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_6.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_7.Size() > 0) {
FString form_insert_point_x_7;
form_insert_point_x_7.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_7")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_7, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_7;
form_insert_point_y_7.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_7")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_7, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_7.Size() > 0 && form_insert_point_y_7.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_7.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_7.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_8.Size() > 0) {
FString form_insert_point_x_8;
form_insert_point_x_8.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_8")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_8, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_8;
form_insert_point_y_8.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_8")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_8, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_8.Size() > 0 && form_insert_point_y_8.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_8.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_8.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_9.Size() > 0) {
FString form_insert_point_x_9;
form_insert_point_x_9.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_9")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_9, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_9;
form_insert_point_y_9.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_9")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_9, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_9.Size() > 0 && form_insert_point_y_9.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_9.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_9.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_10.Size() > 0) {
FString form_insert_point_x_10;
form_insert_point_x_10.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_10")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_10, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_10;
form_insert_point_y_10.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_10")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_10, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_10.Size() > 0 && form_insert_point_y_10.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_10.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_10.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_11.Size() > 0) {
FString form_insert_point_x_11;
form_insert_point_x_11.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_11")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_11, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_11;
form_insert_point_y_11.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_11")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_11, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_11.Size() > 0 && form_insert_point_y_11.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_11.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_11.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_12.Size() > 0) {
FString form_insert_point_x_12;
form_insert_point_x_12.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_12")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_12, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_12;
form_insert_point_y_12.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_12")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_12, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_12.Size() > 0 && form_insert_point_y_12.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_12.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_12.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_13.Size() > 0) {
FString form_insert_point_x_13;
form_insert_point_x_13.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_13")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_13, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_13;
form_insert_point_y_13.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_13")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_13, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_13.Size() > 0 && form_insert_point_y_13.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_13.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_13.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_14.Size() > 0) {
FString form_insert_point_x_14;
form_insert_point_x_14.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_14")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_14, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_14;
form_insert_point_y_14.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_14")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_14, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_14.Size() > 0 && form_insert_point_y_14.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_14.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_14.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_15.Size() > 0) {
FString form_insert_point_x_15;
form_insert_point_x_15.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_15")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_15, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_15;
form_insert_point_y_15.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_15")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_15, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_15.Size() > 0 && form_insert_point_y_15.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_15.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_15.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_16.Size() > 0) {
FString form_insert_point_x_16;
form_insert_point_x_16.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_16")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_16, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_16;
form_insert_point_y_16.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_16")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_16, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_16.Size() > 0 && form_insert_point_y_16.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_16.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_16.Buffer())*100 + 0.5)/100));
}
if(submit_insert_point_17.Size() > 0) {
FString form_insert_point_x_17;
form_insert_point_x_17.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_x_17")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_x_17, "");
hStream.Switch((uint32)0);
}
FString form_insert_point_y_17;
form_insert_point_y_17.SetSize(0);
if (hStream.Switch("InputCommands.form_insert_point_y_17")){
hStream.Seek(0);
hStream.GetToken(form_insert_point_y_17, "");
hStream.Switch((uint32)0);
}
if(form_insert_point_x_17.Size() > 0 && form_insert_point_y_17.Size() > 0) AddPoint(graphic_select, (floor(atof(form_insert_point_x_17.Buffer())*100 + 0.5)/100), (floor(atof(form_insert_point_y_17.Buffer())*100 + 0.5)/100));
}
// FILE OPERATIONS
FString form_load_directory_select;
form_load_directory_select.SetSize(0);
if (hStream.Switch("InputCommands.form_load_directory_select")){
hStream.Seek(0);
hStream.GetToken(form_load_directory_select, "");
hStream.Switch((uint32)0);
}
if(form_load_directory_select.Size() > 0){
selected_load_directory = form_load_directory_select.Buffer();
selected_load_file = "";
}
FString form_load_file_name;
form_load_file_name.SetSize(0);
if (hStream.Switch("InputCommands.form_load_file_name")){
hStream.Seek(0);
hStream.GetToken(form_load_file_name, "");
hStream.Switch((uint32)0);
}
if(form_load_file_name.Size() > 0) selected_load_file = form_load_file_name.Buffer();
temp_string_1 = "";
FString form_load_file;
form_load_file.SetSize(0);
if (hStream.Switch("InputCommands.form_load_file")){
hStream.Seek(0);
hStream.GetToken(form_load_file, "");
hStream.Switch((uint32)0);
}
if(form_load_file.Size() > 0 && selected_load_directory.Size() > temp_string_1.Size() && selected_load_file.Size() > 4) {
temp_string_1 = config_files_directory.Buffer();
temp_string_1 += form_load_directory_select.Buffer();
temp_string_1 += "/";
temp_string_1 += form_load_file_name.Buffer();
CStaticAssertErrorCondition(InitialisationError,"MainConfigurator::%s, file to load URL == %s",this->Name(),temp_string_1.Buffer());
this->ReadConfigurationFile((char *)temp_string_1.Buffer());
}
FString form_save_file_as;
form_save_file_as.SetSize(0);
if (hStream.Switch("InputCommands.form_save_file_as")){
hStream.Seek(0);
hStream.GetToken(form_save_file_as, "");
hStream.Switch((uint32)0);
}
if(form_save_file_as.Size() > 0) save_as_bool = True;
if (save_as_bool){
FString form_save_file;
form_save_file.SetSize(0);
if (hStream.Switch("InputCommands.form_save_file")){
hStream.Seek(0);
hStream.GetToken(form_save_file, "");
hStream.Switch((uint32)0);
}
if(form_save_file.Size() > 0){
FString form_save_filename;
form_save_filename.SetSize(0);
if (hStream.Switch("InputCommands.form_save_filename")){
hStream.Seek(0);
hStream.GetToken(form_save_filename, "");
hStream.Switch((uint32)0);
}
if(form_save_filename.Size() > 0) {
temp_string_1.Printf(config_files_directory.Buffer());
temp_string_1.Printf(form_save_filename.Buffer());
WriteConfigurationFileWithChanges((char *)default_config_file_path.Buffer(), (char *)temp_string_1.Buffer());
save_as_bool = False;
}
}
}
FString form_save_file_and_send;
form_save_file_and_send.SetSize(0);
if (hStream.Switch("InputCommands.form_save_file_and_send")){
hStream.Seek(0);
hStream.GetToken(form_save_file_and_send, "");
hStream.Switch((uint32)0);
}
if(form_save_file_and_send.Size() > 0){
WriteConfigurationFileWithChanges((char *)default_config_file_path.Buffer(), (char *)default_config_file_path.Buffer());
File temporary_file;
if(!temporary_file.OpenRead(default_config_file_path.Buffer())){
CStaticAssertErrorCondition(InitialisationError, "Failed opening File %s", default_config_file_path.Buffer() );
return False;
}
//Try to upload the file to MARTe
GCRTemplate envelope(GCFT_Create);
GCRTemplate message(GCFT_Create);
message->Init(0, "ChangeConfigFile");
//Insert the cdb
ConfigurationDataBase level1CDB;
// cfgFile.Seek(0);
level1CDB->ReadFromStream(temporary_file);
FString value = "True";
FString key = "RebuildAll";
level1CDB->MoveToRoot();
CDBExtended cdbext(level1CDB);
cdbext.WriteFString(value, key.Buffer());
message->Insert(level1CDB);
//Send the message
envelope->PrepareMessageEnvelope(message, marteLocation.Buffer(), MDRF_ManualReply, this);
GCRTemplate reply;
//prepare the reply
SendMessageAndWait(envelope, reply, TimeoutType(10000));
if(!reply.IsValid()){
AssertErrorCondition(Warning, "Reply from %s isn't valid!", marteLocation.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "h1");
hmStream.Printf("Reply from %s isn't valid!\n", marteLocation.Buffer());
hmStream.SSPrintf(HtmlTagStreamMode, "/h1");
}
else{
GCRTemplate replyMessage = reply->GetMessage();
if(!replyMessage.IsValid()){
AssertErrorCondition(Warning, "The reply message from %s is not valid", marteLocation.Buffer());
}
else{
hmStream.SSPrintf(HtmlTagStreamMode, "SCRIPT LANGUAGE=\"javascript\"");
hmStream.SSPrintf(HtmlTagStreamMode,"!----");
hmStream.Printf("alert('FileWasSuccessfullyCommitted')");
hmStream.SSPrintf(HtmlTagStreamMode, "!-- END -->already_started =True;
PrintHTTPForm(hmStream);
hStream.SSPrintf("OutputHttpOtions.Content-Type","text/html");
hStream.WriteReplyHeader(True);
return True;
}
bool AdvancedConfigurator::ReadConfigurationFile(char FilePath[]){
// CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: FilePath = %s",FilePath);
File temp_file;
FString temp_fstring;
int i;
ConfigurationDataBase cdb;
if(!temp_file.OpenRead(FilePath)){
CStaticAssertErrorCondition(InitialisationError, "ReadWaveformFiles: Failed opening File %s", FilePath );
return False;
}
cdb->ReadFromStream(temp_file);
CDBExtended cdbe(cdb);
FString fstring_temp;
// read real time thread configuration
if(!cdbe->Move("+MARTe.+RealTimeThread"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(thread_priority, "ThreadPriority"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s thread_priority",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: thread_priority = %d",thread_priority);
if(!cdbe.ReadInt32(run_on_cpu, "RunOnCPU"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s run_on_cpu",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: run_on_cpu = %d",run_on_cpu);
cdbe->MoveToRoot();
// read timewindows
if(!cdbe->Move("+MARTe.+RealTimeThread.+time_windows"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+time_windows\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(usec_pre_pulse_time, "usec_pre_pulse_time"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s usec_pre_pulse_time",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: usec_pre_pulse_time = %d",usec_pre_pulse_time);
if(!cdbe.ReadInt32(maximum_inversion_usectime, "maximum_inversion_usectime"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s maximum_inversion_usectime",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: maximum_inversion_usectime = %d",maximum_inversion_usectime);
if(!cdbe.ReadInt32(puffing_mode, "puffing_mode"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_mode",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_mode = %d",puffing_mode);
if(!cdbe.ReadInt32(i, "end_discharge_after_unsuccess_bool"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s end_discharge_after_unsuccess_bool",this->Name());
temp_file.Close();
return False;
}
else
{
end_discharge_after_unsuccess_bool = (bool)i;
CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: end_discharge_after_unsuccess_bool = %d",end_discharge_after_unsuccess_bool);
}
if(!cdbe.ReadInt32(time_between_online_and_discharge, "time_between_online_and_discharge"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s time_between_online_and_discharge",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: time_between_online_and_discharge = %d",time_between_online_and_discharge);
cdbe->MoveToRoot();
// read control
if(!cdbe->Move("+MARTe.+RealTimeThread.+controller"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+controller\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFString(control_file_to_load, "file_to_load"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not control_file_to_load",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: control_file_to_load = %s",control_file_to_load.Buffer());
if(!cdbe.ReadFloat(puffing_duration_in_puffing_feedback_in_ms, "puffing_duration_in_puffing_feedback_in_ms"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_duration_in_puffing_feedback_in_ms",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_duration_in_puffing_feedback_in_ms = %f",puffing_duration_in_puffing_feedback_in_ms);
if(!cdbe.ReadFloat(maximum_idle_time_in_puffing_feedback_in_ms, "maximum_idle_time_in_puffing_feedback_in_ms"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s maximum_idle_time_in_puffing_feedback_in_ms",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: maximum_idle_time_in_puffing_feedback_in_ms = %f",maximum_idle_time_in_puffing_feedback_in_ms);
if(!cdbe.ReadFloat(minimum_idle_time_in_puffing_feedback_in_ms, "minimum_idle_time_in_puffing_feedback_in_ms"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s minimum_idle_time_in_puffing_feedback_in_ms",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: minimum_idle_time_in_puffing_feedback_in_ms = %f",minimum_idle_time_in_puffing_feedback_in_ms);
if(!cdbe.ReadFloat(puffing_feedback_usec_change_percentage_by_cycle, "puffing_feedback_usec_change_percentage_by_cycle"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_feedback_usec_change_percentage_by_cycle",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_feedback_usec_change_percentage_by_cycle = %f",puffing_feedback_usec_change_percentage_by_cycle);
if(!cdbe.ReadInt32(puffing_feedback_mode, "puffing_feedback_mode"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_feedback_mode",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_feedback_mode = %d",puffing_feedback_mode);
cdbe->MoveToRoot();
// read +machine_protection
if(!cdbe->Move("+MARTe.+RealTimeThread.+machine_protection"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+machine_protection\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(iron_core_saturation_value, "iron_core_saturation_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s iron_core_saturation_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: iron_core_saturation_value = %f",iron_core_saturation_value);
if(!cdbe.ReadFloat(iron_core_dangerous_value, "iron_core_dangerous_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s iron_core_dangerous_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: iron_core_dangerous_value = %f",iron_core_dangerous_value);
cdbe->MoveToRoot();
// read +tomography
if(!cdbe->Move("+MARTe.+RealTimeThread.+tomography"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+tomography\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFString(tomography_file_to_load, "file_to_load"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not tomography_file_to_load",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: tomography_file_to_load = %s",tomography_file_to_load.Buffer());
if(!cdbe.ReadInt32(tomography_n_channels, "nch"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s tomography_n_channels",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: tomography_n_channels = %d",tomography_n_channels);
tomography_online_channels =new int[tomography_n_channels];
if(!cdbe.ReadInt32Array(tomography_online_channels, (int *)(&tomography_n_channels), 1, "onlineChannels"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read tomography_online_channels");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
// read maximum values
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(primary_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_1_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_1_p_max_value = %f",primary_1_p_max_value);
if(!cdbe.ReadFloat(primary_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_1_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_1_p_min_value = %f",primary_1_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(primary_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_2_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_2_p_max_value = %f",primary_2_p_max_value);
if(!cdbe.ReadFloat(primary_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_2_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_2_p_min_value = %f",primary_2_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(vertical_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_1_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_1_p_max_value = %f",vertical_1_p_max_value);
if(!cdbe.ReadFloat(vertical_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_1_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_1_p_min_value = %f",vertical_1_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(vertical_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_2_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_2_p_max_value = %f",vertical_2_p_max_value);
if(!cdbe.ReadFloat(vertical_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_2_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_2_p_min_value = %f",vertical_2_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(horizontal_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_1_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_1_p_max_value = %f",horizontal_1_p_max_value);
if(!cdbe.ReadFloat(horizontal_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_1_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_1_p_min_value = %f",horizontal_1_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(horizontal_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_2_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_2_p_max_value = %f",horizontal_2_p_max_value);
if(!cdbe.ReadFloat(horizontal_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_2_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_2_p_min_value = %f",horizontal_2_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(toroidal_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s toroidal_1_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: toroidal_1_p_max_value = %f",toroidal_1_p_max_value);
if(!cdbe.ReadFloat(toroidal_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s toroidal_1_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: toroidal_1_p_min_value = %f",toroidal_1_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(puffing_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_1_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_1_p_max_value = %f",puffing_1_p_max_value);
if(!cdbe.ReadFloat(puffing_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_1_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_1_p_min_value = %f",puffing_1_p_min_value);
cdbe->MoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFloat(puffing_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_2_p_max_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_2_p_max_value = %f",puffing_2_p_max_value);
if(!cdbe.ReadFloat(puffing_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_2_p_min_value",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_2_p_min_value = %f",puffing_2_p_min_value);
cdbe->MoveToRoot();
// read config file section: waveform_primary
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(primary_breakdown_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_breakdown_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_breakdown_vector_size = %d",primary_breakdown_vector_size);
primary_breakdown_index_vector =new float[primary_breakdown_vector_size];
primary_breakdown_data_vector =new float[primary_breakdown_vector_size];
if(!cdbe.ReadFloatArray(primary_breakdown_index_vector, (int *)(&primary_breakdown_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read primary_breakdown_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(primary_breakdown_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_breakdown_negative_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_breakdown_negative_vector_size = %d",primary_breakdown_negative_vector_size);
primary_breakdown_negative_index_vector =new float[primary_breakdown_negative_vector_size];
primary_breakdown_negative_data_vector =new float[primary_breakdown_negative_vector_size];
if(!cdbe.ReadFloatArray(primary_breakdown_negative_index_vector, (int *)(&primary_breakdown_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not primary_breakdown_negative_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_inversion_positive_to_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_inversion_positive_to_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(primary_inversion_positive_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_inversion_positive_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_inversion_positive_vector_size = %d",primary_inversion_positive_vector_size);
primary_inversion_positive_index_vector =new float[primary_inversion_positive_vector_size];
primary_inversion_positive_data_vector =new float[primary_inversion_positive_vector_size];
if(!cdbe.ReadFloatArray(primary_inversion_positive_index_vector, (int *)(&primary_inversion_positive_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read primary_inversion_positive_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_inversion_negative_to_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_inversion_negative_to_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(primary_inversion_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primary_inversion_negative_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primary_inversion_negative_vector_size = %d",primary_inversion_negative_vector_size);
primary_inversion_negative_index_vector =new float[primary_inversion_negative_vector_size];
primary_inversion_negative_data_vector =new float[primary_inversion_negative_vector_size];
if(!cdbe.ReadFloatArray(primary_inversion_negative_index_vector, (int *)(&primary_inversion_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read primary_inversion_negative_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
// read config file section: waveform_vertical
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(vertical_breakdown_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_breakdown_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_breakdown_vector_size = %d",vertical_breakdown_vector_size);
vertical_breakdown_index_vector =new float[vertical_breakdown_vector_size];
vertical_breakdown_data_vector =new float[vertical_breakdown_vector_size];
if(!cdbe.ReadFloatArray(vertical_breakdown_index_vector, (int *)(&vertical_breakdown_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read vertical_breakdown_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(vertical_breakdown_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_breakdown_negative_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_breakdown_negative_vector_size = %d",vertical_breakdown_negative_vector_size);
vertical_breakdown_negative_index_vector =new float[vertical_breakdown_negative_vector_size];
vertical_breakdown_negative_data_vector =new float[vertical_breakdown_negative_vector_size];
if(!cdbe.ReadFloatArray(vertical_breakdown_negative_index_vector, (int *)(&vertical_breakdown_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read vertical_breakdown_negative_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_inversion_positive_to_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(vertical_inversion_positive_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_inversion_positive_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_inversion_positive_vector_size = %d",vertical_inversion_positive_vector_size);
vertical_inversion_positive_index_vector =new float[vertical_inversion_positive_vector_size];
vertical_inversion_positive_data_vector =new float[vertical_inversion_positive_vector_size];
if(!cdbe.ReadFloatArray(vertical_inversion_positive_index_vector, (int *)(&vertical_inversion_positive_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read vertical_inversion_positive_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_inversion_negative_to_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_2_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(vertical_inversion_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s vertical_inversion_negative_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: vertical_inversion_negative_vector_size = %d",vertical_inversion_negative_vector_size);
vertical_inversion_negative_index_vector =new float[vertical_inversion_negative_vector_size];
vertical_inversion_negative_data_vector =new float[vertical_inversion_negative_vector_size];
if(!cdbe.ReadFloatArray(vertical_inversion_negative_index_vector, (int *)(&vertical_inversion_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read vertical_inversion_negative_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
// read config file section: waveform_horizontal
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(horizontal_breakdown_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_breakdown_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_breakdown_vector_size = %d",horizontal_breakdown_vector_size);
horizontal_breakdown_index_vector =new float[horizontal_breakdown_vector_size];
horizontal_breakdown_data_vector =new float[horizontal_breakdown_vector_size];
if(!cdbe.ReadFloatArray(horizontal_breakdown_index_vector, (int *)(&horizontal_breakdown_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read horizontal_breakdown_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_breakdown_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_1_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(horizontal_breakdown_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_breakdown_negative_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_breakdown_negative_vector_size = %d",horizontal_breakdown_negative_vector_size);
horizontal_breakdown_negative_index_vector =new float[horizontal_breakdown_negative_vector_size];
horizontal_breakdown_negative_data_vector =new float[horizontal_breakdown_negative_vector_size];
if(!cdbe.ReadFloatArray(horizontal_breakdown_negative_index_vector, (int *)(&horizontal_breakdown_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read horizontal_breakdown_negative_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_inversion_positive_to_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(horizontal_inversion_positive_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_inversion_positive_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_inversion_positive_vector_size = %d",horizontal_inversion_positive_vector_size);
horizontal_inversion_positive_index_vector =new float[horizontal_inversion_positive_vector_size];
horizontal_inversion_positive_data_vector =new float[horizontal_inversion_positive_vector_size];
if(!cdbe.ReadFloatArray(horizontal_inversion_positive_index_vector, (int *)(&horizontal_inversion_positive_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read horizontal_inversion_positive_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_inversion_negative_to_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_2_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(horizontal_inversion_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontal_inversion_negative_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontal_inversion_negative_vector_size = %d",horizontal_inversion_negative_vector_size);
horizontal_inversion_negative_index_vector =new float[horizontal_inversion_negative_vector_size];
horizontal_inversion_negative_data_vector =new float[horizontal_inversion_negative_vector_size];
if(!cdbe.ReadFloatArray(horizontal_inversion_negative_index_vector, (int *)(&horizontal_inversion_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read horizontal_inversion_negative_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
// read config file section: waveform_toroidal
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(toroidal_1_p_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s toroidal_1_p_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: toroidal_1_p_vector_size = %d",toroidal_1_p_vector_size);
toroidal_1_p_index_vector =new float[toroidal_1_p_vector_size];
toroidal_1_p_data_vector =new float[toroidal_1_p_vector_size];
if(!cdbe.ReadFloatArray(toroidal_1_p_index_vector, (int *)(&toroidal_1_p_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read toroidal_1_p_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
// read config file section: waveform_puffing
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(puffing_1_p_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_1_p_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_1_p_vector_size = %d",puffing_1_p_vector_size);
puffing_1_p_index_vector =new float[puffing_1_p_vector_size];
puffing_1_p_data_vector =new float[puffing_1_p_vector_size];
if(!cdbe.ReadFloatArray(puffing_1_p_index_vector, (int *)(&puffing_1_p_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read puffing_1_p_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(puffing_1_n_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_1_n_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_1_n_vector_size = %d",puffing_1_n_vector_size);
puffing_1_n_index_vector =new float[puffing_1_n_vector_size];
puffing_1_n_data_vector =new float[puffing_1_n_vector_size];
if(!cdbe.ReadFloatArray(puffing_1_n_index_vector, (int *)(&puffing_1_n_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read puffing_1_n_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(puffing_2_p_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_2_p_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_2_p_vector_size = %d",puffing_2_p_vector_size);
puffing_2_p_index_vector =new float[puffing_2_p_vector_size];
puffing_2_p_data_vector =new float[puffing_2_p_vector_size];
if(!cdbe.ReadFloatArray(puffing_2_p_index_vector, (int *)(&puffing_2_p_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read puffing_2_p_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_negative\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(puffing_2_n_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_2_n_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_2_n_vector_size = %d",puffing_2_n_vector_size);
puffing_2_n_index_vector =new float[puffing_2_n_vector_size];
puffing_2_n_data_vector =new float[puffing_2_n_vector_size];
if(!cdbe.ReadFloatArray(puffing_2_n_index_vector, (int *)(&puffing_2_n_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read puffing_2_n_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
if(!cdbe->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadInt32(puffing_absolute_time_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s puffing_absolute_time_vector_size",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: puffing_absolute_time_vector_size = %d",puffing_absolute_time_vector_size);
puffing_absolute_time_index_vector = new float[puffing_absolute_time_vector_size];
puffing_absolute_time_data_vector = new float[puffing_absolute_time_vector_size];
if(!cdbe.ReadFloatArray(puffing_absolute_time_index_vector, (int *)(&puffing_absolute_time_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"ReadWaveformFiles: Could not read puffing_absolute_time_index_vector");
temp_file.Close();
return False;
}
else for(i=0;iMoveToRoot();
// read config file section: PSCommunicator_vertical
if(!cdbe->Move("+MARTe.+RealTimeThread.+PSCommunicator_vertical"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+PSCommunicator_vertical\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFString(verticalPS_UARTPortAddress, "UARTPortAddress"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not verticalPS_UARTPortAddress",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: verticalPS_UARTPortAddress = %s",verticalPS_UARTPortAddress.Buffer());
if(!cdbe.ReadFloat(verticalPS_PointOfZeroCurrent, "PointOfZeroCurrent"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s verticalPS_PointOfZeroCurrent",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: verticalPS_PointOfZeroCurrent = %f",verticalPS_PointOfZeroCurrent);
if(!cdbe.ReadFloat(verticalPS_CurrentStep, "CurrentStep"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s verticalPS_CurrentStep",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: verticalPS_CurrentStep = %f",verticalPS_CurrentStep);
cdbe->MoveToRoot();
// read config file section: PSCommunicator_horizontal
if(!cdbe->Move("+MARTe.+RealTimeThread.+PSCommunicator_horizontal"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+PSCommunicator_horizontal\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFString(horizontalPS_UARTPortAddress, "UARTPortAddress"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not horizontalPS_UARTPortAddress",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontalPS_UARTPortAddress = %s",horizontalPS_UARTPortAddress.Buffer());
if(!cdbe.ReadFloat(horizontalPS_PointOfZeroCurrent, "PointOfZeroCurrent"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontalPS_PointOfZeroCurrent",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontalPS_PointOfZeroCurrent = %f",horizontalPS_PointOfZeroCurrent);
if(!cdbe.ReadFloat(horizontalPS_CurrentStep, "CurrentStep"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s horizontalPS_CurrentStep",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: horizontalPS_CurrentStep = %f",horizontalPS_CurrentStep);
cdbe->MoveToRoot();
// read config file section: PSCommunicator_primary
if(!cdbe->Move("+MARTe.+RealTimeThread.+PSCommunicator_primary"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+PSCommunicator_primary\"",this->Name());
temp_file.Close();
return False;
}
if(!cdbe.ReadFString(primaryPS_UARTPortAddress, "UARTPortAddress"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not primaryPS_UARTPortAddress",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primaryPS_UARTPortAddress = %s",primaryPS_UARTPortAddress.Buffer());
if(!cdbe.ReadFloat(primaryPS_PointOfZeroCurrent, "PointOfZeroCurrent"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primaryPS_PointOfZeroCurrent",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primaryPS_PointOfZeroCurrent = %f",primaryPS_PointOfZeroCurrent);
if(!cdbe.ReadFloat(primaryPS_CurrentStep, "CurrentStep"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ReadConfigurationFile: %s primaryPS_CurrentStep",this->Name());
temp_file.Close();
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::ReadConfigurationFile: primaryPS_CurrentStep = %f",primaryPS_CurrentStep);
cdbe->MoveToRoot();
temp_file.Close();
return True;
}
bool AdvancedConfigurator::WriteConfigurationFileWithChanges(char BaseFileFilePath[], char TargetFilePath[]){
CDBExtended cdb;
int i;
File configIn;
if(!configIn.OpenRead((char *)BaseFileFilePath)){
printf("AdvancedConfigurator:: Failed opening file %s\n", BaseFileFilePath);
return 0;
}
cdb->ReadFromStream(configIn);
configIn.Close();
// Write real time thread configuration
if(!cdb->Move("+MARTe.+RealTimeThread"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread\"",this->Name());
return False;
}
if(!cdb.WriteInt32(thread_priority, "ThreadPriority"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s thread_priority",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: thread_priority = %d",thread_priority);
if(!cdb.WriteInt32(run_on_cpu, "RunOnCPU"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s run_on_cpu",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: run_on_cpu = %d",run_on_cpu);
cdb->MoveToRoot();
// Write timewindows
if(!cdb->Move("+MARTe.+RealTimeThread.+time_windows"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+time_windows\"",this->Name());
return False;
}
if(!cdb.WriteInt32(usec_pre_pulse_time, "usec_pre_pulse_time"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s usec_pre_pulse_time",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: usec_pre_pulse_time = %d",usec_pre_pulse_time);
if(!cdb.WriteInt32(maximum_inversion_usectime, "maximum_inversion_usectime"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_inversion_usectime",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_inversion_usectime = %d",maximum_inversion_usectime);
if(!cdb.WriteInt32(puffing_mode, "puffing_mode"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_mode",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_mode = %d",puffing_mode);
if(!cdb.WriteInt32((int) end_discharge_after_unsuccess_bool, "end_discharge_after_unsuccess_bool"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s end_discharge_after_unsuccess_bool",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: end_discharge_after_unsuccess_bool = %d",end_discharge_after_unsuccess_bool);
if(!cdb.WriteInt32(time_between_online_and_discharge, "time_between_online_and_discharge"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s time_between_online_and_discharge",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: time_between_online_and_discharge = %d",time_between_online_and_discharge);
cdb->MoveToRoot();
// Write control
if(!cdb->Move("+MARTe.+RealTimeThread.+controller"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+controller\"",this->Name());
return False;
}
if(!cdb.WriteFString(control_file_to_load, "file_to_load"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not control_file_to_load",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: control_file_to_load = %s",control_file_to_load.Buffer());
if(!cdb.WriteFloat(horizontal_1_p_max_value, "maximum_horizontal_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_horizontal_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_horizontal_current = %f",horizontal_1_p_max_value);
if(!cdb.WriteFloat(horizontal_1_p_min_value, "minimum_horizontal_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_horizontal_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_horizontal_current = %f",horizontal_1_p_min_value);
if(!cdb.WriteFloat(vertical_1_p_max_value, "maximum_vertical_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_vertical_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_vertical_current = %f",vertical_1_p_max_value);
if(!cdb.WriteFloat(vertical_1_p_min_value, "minimum_vertical_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_vertical_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_vertical_current = %f",vertical_1_p_min_value);
if(!cdb.WriteFloat(primary_1_p_max_value, "maximum_primary_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_primary_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_primary_current = %f",primary_1_p_max_value);
if(!cdb.WriteFloat(primary_1_p_min_value, "minimum_primary_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_primary_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_primary_current = %f",primary_1_p_min_value);
if(!cdb.WriteFloat(horizontal_2_p_max_value, "maximum_horizontal_position"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_horizontal_position",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_horizontal_position = %f",horizontal_2_p_max_value);
if(!cdb.WriteFloat(horizontal_2_p_min_value, "minimum_horizontal_position"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_horizontal_position",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_horizontal_position = %f",horizontal_2_p_min_value);
if(!cdb.WriteFloat(vertical_2_p_max_value, "maximum_vertical_position"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_vertical_position",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_vertical_position = %f",vertical_2_p_max_value);
if(!cdb.WriteFloat(vertical_2_p_min_value, "minimum_vertical_position"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_vertical_position",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_vertical_position = %f",vertical_2_p_min_value);
if(!cdb.WriteFloat(primary_2_p_max_value, "maximum_plasma_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_plasma_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_plasma_current = %f",primary_2_p_max_value);
if(!cdb.WriteFloat(primary_2_p_min_value, "minimum_plasma_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_plasma_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_plasma_current = %f",primary_2_p_min_value);
if(!cdb.WriteFloat(toroidal_1_p_max_value, "maximum_toroidal_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_toroidal_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_toroidal_current = %f",toroidal_1_p_max_value);
if(!cdb.WriteFloat(toroidal_1_p_min_value, "minimum_toroidal_current"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_toroidal_current",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_toroidal_current = %f",toroidal_1_p_min_value);
if(!cdb.WriteFloat(puffing_1_p_max_value, "maximum_puffing_output"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_puffing_output",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_puffing_output = %f",puffing_1_p_max_value);
if(!cdb.WriteFloat(puffing_1_p_min_value, "minimum_puffing_output"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_puffing_output",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_puffing_output = %f",puffing_1_p_min_value);
if(!cdb.WriteFloat(puffing_2_p_max_value, "maximum_density_halpha_scenario"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_density_halpha_scenario",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_density_halpha_scenario = %f",puffing_2_p_max_value);
if(!cdb.WriteFloat(puffing_2_p_min_value, "minimum_density_halpha_scenario"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_density_halpha_scenario",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_density_halpha_scenario = %f",puffing_2_p_min_value);
if(!cdb.WriteFloat(puffing_duration_in_puffing_feedback_in_ms, "puffing_duration_in_puffing_feedback_in_ms"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_duration_in_puffing_feedback_in_ms",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_duration_in_puffing_feedback_in_ms = %f",puffing_duration_in_puffing_feedback_in_ms);
if(!cdb.WriteFloat(maximum_idle_time_in_puffing_feedback_in_ms, "maximum_idle_time_in_puffing_feedback_in_ms"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s maximum_idle_time_in_puffing_feedback_in_ms",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: maximum_idle_time_in_puffing_feedback_in_ms = %f",maximum_idle_time_in_puffing_feedback_in_ms);
if(!cdb.WriteFloat(minimum_idle_time_in_puffing_feedback_in_ms, "minimum_idle_time_in_puffing_feedback_in_ms"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s minimum_idle_time_in_puffing_feedback_in_ms",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: minimum_idle_time_in_puffing_feedback_in_ms = %f",minimum_idle_time_in_puffing_feedback_in_ms);
if(!cdb.WriteFloat(puffing_feedback_usec_change_percentage_by_cycle, "puffing_feedback_usec_change_percentage_by_cycle"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_feedback_usec_change_percentage_by_cycle",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_feedback_usec_change_percentage_by_cycle = %f",puffing_feedback_usec_change_percentage_by_cycle);
if(!cdb.WriteInt32(puffing_mode, "puffing_mode"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_mode",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_mode = %d",puffing_mode);
if(!cdb.WriteInt32(puffing_feedback_mode, "puffing_feedback_mode"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_feedback_mode",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_feedback_mode = %d",puffing_feedback_mode);
if(!cdb.WriteInt32(puffing_mode, "puffing_mode"))
{
AssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_mode",this->Name());
return False;
}
else AssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_mode = %d",puffing_mode);
cdb->MoveToRoot();
// Write +machine_protection
if(!cdb->Move("+MARTe.+RealTimeThread.+machine_protection"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+machine_protection\"",this->Name());
return False;
}
if(!cdb.WriteFloat(iron_core_saturation_value, "iron_core_saturation_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s iron_core_saturation_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: iron_core_saturation_value = %f",iron_core_saturation_value);
if(!cdb.WriteFloat(iron_core_dangerous_value, "iron_core_dangerous_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s iron_core_dangerous_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: iron_core_dangerous_value = %f",iron_core_dangerous_value);
cdb->MoveToRoot();
// Write +tomography
if(!cdb->Move("+MARTe.+RealTimeThread.+tomography"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+tomography\"",this->Name());
return False;
}
if(!cdb.WriteFString(tomography_file_to_load, "file_to_load"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not tomography_file_to_load",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: tomography_file_to_load = %s",tomography_file_to_load.Buffer());
if(!cdb.WriteInt32Array(tomography_online_channels, (int *)(&tomography_n_channels), 1, "onlineChannels"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write tomography_online_channels");
return False;
}
else for(i=0;iMoveToRoot();
// Write maximum values
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_1_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(primary_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_1_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_1_p_max_value = %f",primary_1_p_max_value);
if(!cdb.WriteFloat(primary_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_1_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_1_p_min_value = %f",primary_1_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_mode_2_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(primary_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_2_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_2_p_max_value = %f",primary_2_p_max_value);
if(!cdb.WriteFloat(primary_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_2_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_2_p_min_value = %f",primary_2_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_1_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(vertical_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_1_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_1_p_max_value = %f",vertical_1_p_max_value);
if(!cdb.WriteFloat(vertical_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_1_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_1_p_min_value = %f",vertical_1_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_mode_2_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(vertical_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_2_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_2_p_max_value = %f",vertical_2_p_max_value);
if(!cdb.WriteFloat(vertical_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_2_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_2_p_min_value = %f",vertical_2_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_1_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(horizontal_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_1_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_1_p_max_value = %f",horizontal_1_p_max_value);
if(!cdb.WriteFloat(horizontal_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_1_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_1_p_min_value = %f",horizontal_1_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_mode_2_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(horizontal_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_2_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_2_p_max_value = %f",horizontal_2_p_max_value);
if(!cdb.WriteFloat(horizontal_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_2_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_2_p_min_value = %f",horizontal_2_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_2_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(toroidal_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s toroidal_1_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: toroidal_1_p_max_value = %f",toroidal_1_p_max_value);
if(!cdb.WriteFloat(toroidal_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s toroidal_1_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: toroidal_1_p_min_value = %f",toroidal_1_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(puffing_1_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_1_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_1_p_max_value = %f",puffing_1_p_max_value);
if(!cdb.WriteFloat(puffing_1_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_1_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_1_p_min_value = %f",puffing_1_p_min_value);
cdb->MoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive\"",this->Name());
return False;
}
if(!cdb.WriteFloat(puffing_2_p_max_value, "max_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_2_p_max_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_2_p_max_value = %f",puffing_2_p_max_value);
if(!cdb.WriteFloat(puffing_2_p_min_value, "min_value"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_2_p_min_value",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_2_p_min_value = %f",puffing_2_p_min_value);
cdb->MoveToRoot();
// write config file section: waveform_primary
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown\"",this->Name());
return False;
}
if(!cdb.WriteInt32(primary_breakdown_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_breakdown_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_breakdown_vector_size = %d",primary_breakdown_vector_size);
if(!cdb.WriteFloatArray(primary_breakdown_index_vector, (int *)(&primary_breakdown_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write primary_breakdown_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_breakdown_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(primary_breakdown_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_breakdown_negative_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_breakdown_negative_vector_size = %d",primary_breakdown_negative_vector_size);
if(!cdb.WriteFloatArray(primary_breakdown_negative_index_vector, (int *)(&primary_breakdown_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write primary_breakdown_negative_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_inversion_positive_to_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_primary.waveform_inversion_positive_to_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(primary_inversion_positive_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_inversion_positive_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_inversion_positive_vector_size = %d",primary_inversion_positive_vector_size);
if(!cdb.WriteFloatArray(primary_inversion_positive_index_vector, (int *)(&primary_inversion_positive_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write primary_inversion_positive_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_primary.waveform_inversion_negative_to_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_inversion_negative_to_positive\"",this->Name());
return False;
}
if(!cdb.WriteInt32(primary_inversion_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primary_inversion_negative_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primary_inversion_negative_vector_size = %d",primary_inversion_negative_vector_size);
if(!cdb.WriteFloatArray(primary_inversion_negative_index_vector, (int *)(&primary_inversion_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write primary_inversion_negative_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
// write config file section: waveform_vertical
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown\"",this->Name());
return False;
}
if(!cdb.WriteInt32(vertical_breakdown_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_breakdown_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_breakdown_vector_size = %d",vertical_breakdown_vector_size);
if(!cdb.WriteFloatArray(vertical_breakdown_index_vector, (int *)(&vertical_breakdown_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write vertical_breakdown_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_breakdown_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(vertical_breakdown_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_breakdown_negative_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_breakdown_negative_vector_size = %d",vertical_breakdown_negative_vector_size);
if(!cdb.WriteFloatArray(vertical_breakdown_negative_index_vector, (int *)(&vertical_breakdown_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write vertical_breakdown_negative_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_inversion_positive_to_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_inversion_positive_to_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(vertical_inversion_positive_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_inversion_positive_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_inversion_positive_vector_size = %d",vertical_inversion_positive_vector_size);
if(!cdb.WriteFloatArray(vertical_inversion_positive_index_vector, (int *)(&vertical_inversion_positive_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write vertical_inversion_positive_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_vertical.waveform_inversion_negative_to_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_vertical.waveform_inversion_negative_to_positive\"",this->Name());
return False;
}
if(!cdb.WriteInt32(vertical_inversion_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s vertical_inversion_negative_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: vertical_inversion_negative_vector_size = %d",vertical_inversion_negative_vector_size);
if(!cdb.WriteFloatArray(vertical_inversion_negative_index_vector, (int *)(&vertical_inversion_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write vertical_inversion_negative_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
// write config file section: waveform_horizontal
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_breakdown\"",this->Name());
return False;
}
if(!cdb.WriteInt32(horizontal_breakdown_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_breakdown_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_breakdown_vector_size = %d",horizontal_breakdown_vector_size);
if(!cdb.WriteFloatArray(horizontal_breakdown_index_vector, (int *)(&horizontal_breakdown_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write horizontal_breakdown_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_breakdown_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_breakdown_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(horizontal_breakdown_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_breakdown_negative_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_breakdown_negative_vector_size = %d",horizontal_breakdown_negative_vector_size);
if(!cdb.WriteFloatArray(horizontal_breakdown_negative_index_vector, (int *)(&horizontal_breakdown_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write horizontal_breakdown_negative_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_inversion_positive_to_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_inversion_positive_to_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(horizontal_inversion_positive_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_inversion_positive_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_inversion_positive_vector_size = %d",horizontal_inversion_positive_vector_size);
if(!cdb.WriteFloatArray(horizontal_inversion_positive_index_vector, (int *)(&horizontal_inversion_positive_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write horizontal_inversion_positive_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_horizontal.waveform_inversion_negative_to_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_horizontal.waveform_inversion_negative_to_positive\"",this->Name());
return False;
}
if(!cdb.WriteInt32(horizontal_inversion_negative_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontal_inversion_negative_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontal_inversion_negative_vector_size = %d",horizontal_inversion_negative_vector_size);
if(!cdb.WriteFloatArray(horizontal_inversion_negative_index_vector, (int *)(&horizontal_inversion_negative_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not write horizontal_inversion_negative_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
// Write config file section: waveform_toroidal
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_positive\"",this->Name());
return False;
}
if(!cdb.WriteInt32(toroidal_1_p_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s toroidal_1_p_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: toroidal_1_p_vector_size = %d",toroidal_1_p_vector_size);
if(!cdb.WriteFloatArray(toroidal_1_p_index_vector, (int *)(&toroidal_1_p_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write toroidal_1_p_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
// !!!!! very important to have both toroidal waveforms equal (to remain the same with plasma direction change on the WaveformGAM) toroidal in absolute time
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_toroidal.waveform_mode_1_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(toroidal_1_p_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s toroidal_1_p_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: toroidal_1_p_vector_size = %d",toroidal_1_p_vector_size);
if(!cdb.WriteFloatArray(toroidal_1_p_index_vector, (int *)(&toroidal_1_p_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write toroidal_1_p_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
// Write config file section: waveform_puffing
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_positive\"",this->Name());
return False;
}
if(!cdb.WriteInt32(puffing_1_p_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_1_p_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_1_p_vector_size = %d",puffing_1_p_vector_size);
if(!cdb.WriteFloatArray(puffing_1_p_index_vector, (int *)(&puffing_1_p_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write puffing_1_p_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_1_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(puffing_1_n_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_1_n_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_1_n_vector_size = %d",puffing_1_n_vector_size);
if(!cdb.WriteFloatArray(puffing_1_n_index_vector, (int *)(&puffing_1_n_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write puffing_1_n_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_positive\"",this->Name());
return False;
}
if(!cdb.WriteInt32(puffing_2_p_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_2_p_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_2_p_vector_size = %d",puffing_2_p_vector_size);
if(!cdb.WriteFloatArray(puffing_2_p_index_vector, (int *)(&puffing_2_p_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write puffing_2_p_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_mode_2_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(puffing_2_n_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_2_n_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_2_n_vector_size = %d",puffing_2_n_vector_size);
if(!cdb.WriteFloatArray(puffing_2_n_index_vector, (int *)(&puffing_2_n_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write puffing_2_n_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_breakdown"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_breakdown\"",this->Name());
return False;
}
if(!cdb.WriteInt32(puffing_absolute_time_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_absolute_time_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_absolute_time_vector_size = %d",puffing_absolute_time_vector_size);
if(!cdb.WriteFloatArray(puffing_absolute_time_index_vector, (int *)(&puffing_absolute_time_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write puffing_absolute_time_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
// !!!!! very important to have both puffing breakdown waveforms equal (to remain the same with plasma direction change on the WaveformGAM) puffing in absolute time
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.waveform_breakdown_negative"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.waveform_breakdown_negative\"",this->Name());
return False;
}
if(!cdb.WriteInt32(puffing_absolute_time_vector_size, "vector_size"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s puffing_absolute_time_vector_size",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_absolute_time_vector_size = %d",puffing_absolute_time_vector_size);
if(!cdb.WriteFloatArray(puffing_absolute_time_index_vector, (int *)(&puffing_absolute_time_vector_size), 1, "index_vector"))
{
CStaticAssertErrorCondition(InitialisationError,"WriteWaveformFiles: Could not Write puffing_absolute_time_index_vector");
return False;
}
else for(i=0;iMoveToRoot();
if(!cdb->Move("+MARTe.+RealTimeThread.+waveform_puffing.input_signals.input_time"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+waveform_puffing.input_signals.input_time\"",this->Name());
return False;
}
FString puffing_time_setting_to_write; // !!!!! use only usecTime or usecDischargeTime in this var, everything else implies a segmentation fault
if (puffing_mode == 3) puffing_time_setting_to_write.Printf("usecTime");
else puffing_time_setting_to_write.Printf("usecDischargeTime");
if(!cdb.WriteFString(puffing_time_setting_to_write, "SignalName"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::WriteConfigurationFile: %s Could not puffing_time_setting_to_write",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: puffing_time_setting_to_write = %s",puffing_time_setting_to_write.Buffer());
cdb->MoveToRoot();
// write config file section: PSCommunicator_vertical
if(!cdb->Move("+MARTe.+RealTimeThread.+PSCommunicator_vertical"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+PSCommunicator_vertical\"",this->Name());
return False;
}
if(!cdb.WriteFString(verticalPS_UARTPortAddress, "UARTPortAddress"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::WriteConfigurationFile: %s Could not verticalPS_UARTPortAddress",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: verticalPS_UARTPortAddress = %s",verticalPS_UARTPortAddress.Buffer());
if(!cdb.WriteFloat(verticalPS_PointOfZeroCurrent, "PointOfZeroCurrent"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s verticalPS_PointOfZeroCurrent",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: verticalPS_PointOfZeroCurrent = %f",verticalPS_PointOfZeroCurrent);
if(!cdb.WriteFloat(verticalPS_CurrentStep, "CurrentStep"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s verticalPS_CurrentStep",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: verticalPS_CurrentStep = %f",verticalPS_CurrentStep);
cdb->MoveToRoot();
// write config file section: PSCommunicator_horizontal
if(!cdb->Move("+MARTe.+RealTimeThread.+PSCommunicator_horizontal"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+PSCommunicator_horizontal\"",this->Name());
return False;
}
if(!cdb.WriteFString(horizontalPS_UARTPortAddress, "UARTPortAddress"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not horizontalPS_UARTPortAddress",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontalPS_UARTPortAddress = %s",horizontalPS_UARTPortAddress.Buffer());
if(!cdb.WriteFloat(horizontalPS_PointOfZeroCurrent, "PointOfZeroCurrent"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontalPS_PointOfZeroCurrent",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontalPS_PointOfZeroCurrent = %f",horizontalPS_PointOfZeroCurrent);
if(!cdb.WriteFloat(horizontalPS_CurrentStep, "CurrentStep"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s horizontalPS_CurrentStep",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: horizontalPS_CurrentStep = %f",horizontalPS_CurrentStep);
cdb->MoveToRoot();
// write config file section: PSCommunicator_primary
if(!cdb->Move("+MARTe.+RealTimeThread.+PSCommunicator_primary"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s Could not move to \"+MARTe.+RealTimeThread.+PSCommunicator_primary\"",this->Name());
return False;
}
if(!cdb.WriteFString(primaryPS_UARTPortAddress, "UARTPortAddress"))
{
CStaticAssertErrorCondition(InitialisationError,"WaveformsDisplay::ObjectLoadSetup: %s Could not primaryPS_UARTPortAddress",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primaryPS_UARTPortAddress = %s",primaryPS_UARTPortAddress.Buffer());
if(!cdb.WriteFloat(primaryPS_PointOfZeroCurrent, "PointOfZeroCurrent"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primaryPS_PointOfZeroCurrent",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primaryPS_PointOfZeroCurrent = %f",primaryPS_PointOfZeroCurrent);
if(!cdb.WriteFloat(primaryPS_CurrentStep, "CurrentStep"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::WriteConfigurationFile: %s primaryPS_CurrentStep",this->Name());
return False;
}
else CStaticAssertErrorCondition(Information,"AdvancedConfigurator::WriteConfigurationFile: primaryPS_CurrentStep = %f",primaryPS_CurrentStep);
cdb->MoveToRoot();
// Move to the AdvancedConfiguration
if(!cdb->Move("+AdvancedConfiguration"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not move to \"+AdvancedConfiguration.graphics\"",this->Name());
return False;
}
if(!cdb.WriteFString(Description, "Description"))
{
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::ObjectLoadSetup: %s Could not Write Description",this->Name());
return False;
}
cdb->MoveToRoot();
FileEraseFile((char *)TargetFilePath);
File configOut;
if(!configOut.OpenWrite((char *)TargetFilePath)){
printf("AdvancedConfigurator:: Failed open write file %s\n", TargetFilePath);
return 0;
}
//Write cdb to string. Tu vais utilizar esta versao (nao vais guardar num ficheiro, claro). Isto e' o que vai depois ser enviado ao MARTe
// FString cdbString;
cdb->WriteToStream(cdbString);
cdbString.Seek(0);
//Write to file...
cdb->WriteToStream(configOut);
configOut.Close();
return True;
}
bool AdvancedConfigurator::DualVectorSort(int vector_dim, float * vector_x, float * vector_y){
if(vector_dim <1){
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::DualVectorSort, vector_dim lower than 1, vector_dim =%d",vector_dim);
return False;
}
if(vector_dim == 1) return True;
int i;
int alfa;
float temp;
float min = *vector_x;
int pos;
for(alfa=0;alfa temp_max_value) point_to_add_y = temp_max_value;
if (point_to_add_y < temp_min_value) point_to_add_y = temp_min_value;
temp_vector_x[vector_dim_temp] = point_to_add_x;
temp_vector_y[vector_dim_temp] = point_to_add_y;
vector_dim_temp++;
DualVectorSort(vector_dim_temp, &temp_vector_x[0], &temp_vector_y[0]);
RemoveRepeatedValues(&vector_dim_temp, &temp_vector_x[0], &temp_vector_y[0]);
if(!RetrieveFromTemp(option)) return False;
return True;
}
bool AdvancedConfigurator::MoveToTemp(int option){
int i;
if (option ==0){ //primary_breakdown
vector_dim_temp = primary_breakdown_vector_size;
temp_vector_x = new float[primary_breakdown_vector_size];
temp_vector_y = new float[primary_breakdown_vector_size];
for (i=0;i< primary_breakdown_vector_size; i++){
temp_vector_x[i] = primary_breakdown_index_vector[i];
temp_vector_y[i] = primary_breakdown_data_vector[i];
}
}
else if (option ==1){ //vertical_breakdown
vector_dim_temp = vertical_breakdown_vector_size;
temp_vector_x = new float[vertical_breakdown_vector_size];
temp_vector_y = new float[vertical_breakdown_vector_size];
for (i=0;i< vertical_breakdown_vector_size; i++){
temp_vector_x[i] = vertical_breakdown_index_vector[i];
temp_vector_y[i] = vertical_breakdown_data_vector[i];
}
}
else if (option ==2){ //horizontal_breakdown
vector_dim_temp = horizontal_breakdown_vector_size;
temp_vector_x = new float[horizontal_breakdown_vector_size];
temp_vector_y = new float[horizontal_breakdown_vector_size];
for (i=0;i< horizontal_breakdown_vector_size; i++){
temp_vector_x[i] = horizontal_breakdown_index_vector[i];
temp_vector_y[i] = horizontal_breakdown_data_vector[i];
}
}
else if (option ==3){ //primary_breakdown
vector_dim_temp = primary_breakdown_negative_vector_size;
temp_vector_x = new float[primary_breakdown_negative_vector_size];
temp_vector_y = new float[primary_breakdown_negative_vector_size];
for (i=0;i< primary_breakdown_negative_vector_size; i++){
temp_vector_x[i] = primary_breakdown_negative_index_vector[i];
temp_vector_y[i] = primary_breakdown_negative_data_vector[i];
}
}
else if (option ==4){ //vertical_breakdown
vector_dim_temp = vertical_breakdown_negative_vector_size;
temp_vector_x = new float[vertical_breakdown_negative_vector_size];
temp_vector_y = new float[vertical_breakdown_negative_vector_size];
for (i=0;i< vertical_breakdown_negative_vector_size; i++){
temp_vector_x[i] = vertical_breakdown_negative_index_vector[i];
temp_vector_y[i] = vertical_breakdown_negative_data_vector[i];
}
}
else if (option ==5){ //horizontal_breakdown
vector_dim_temp = horizontal_breakdown_negative_vector_size;
temp_vector_x = new float[horizontal_breakdown_negative_vector_size];
temp_vector_y = new float[horizontal_breakdown_negative_vector_size];
for (i=0;i< horizontal_breakdown_negative_vector_size; i++){
temp_vector_x[i] = horizontal_breakdown_negative_index_vector[i];
temp_vector_y[i] = horizontal_breakdown_negative_data_vector[i];
}
}
else if (option ==6){ //primary_inversion
vector_dim_temp = primary_inversion_positive_vector_size;
temp_vector_x = new float[primary_inversion_positive_vector_size];
temp_vector_y = new float[primary_inversion_positive_vector_size];
for (i=0;i< primary_inversion_positive_vector_size; i++){
temp_vector_x[i] = primary_inversion_positive_index_vector[i];
temp_vector_y[i] = primary_inversion_positive_data_vector[i];
}
}
else if (option ==7){ //vertical_inversion
vector_dim_temp = vertical_inversion_positive_vector_size;
temp_vector_x = new float[vertical_inversion_positive_vector_size];
temp_vector_y = new float[vertical_inversion_positive_vector_size];
for (i=0;i< vertical_inversion_positive_vector_size; i++){
temp_vector_x[i] = vertical_inversion_positive_index_vector[i];
temp_vector_y[i] = vertical_inversion_positive_data_vector[i];
}
}
else if (option ==8){ //horizontal_inversion
vector_dim_temp = horizontal_inversion_positive_vector_size;
temp_vector_x = new float[horizontal_inversion_positive_vector_size];
temp_vector_y = new float[horizontal_inversion_positive_vector_size];
for (i=0;i< horizontal_inversion_positive_vector_size; i++){
temp_vector_x[i] = horizontal_inversion_positive_index_vector[i];
temp_vector_y[i] = horizontal_inversion_positive_data_vector[i];
}
}
else if (option ==9){ //primary_inversion
vector_dim_temp = primary_inversion_negative_vector_size;
temp_vector_x = new float[primary_inversion_negative_vector_size];
temp_vector_y = new float[primary_inversion_negative_vector_size];
for (i=0;i< primary_inversion_negative_vector_size; i++){
temp_vector_x[i] = primary_inversion_negative_index_vector[i];
temp_vector_y[i] = primary_inversion_negative_data_vector[i];
}
}
else if (option ==10){ //vertical_inversion
vector_dim_temp = vertical_inversion_negative_vector_size;
temp_vector_x = new float[vertical_inversion_negative_vector_size];
temp_vector_y = new float[vertical_inversion_negative_vector_size];
for (i=0;i< vertical_inversion_negative_vector_size; i++){
temp_vector_x[i] = vertical_inversion_negative_index_vector[i];
temp_vector_y[i] = vertical_inversion_negative_data_vector[i];
}
}
else if (option ==11){ //horizontal_inversion
vector_dim_temp = horizontal_inversion_negative_vector_size;
temp_vector_x = new float[horizontal_inversion_negative_vector_size];
temp_vector_y = new float[horizontal_inversion_negative_vector_size];
for (i=0;i< horizontal_inversion_negative_vector_size; i++){
temp_vector_x[i] = horizontal_inversion_negative_index_vector[i];
temp_vector_y[i] = horizontal_inversion_negative_data_vector[i];
}
}
else if (option ==12){ //toroidal
vector_dim_temp = toroidal_1_p_vector_size;
temp_vector_x = new float[toroidal_1_p_vector_size];
temp_vector_y = new float[toroidal_1_p_vector_size];
for (i=0;i< toroidal_1_p_vector_size; i++){
temp_vector_x[i] = toroidal_1_p_index_vector[i];
temp_vector_y[i] = toroidal_1_p_data_vector[i];
}
}
else if (option ==13){ //puffing_1_p
vector_dim_temp = puffing_1_p_vector_size;
temp_vector_x = new float[puffing_1_p_vector_size];
temp_vector_y = new float[puffing_1_p_vector_size];
for (i=0;i< puffing_1_p_vector_size; i++){
temp_vector_x[i] = puffing_1_p_index_vector[i];
temp_vector_y[i] = puffing_1_p_data_vector[i];
}
}
else if (option ==14){ //puffing_1_n
vector_dim_temp = puffing_1_n_vector_size;
temp_vector_x = new float[puffing_1_n_vector_size];
temp_vector_y = new float[puffing_1_n_vector_size];
for (i=0;i< puffing_1_n_vector_size; i++){
temp_vector_x[i] = puffing_1_n_index_vector[i];
temp_vector_y[i] = puffing_1_n_data_vector[i];
}
}
else if (option ==15){ //puffing_2_p
vector_dim_temp = puffing_2_p_vector_size;
temp_vector_x = new float[puffing_2_p_vector_size];
temp_vector_y = new float[puffing_2_p_vector_size];
for (i=0;i< puffing_2_p_vector_size; i++){
temp_vector_x[i] = puffing_2_p_index_vector[i];
temp_vector_y[i] = puffing_2_p_data_vector[i];
}
}
else if (option ==16){ //puffing_2_n
vector_dim_temp = puffing_2_n_vector_size;
temp_vector_x = new float[puffing_2_n_vector_size];
temp_vector_y = new float[puffing_2_n_vector_size];
for (i=0;i< puffing_2_n_vector_size; i++){
temp_vector_x[i] = puffing_2_n_index_vector[i];
temp_vector_y[i] = puffing_2_n_data_vector[i];
}
}
else if (option ==17){ //puffing_absolute
vector_dim_temp = puffing_absolute_time_vector_size;
temp_vector_x = new float[puffing_absolute_time_vector_size];
temp_vector_y = new float[puffing_absolute_time_vector_size];
for (i=0;i< puffing_absolute_time_vector_size; i++){
temp_vector_x[i] = puffing_absolute_time_index_vector[i];
temp_vector_y[i] = puffing_absolute_time_data_vector[i];
}
}
else {
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::MoveToTemp, option out of bounds, option =%d",option);
return False;
}
return True;
}
bool AdvancedConfigurator::MoveToTempWithLimits(int option){
int i;
if (option ==0){ //primary_breakdown
vector_dim_temp = primary_breakdown_vector_size;
temp_max_value = primary_1_p_max_value;
temp_min_value = primary_1_p_min_value;
temp_vector_x = new float[primary_breakdown_vector_size+1];
temp_vector_y = new float[primary_breakdown_vector_size+1];
for (i=0;i< primary_breakdown_vector_size; i++){
temp_vector_x[i] = primary_breakdown_index_vector[i];
temp_vector_y[i] = primary_breakdown_data_vector[i];
}
}
else if (option ==1){ //vertical_breakdown
vector_dim_temp = vertical_breakdown_vector_size;
temp_max_value = vertical_1_p_max_value;
temp_min_value = vertical_1_p_min_value;
temp_vector_x = new float[vertical_breakdown_vector_size+1];
temp_vector_y = new float[vertical_breakdown_vector_size+1];
for (i=0;i< vertical_breakdown_vector_size; i++){
temp_vector_x[i] = vertical_breakdown_index_vector[i];
temp_vector_y[i] = vertical_breakdown_data_vector[i];
}
}
else if (option ==2){ //horizontal_breakdown
vector_dim_temp = horizontal_breakdown_vector_size;
temp_max_value = horizontal_1_p_max_value;
temp_min_value = horizontal_1_p_min_value;
temp_vector_x = new float[horizontal_breakdown_vector_size+1];
temp_vector_y = new float[horizontal_breakdown_vector_size+1];
for (i=0;i< horizontal_breakdown_vector_size; i++){
temp_vector_x[i] = horizontal_breakdown_index_vector[i];
temp_vector_y[i] = horizontal_breakdown_data_vector[i];
}
}
else if (option ==3){ //primary_breakdown
vector_dim_temp = primary_breakdown_negative_vector_size;
temp_max_value = primary_1_p_max_value;
temp_min_value = primary_1_p_min_value;
temp_vector_x = new float[primary_breakdown_negative_vector_size+1];
temp_vector_y = new float[primary_breakdown_negative_vector_size+1];
for (i=0;i< primary_breakdown_negative_vector_size; i++){
temp_vector_x[i] = primary_breakdown_negative_index_vector[i];
temp_vector_y[i] = primary_breakdown_negative_data_vector[i];
}
}
else if (option ==4){ //vertical_breakdown
vector_dim_temp = vertical_breakdown_negative_vector_size;
temp_max_value = vertical_1_p_max_value;
temp_min_value = vertical_1_p_min_value;
temp_vector_x = new float[vertical_breakdown_negative_vector_size+1];
temp_vector_y = new float[vertical_breakdown_negative_vector_size+1];
for (i=0;i< vertical_breakdown_negative_vector_size; i++){
temp_vector_x[i] = vertical_breakdown_negative_index_vector[i];
temp_vector_y[i] = vertical_breakdown_negative_data_vector[i];
}
}
else if (option ==5){ //horizontal_breakdown
vector_dim_temp = horizontal_breakdown_negative_vector_size;
temp_max_value = horizontal_1_p_max_value;
temp_min_value = horizontal_1_p_min_value;
temp_vector_x = new float[horizontal_breakdown_negative_vector_size+1];
temp_vector_y = new float[horizontal_breakdown_negative_vector_size+1];
for (i=0;i< horizontal_breakdown_negative_vector_size; i++){
temp_vector_x[i] = horizontal_breakdown_negative_index_vector[i];
temp_vector_y[i] = horizontal_breakdown_negative_data_vector[i];
}
}
else if (option ==6){ //primary_inversion
vector_dim_temp = primary_inversion_positive_vector_size;
temp_max_value = primary_1_p_max_value;
temp_min_value = primary_1_p_min_value;
temp_vector_x = new float[primary_inversion_positive_vector_size+1];
temp_vector_y = new float[primary_inversion_positive_vector_size+1];
for (i=0;i< primary_inversion_positive_vector_size; i++){
temp_vector_x[i] = primary_inversion_positive_index_vector[i];
temp_vector_y[i] = primary_inversion_positive_data_vector[i];
}
}
else if (option ==7){ //vertical_inversion
vector_dim_temp = vertical_inversion_positive_vector_size;
temp_max_value = vertical_1_p_max_value;
temp_min_value = vertical_1_p_min_value;
temp_vector_x = new float[vertical_inversion_positive_vector_size+1];
temp_vector_y = new float[vertical_inversion_positive_vector_size+1];
for (i=0;i< vertical_inversion_positive_vector_size; i++){
temp_vector_x[i] = vertical_inversion_positive_index_vector[i];
temp_vector_y[i] = vertical_inversion_positive_data_vector[i];
}
}
else if (option ==8){ //horizontal_inversion
vector_dim_temp = horizontal_inversion_positive_vector_size;
temp_max_value = horizontal_1_p_max_value;
temp_min_value = horizontal_1_p_min_value;
temp_vector_x = new float[horizontal_inversion_positive_vector_size+1];
temp_vector_y = new float[horizontal_inversion_positive_vector_size+1];
for (i=0;i< horizontal_inversion_positive_vector_size; i++){
temp_vector_x[i] = horizontal_inversion_positive_index_vector[i];
temp_vector_y[i] = horizontal_inversion_positive_data_vector[i];
}
}
else if (option ==9){ //primary_inversion
vector_dim_temp = primary_inversion_negative_vector_size;
temp_max_value = primary_1_p_max_value;
temp_min_value = primary_1_p_min_value;
temp_vector_x = new float[primary_inversion_negative_vector_size+1];
temp_vector_y = new float[primary_inversion_negative_vector_size+1];
for (i=0;i< primary_inversion_negative_vector_size; i++){
temp_vector_x[i] = primary_inversion_negative_index_vector[i];
temp_vector_y[i] = primary_inversion_negative_data_vector[i];
}
}
else if (option ==10){ //vertical_inversion
vector_dim_temp = vertical_inversion_negative_vector_size;
temp_max_value = vertical_1_p_max_value;
temp_min_value = vertical_1_p_min_value;
temp_vector_x = new float[vertical_inversion_negative_vector_size+1];
temp_vector_y = new float[vertical_inversion_negative_vector_size+1];
for (i=0;i< vertical_inversion_negative_vector_size; i++){
temp_vector_x[i] = vertical_inversion_negative_index_vector[i];
temp_vector_y[i] = vertical_inversion_negative_data_vector[i];
}
}
else if (option ==11){ //horizontal_inversion
vector_dim_temp = horizontal_inversion_negative_vector_size;
temp_max_value = horizontal_1_p_max_value;
temp_min_value = horizontal_1_p_min_value;
temp_vector_x = new float[horizontal_inversion_negative_vector_size+1];
temp_vector_y = new float[horizontal_inversion_negative_vector_size+1];
for (i=0;i< horizontal_inversion_negative_vector_size; i++){
temp_vector_x[i] = horizontal_inversion_negative_index_vector[i];
temp_vector_y[i] = horizontal_inversion_negative_data_vector[i];
}
}
else if (option ==12){ //toroidal
vector_dim_temp = toroidal_1_p_vector_size;
temp_max_value = toroidal_1_p_max_value;
temp_min_value = toroidal_1_p_min_value;
temp_vector_x = new float[toroidal_1_p_vector_size+1];
temp_vector_y = new float[toroidal_1_p_vector_size+1];
for (i=0;i< toroidal_1_p_vector_size; i++){
temp_vector_x[i] = toroidal_1_p_index_vector[i];
temp_vector_y[i] = toroidal_1_p_data_vector[i];
}
}
else if (option ==13){ //puffing_1_p
vector_dim_temp = puffing_1_p_vector_size;
temp_max_value = puffing_1_p_max_value;
temp_min_value = puffing_1_p_min_value;
temp_vector_x = new float[puffing_1_p_vector_size+1];
temp_vector_y = new float[puffing_1_p_vector_size+1];
for (i=0;i < puffing_1_p_vector_size; i++){
temp_vector_x[i] = puffing_1_p_index_vector[i];
temp_vector_y[i] = puffing_1_p_data_vector[i];
}
}
else if (option ==14){ //puffing_1_n
vector_dim_temp = puffing_1_n_vector_size;
temp_max_value = puffing_1_p_max_value;
temp_min_value = puffing_1_p_min_value;
temp_vector_x = new float[puffing_1_n_vector_size+1];
temp_vector_y = new float[puffing_1_n_vector_size+1];
for (i=0;i< puffing_1_n_vector_size; i++){
temp_vector_x[i] = puffing_1_n_index_vector[i];
temp_vector_y[i] = puffing_1_n_data_vector[i];
}
}
else if (option ==15){ //puffing_2_p
vector_dim_temp = puffing_2_p_vector_size;
temp_max_value = puffing_2_p_max_value;
temp_min_value = puffing_2_p_min_value;
temp_vector_x = new float[puffing_2_p_vector_size+1];
temp_vector_y = new float[puffing_2_p_vector_size+1];
for (i=0;i < puffing_2_p_vector_size; i++){
temp_vector_x[i] = puffing_2_p_index_vector[i];
temp_vector_y[i] = puffing_2_p_data_vector[i];
}
}
else if (option ==16){ //puffing_2_n
vector_dim_temp = puffing_2_n_vector_size;
temp_max_value = puffing_2_p_max_value;
temp_min_value = puffing_2_p_min_value;
temp_vector_x = new float[puffing_2_n_vector_size+1];
temp_vector_y = new float[puffing_2_n_vector_size+1];
for (i=0;i< puffing_2_n_vector_size; i++){
temp_vector_x[i] = puffing_2_n_index_vector[i];
temp_vector_y[i] = puffing_2_n_data_vector[i];
}
}
else if (option ==17){ //puffing_absolute
vector_dim_temp = puffing_absolute_time_vector_size;
temp_max_value = puffing_1_p_max_value;
temp_min_value = puffing_1_p_min_value;
temp_vector_x = new float[puffing_absolute_time_vector_size+1];
temp_vector_y = new float[puffing_absolute_time_vector_size+1];
for (i=0;i< puffing_absolute_time_vector_size; i++){
temp_vector_x[i] = puffing_absolute_time_index_vector[i];
temp_vector_y[i] = puffing_absolute_time_data_vector[i];
}
}
else {
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::MoveToTemp, option out of bounds, option =%d",option);
return False;
}
return True;
}
bool AdvancedConfigurator::RetrieveFromTemp(int option){
int i;
if (option ==0){ //primary_1_p
primary_breakdown_vector_size = vector_dim_temp;
primary_breakdown_index_vector = new float[vector_dim_temp];
primary_breakdown_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
primary_breakdown_index_vector[i] = temp_vector_x[i];
primary_breakdown_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==1){ //vertical_1_p
vertical_breakdown_vector_size = vector_dim_temp;
vertical_breakdown_index_vector = new float[vector_dim_temp];
vertical_breakdown_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
vertical_breakdown_index_vector[i] = temp_vector_x[i];
vertical_breakdown_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==2){ //horizontal_1_p
horizontal_breakdown_vector_size = vector_dim_temp;
horizontal_breakdown_index_vector = new float[vector_dim_temp];
horizontal_breakdown_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
horizontal_breakdown_index_vector[i] = temp_vector_x[i];
horizontal_breakdown_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==3){ //primary_1_n
primary_breakdown_negative_vector_size = vector_dim_temp;
primary_breakdown_negative_index_vector = new float[vector_dim_temp];
primary_breakdown_negative_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
primary_breakdown_negative_index_vector[i] = temp_vector_x[i];
primary_breakdown_negative_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==4){ //vertical_1_n
vertical_breakdown_negative_vector_size = vector_dim_temp;
vertical_breakdown_negative_index_vector = new float[vector_dim_temp];
vertical_breakdown_negative_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
vertical_breakdown_negative_index_vector[i] = temp_vector_x[i];
vertical_breakdown_negative_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==5){ //horizontal_1_n
horizontal_breakdown_negative_vector_size = vector_dim_temp;
horizontal_breakdown_negative_index_vector = new float[vector_dim_temp];
horizontal_breakdown_negative_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
horizontal_breakdown_negative_index_vector[i] = temp_vector_x[i];
horizontal_breakdown_negative_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==6){ //primary_2_p
primary_inversion_positive_vector_size = vector_dim_temp;
primary_inversion_positive_index_vector = new float[vector_dim_temp];
primary_inversion_positive_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
primary_inversion_positive_index_vector[i] = temp_vector_x[i];
primary_inversion_positive_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==7){ //vertical_2_p
vertical_inversion_positive_vector_size = vector_dim_temp;
vertical_inversion_positive_index_vector = new float[vector_dim_temp];
vertical_inversion_positive_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
vertical_inversion_positive_index_vector[i] = temp_vector_x[i];
vertical_inversion_positive_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==8){ //horizontal_2_p
horizontal_inversion_positive_vector_size = vector_dim_temp;
horizontal_inversion_positive_index_vector = new float[vector_dim_temp];
horizontal_inversion_positive_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
horizontal_inversion_positive_index_vector[i] = temp_vector_x[i];
horizontal_inversion_positive_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==9){ //primary_2_n
primary_inversion_negative_vector_size = vector_dim_temp;
primary_inversion_negative_index_vector = new float[vector_dim_temp];
primary_inversion_negative_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
primary_inversion_negative_index_vector[i] = temp_vector_x[i];
primary_inversion_negative_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==10){ //vertical_2_n
vertical_inversion_negative_vector_size = vector_dim_temp;
vertical_inversion_negative_index_vector = new float[vector_dim_temp];
vertical_inversion_negative_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
vertical_inversion_negative_index_vector[i] = temp_vector_x[i];
vertical_inversion_negative_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==11){ //horizontal_2_n
horizontal_inversion_negative_vector_size = vector_dim_temp;
horizontal_inversion_negative_index_vector = new float[vector_dim_temp];
horizontal_inversion_negative_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
horizontal_inversion_negative_index_vector[i] = temp_vector_x[i];
horizontal_inversion_negative_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==12){ //toroidal
toroidal_1_p_vector_size = vector_dim_temp;
toroidal_1_p_index_vector = new float[vector_dim_temp];
toroidal_1_p_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
toroidal_1_p_index_vector[i] = temp_vector_x[i];
toroidal_1_p_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==13){ //puffing_1_p
puffing_1_p_vector_size = vector_dim_temp;
puffing_1_p_index_vector = new float[vector_dim_temp];
puffing_1_p_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
puffing_1_p_index_vector[i] = temp_vector_x[i];
puffing_1_p_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==14){ //puffing_1_n
puffing_1_n_vector_size = vector_dim_temp;
puffing_1_n_index_vector = new float[vector_dim_temp];
puffing_1_n_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
puffing_1_n_index_vector[i] = temp_vector_x[i];
puffing_1_n_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==15){ //puffing_2_p
puffing_2_p_vector_size = vector_dim_temp;
puffing_2_p_index_vector = new float[vector_dim_temp];
puffing_2_p_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
puffing_2_p_index_vector[i] = temp_vector_x[i];
puffing_2_p_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==16){ //puffing_2_n
puffing_2_n_vector_size = vector_dim_temp;
puffing_2_n_index_vector = new float[vector_dim_temp];
puffing_2_n_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
puffing_2_n_index_vector[i] = temp_vector_x[i];
puffing_2_n_data_vector[i] = temp_vector_y[i];
}
}
else if (option ==17){ //puffing_absolute_time
puffing_absolute_time_vector_size = vector_dim_temp;
puffing_absolute_time_index_vector = new float[vector_dim_temp];
puffing_absolute_time_data_vector = new float[vector_dim_temp];
for (i=0;i< vector_dim_temp; i++){
puffing_absolute_time_index_vector[i] = temp_vector_x[i];
puffing_absolute_time_data_vector[i] = temp_vector_y[i];
}
}
else {
CStaticAssertErrorCondition(InitialisationError,"AdvancedConfigurator::RemovePoint, option out of bounds, option =%d",option);
return False;
}
return True;
}