Commit 3d24aeb120829236b6ab1f46bad41d135765d88d

Authored by Steve Greedy
1 parent 4b3c72cf

Modification to system calls

Add wxEXEC_SYNC to account for machine dependent delays in writing run_status
GUI/SW1/SRC/BUNDLEBLDR.cpp
@@ -423,7 +423,6 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path) @@ -423,7 +423,6 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path)
423 "*.cable_spec", 0, 423 "*.cable_spec", 0,
424 _T("Directory Listing")); 424 _T("Directory Listing"));
425 425
426 - // JIB  
427 Connect(tree->GetTreeCtrl()->GetId(),wxEVT_COMMAND_TREE_ITEM_ACTIVATED, (wxObjectEventFunction) (wxEventFunction)(wxCommandEventFunction) &BUNDLEBLDR::OnTreeSelectionChanged); 426 Connect(tree->GetTreeCtrl()->GetId(),wxEVT_COMMAND_TREE_ITEM_ACTIVATED, (wxObjectEventFunction) (wxEventFunction)(wxCommandEventFunction) &BUNDLEBLDR::OnTreeSelectionChanged);
428 427
429 428
@@ -559,6 +558,8 @@ void BUNDLEBLDR::FormatPanel(double maxDimension) @@ -559,6 +558,8 @@ void BUNDLEBLDR::FormatPanel(double maxDimension)
559 558
560 void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxString rot) 559 void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxString rot)
561 { 560 {
  561 + wxString separator(wxFileName::GetPathSeparator());
  562 +
562 double xCoord, yCoord, rotation, maxDimension; 563 double xCoord, yCoord, rotation, maxDimension;
563 564
564 x.ToDouble(&xCoord); 565 x.ToDouble(&xCoord);
@@ -573,7 +574,7 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -573,7 +574,7 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
573 wxClientDC dc(Panel1); 574 wxClientDC dc(Panel1);
574 575
575 std::stringstream stream; 576 std::stringstream stream;
576 - stream <<PathToMOD <<"\\CABLE\\"<<cable; 577 + stream << PathToMOD << separator << "CABLE"<< separator << cable;
577 578
578 cable = (stream.str().c_str()); 579 cable = (stream.str().c_str());
579 580
@@ -587,28 +588,11 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -587,28 +588,11 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
587 std::getline(cableFile, str); 588 std::getline(cableFile, str);
588 589
589 float scaleFactor = (size_h/2 * 1.0); 590 float scaleFactor = (size_h/2 * 1.0);
590 - //float maxHdimension;  
591 - //float maxVdimension;  
592 - //float maxDimension;  
593 -  
594 - //maxDimension = 0.015; //metres  
595 591
596 wxString maxXY = TextCtrl8->GetValue(); 592 wxString maxXY = TextCtrl8->GetValue();
597 593
598 maxXY.ToDouble(&maxDimension); 594 maxXY.ToDouble(&maxDimension);
599 595
600 -// wxString scale;  
601 -// scale << maxDimension/2.0;  
602 -  
603 -// dc.SetTextForeground(*wxBLUE);  
604 -//  
605 -// dc.DrawLine( size_h/2, size_v-50, size_h-size_h/4, size_v-50 );  
606 -// dc.DrawLine( size_h/2, size_v-50, size_h/2, size_v-40 );  
607 -// dc.DrawLine( size_h-size_h/4, size_v-50, size_h-size_h/4, size_v-40 );  
608 -//  
609 -// dc.DrawText("scale (m)", (size_h/2+50), size_v-70);  
610 -// dc.DrawText(scale, (size_h/2+55), size_v-40);  
611 -  
612 if (str.compare("Cylindrical") == 0 ){ 596 if (str.compare("Cylindrical") == 0 ){
613 597
614 std::getline(cableFile, str); 598 std::getline(cableFile, str);
@@ -654,8 +638,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -654,8 +638,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
654 638
655 float inner_conductor_Scaledradius, shield_Scaledradius, outer_Scaledinsulation, shield_Scaledthickness, scaledxCoord, scaledyCoord; 639 float inner_conductor_Scaledradius, shield_Scaledradius, outer_Scaledinsulation, shield_Scaledthickness, scaledxCoord, scaledyCoord;
656 640
657 - //scaleFactor = (size_h * 0.5);  
658 -  
659 outer_Scaledinsulation = (outer_insulation/maxDimension)*scaleFactor; 641 outer_Scaledinsulation = (outer_insulation/maxDimension)*scaleFactor;
660 shield_Scaledthickness = (shield_thickness/maxDimension)*scaleFactor; 642 shield_Scaledthickness = (shield_thickness/maxDimension)*scaleFactor;
661 shield_Scaledradius = (shield_radius/maxDimension)*scaleFactor; 643 shield_Scaledradius = (shield_radius/maxDimension)*scaleFactor;
@@ -1096,8 +1078,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -1096,8 +1078,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
1096 cableFile >> conductor_rows; 1078 cableFile >> conductor_rows;
1097 std::getline(cableFile, str); //Read to end of line 1079 std::getline(cableFile, str); //Read to end of line
1098 1080
1099 - //float scaleFactor = (size_h/dielectric_width) * 0.6;  
1100 -  
1101 float scaled_dielectric_width, scaled_dielectric_height, scaledxCoord, scaledyCoord; 1081 float scaled_dielectric_width, scaled_dielectric_height, scaledxCoord, scaledyCoord;
1102 1082
1103 float dx1,dy1,dx2,dy2,dx3,dy3,dx4,dy4, tempx, tempy, rotation_rad; 1083 float dx1,dy1,dx2,dy2,dx3,dy3,dx4,dy4, tempx, tempy, rotation_rad;
@@ -1113,14 +1093,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -1113,14 +1093,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
1113 float s = sin(rotation_rad); 1093 float s = sin(rotation_rad);
1114 float c = cos(rotation_rad); 1094 float c = cos(rotation_rad);
1115 1095
1116 -// wxString point;  
1117 -//  
1118 -// point<< tempx <<", "<<tempy;  
1119 -// wxMessageBox("P1" ,point );  
1120 -// point = "";  
1121 -  
1122 - //Draw dielectric  
1123 - //point 1  
1124 dx1 = -scaled_dielectric_width/2; 1096 dx1 = -scaled_dielectric_width/2;
1125 dy1 = scaled_dielectric_height/2; 1097 dy1 = scaled_dielectric_height/2;
1126 1098
@@ -1169,12 +1141,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -1169,12 +1141,6 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
1169 dc.DrawLine(dx3, dy3, dx4, dy4); 1141 dc.DrawLine(dx3, dy3, dx4, dy4);
1170 dc.DrawLine(dx4, dy4, dx1, dy1); 1142 dc.DrawLine(dx4, dy4, dx1, dy1);
1171 1143
1172 - //dc.DrawRectangle(wxPoint(size_h/2-scaled_dielectric_width/2, size_v/2-scaled_dielectric_height/2), wxSize(scaled_dielectric_width, scaled_dielectric_height));  
1173 -  
1174 - //dc.DrawLine(dx2, dy2, dx4, dy4);  
1175 -  
1176 - //dc.DrawRectangle(wxPoint(size_h/2-scaled_dielectric_width/2, size_v/2-scaled_dielectric_height/2), wxSize(scaled_dielectric_width, scaled_dielectric_height));  
1177 -  
1178 float offset_x, offset_y, width, height,separation, conductors; 1144 float offset_x, offset_y, width, height,separation, conductors;
1179 1145
1180 for (int i = 0; i < conductor_rows;i++){ 1146 for (int i = 0; i < conductor_rows;i++){
@@ -1258,83 +1224,12 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -1258,83 +1224,12 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
1258 dc.DrawLine(cx2, cy2, cx3, cy3); 1224 dc.DrawLine(cx2, cy2, cx3, cy3);
1259 dc.DrawLine(cx3, cy3, cx4, cy4); 1225 dc.DrawLine(cx3, cy3, cx4, cy4);
1260 dc.DrawLine(cx4, cy4, cx1, cy1); 1226 dc.DrawLine(cx4, cy4, cx1, cy1);
1261 -  
1262 - //dc.DrawRectangle(wxPoint(x_origin+(j*(scaled_conductor_width + scaled_conductor_separation + scaled_offset_x) ), y_origin), wxSize(scaled_conductor_width,scaled_conductor_height));  
1263 } 1227 }
1264 } 1228 }
1265 1229
1266 -  
1267 -  
1268 -  
1269 -  
1270 -  
1271 -  
1272 -  
1273 -  
1274 -// float conductors, conductor_width, conductor_height, conductor_separation, dielectric_offset_x, dielectric_offset_y;  
1275 -//  
1276 -// cableFile >> conductors;  
1277 -// std::getline(cableFile, str); //Read to end of line  
1278 -// std::getline(cableFile, str); //Read to end of line  
1279 -// cableFile >> conductor_width;  
1280 -// std::getline(cableFile, str); //Read to end of line  
1281 -// cableFile >> conductor_height;  
1282 -// std::getline(cableFile, str); //Read to end of line  
1283 -// cableFile >> conductor_separation;  
1284 -// std::getline(cableFile, str); //Read to end of line  
1285 -// cableFile >> dielectric_offset_x;  
1286 -// std::getline(cableFile, str); //Read to end of line  
1287 -// cableFile >> dielectric_offset_y;  
1288 -//  
1289 -//  
1290 -// float conductor_Scaledwidth,  
1291 -// conductor_Scaledheight,  
1292 -// conductor_Scaledseparation,  
1293 -// dielectric_Scaledoffset_x,  
1294 -// //dielectric_Scaledoffset_y,  
1295 -// totalScaledWidth,  
1296 -// totalScaledHeight,  
1297 -// scaledxCoord,  
1298 -// scaledyCoord;  
1299 -//  
1300 -//  
1301 -// float totalWidth = (conductors*conductor_width)+((conductors-1) * conductor_separation)+(dielectric_offset_x * 2);  
1302 -// float totalHeight = (2 * dielectric_offset_y) + conductor_height;  
1303 -//  
1304 -// conductor_Scaledwidth = (conductor_width/maxDimension)*scaleFactor;  
1305 -// conductor_Scaledheight = (conductor_height/maxDimension)*scaleFactor;  
1306 -// conductor_Scaledseparation = (conductor_separation/maxDimension)*scaleFactor;  
1307 -// dielectric_Scaledoffset_x = (dielectric_offset_x/maxDimension)*scaleFactor;  
1308 -// //dielectric_Scaledoffset_y = (dielectric_offset_y/maxDimension)*scaleFactor;  
1309 -// totalScaledHeight = (totalHeight/maxDimension)*scaleFactor;  
1310 -// totalScaledWidth = (totalWidth/maxDimension)*scaleFactor;  
1311 -// scaledxCoord = (xCoord/maxDimension)*scaleFactor;  
1312 -// scaledyCoord = (yCoord/maxDimension)*scaleFactor;  
1313 -//  
1314 -// size_h = size_h + scaledxCoord;  
1315 -// size_v = size_v + scaledyCoord;  
1316 -//  
1317 -// dc.SetPen( wxPen( wxColor(0,0,0),1 ) );  
1318 -// dc.SetBrush(wxBrush(*wxBLACK, wxBDIAGONAL_HATCH));  
1319 -// dc.DrawRectangle(wxPoint(size_h/2-totalScaledWidth/2, size_v/2-totalScaledHeight/2), wxSize(totalScaledWidth,totalScaledHeight));  
1320 -//  
1321 -// float x_origin, y_origin;  
1322 -// x_origin = (size_h/2 - totalScaledWidth/2)+dielectric_Scaledoffset_x;  
1323 -// y_origin = size_v/2 - conductor_Scaledheight/2;  
1324 -//  
1325 -// dc.SetPen( wxPen( wxColor(0,0,0),1 ) );  
1326 -// dc.SetBrush(wxBrush(*wxBLACK, wxSOLID));  
1327 -//  
1328 -// for(int i=0;i<conductors;i++){  
1329 -//  
1330 -// dc.DrawRectangle(wxPoint(x_origin, y_origin), wxSize(conductor_Scaledwidth,conductor_Scaledheight));  
1331 -//  
1332 -// x_origin = x_origin + (conductor_Scaledwidth+conductor_Scaledseparation);  
1333 -// }  
1334 -  
1335 } 1230 }
1336 1231
1337 - if (str.compare("Dconnector") == 0 ){ 1232 + if (str.compare("Dconnector") == 0 ){
1338 1233
1339 float conductors, conductor_radius, conductor_pitch, conductor_separation, shell_offset; 1234 float conductors, conductor_radius, conductor_pitch, conductor_separation, shell_offset;
1340 1235
@@ -1365,8 +1260,7 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin @@ -1365,8 +1260,7 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin
1365 conductor_Scaledradius = (conductor_radius/maxDimension)*scaleFactor; 1260 conductor_Scaledradius = (conductor_radius/maxDimension)*scaleFactor;
1366 conductor_Scaledpitch = (conductor_pitch/maxDimension)*scaleFactor; 1261 conductor_Scaledpitch = (conductor_pitch/maxDimension)*scaleFactor;
1367 conductor_Scaledseparation = (conductor_separation/maxDimension)*scaleFactor; 1262 conductor_Scaledseparation = (conductor_separation/maxDimension)*scaleFactor;
1368 - //shell_Scaledoffset = (shell_offset/maxDimension)*scaleFactor;  
1369 - //total_Scaledwidth = (totalWidth/maxDimension)*scaleFactor; 1263 +
1370 scaledxCoord = (xCoord/maxDimension)*scaleFactor; 1264 scaledxCoord = (xCoord/maxDimension)*scaleFactor;
1371 scaledyCoord = (yCoord/maxDimension)*scaleFactor; 1265 scaledyCoord = (yCoord/maxDimension)*scaleFactor;
1372 1266
@@ -1425,8 +1319,9 @@ void BUNDLEBLDR::OnButton1Click(wxCommandEvent&amp; event) @@ -1425,8 +1319,9 @@ void BUNDLEBLDR::OnButton1Click(wxCommandEvent&amp; event)
1425 void BUNDLEBLDR::WriteBundleFile(wxString fileName) 1319 void BUNDLEBLDR::WriteBundleFile(wxString fileName)
1426 { 1320 {
1427 ofstream cableFile; 1321 ofstream cableFile;
  1322 + wxString separator(wxFileName::GetPathSeparator());
1428 1323
1429 - wxString fullFileName = PathToMOD + "\\BUNDLE\\" + fileName + ".bundle_spec"; 1324 + wxString fullFileName = PathToMOD + separator + "BUNDLE" + separator + fileName + ".bundle_spec";
1430 1325
1431 cableFile.open (fullFileName); 1326 cableFile.open (fullFileName);
1432 1327
@@ -1434,19 +1329,11 @@ void BUNDLEBLDR::WriteBundleFile(wxString fileName) @@ -1434,19 +1329,11 @@ void BUNDLEBLDR::WriteBundleFile(wxString fileName)
1434 { 1329 {
1435 cableFile << "#MOD_cable_lib_dir" << "\n"; 1330 cableFile << "#MOD_cable_lib_dir" << "\n";
1436 1331
1437 - #ifdef UNIX  
1438 - cableFile <<MODname <<"/CABLE/"<<"\n";  
1439 - #else  
1440 - cableFile <<"../"<< MODname <<"/CABLE/"<<"\n";  
1441 - #endif 1332 + cableFile <<".." << separator << MODname << separator << "CABLE" << separator <<"\n";
1442 1333
1443 cableFile << "#MOD_cable_lib_dir" << "\n"; 1334 cableFile << "#MOD_cable_lib_dir" << "\n";
1444 1335
1445 - #ifdef UNIX  
1446 - cableFile <<MODname <<"/BUNDLE/"<<"\n";  
1447 - #else  
1448 - cableFile <<"../"<< MODname <<"/BUNDLE/"<<"\n";  
1449 - #endif 1336 + cableFile <<".." << separator << MODname << separator << "BUNDLE" << separator <<"\n";
1450 1337
1451 cableFile << ListBox1->GetCount() << " #Number of cables in bundle, cable list follows\n"; 1338 cableFile << ListBox1->GetCount() << " #Number of cables in bundle, cable list follows\n";
1452 1339
@@ -1459,7 +1346,7 @@ void BUNDLEBLDR::WriteBundleFile(wxString fileName) @@ -1459,7 +1346,7 @@ void BUNDLEBLDR::WriteBundleFile(wxString fileName)
1459 1346
1460 cable = bundle_list->CableType; 1347 cable = bundle_list->CableType;
1461 1348
1462 - //Remove pesky file extension 1349 + //Remove file extension
1463 size_t lastindex = cable.find_last_of("."); 1350 size_t lastindex = cable.find_last_of(".");
1464 wxString cable_name = cable.substr(0, lastindex); //at the moment here requires full path to file 1351 wxString cable_name = cable.substr(0, lastindex); //at the moment here requires full path to file
1465 1352
@@ -1536,29 +1423,26 @@ void BUNDLEBLDR::OnButton2Click(wxCommandEvent&amp; event) @@ -1536,29 +1423,26 @@ void BUNDLEBLDR::OnButton2Click(wxCommandEvent&amp; event)
1536 1423
1537 wxString fileName = TextCtrl1->GetValue(); 1424 wxString fileName = TextCtrl1->GetValue();
1538 1425
1539 - WriteBundleFile (TextCtrl1->GetValue()); 1426 + wxString command_line;
  1427 +
  1428 + wxString separator(wxFileName::GetPathSeparator());
1540 1429
1541 - //std::stringstream stream; 1430 + WriteBundleFile (TextCtrl1->GetValue());
1542 1431
1543 - #ifdef UNIX  
1544 - std::stringstream stream;  
1545 - stream << "./cable_bundle_model_builder"  
1546 - << " "  
1547 - << MODname + "/BUNDLE/"  
1548 - << fileName ;  
1549 - #else  
1550 std::stringstream stream; 1432 std::stringstream stream;
1551 - stream << "\"..\\BIN\\cable_bundle_model_builder.exe\"" 1433 + stream <<"." + separator
  1434 + << "cable_bundle_model_builder"
1552 << " " 1435 << " "
1553 - << "..\\" + MODname + "\\CABLE\\" 1436 + << ".." + separator + MODname + separator + "BUNDLE" + separator
1554 << fileName ; 1437 << fileName ;
1555 - #endif  
1556 1438
1557 - system(stream.str().c_str()); 1439 + command_line << stream.str().c_str();
  1440 +
  1441 + wxExecute (command_line,wxEXEC_SYNC);
1558 1442
1559 // Display Run Status 1443 // Display Run Status
1560 - RUN_STATUS *run_status = new RUN_STATUS(this);  
1561 - run_status->ShowModal(); 1444 + RUN_STATUS *run_status_bundle = new RUN_STATUS(this);
  1445 + run_status_bundle->ShowModal();
1562 1446
1563 //Button1->Enable(); 1447 //Button1->Enable();
1564 1448
GUI/SW1/SRC/BUNDLEBLDR.h
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 // It was developed by the University of Nottingham and the Netherlands Aerospace 4 // It was developed by the University of Nottingham and the Netherlands Aerospace
5 // Centre (NLR) for ESA under contract number 4000112765/14/NL/HK. 5 // Centre (NLR) for ESA under contract number 4000112765/14/NL/HK.
6 // 6 //
7 -// Copyright (C) 2015 - 2017 University of Nottingham 7 +// Copyright (C) 2015 - 2018 University of Nottingham
8 // 8 //
9 // SACAMOS is free software: you can redistribute it and/or modify it under the 9 // SACAMOS is free software: you can redistribute it and/or modify it under the
10 // terms of the GNU General Public License as published by the Free Software 10 // terms of the GNU General Public License as published by the Free Software
GUI/SW1/SRC/BUNDLE_SCHEMATIC.cpp
@@ -111,14 +111,15 @@ void draw_bundle(wxPanel *Panel, wxString Path, wxString bundle_to_draw) @@ -111,14 +111,15 @@ void draw_bundle(wxPanel *Panel, wxString Path, wxString bundle_to_draw)
111 std::getline(bundleFile, bundle_str); 111 std::getline(bundleFile, bundle_str);
112 wxString cable_spec(bundle_str); 112 wxString cable_spec(bundle_str);
113 113
  114 + wxString separator(wxFileName::GetPathSeparator());
  115 +
114 wxString cableFileName; 116 wxString cableFileName;
115 - cableFileName << Path <<"\\"<<"CABLE"<<"\\"<<cable_spec<<".cable_spec"; 117 +
  118 + cableFileName << Path << separator << "CABLE" << separator <<cable_spec<<".cable_spec";
116 119
117 bundleFile >> xCoord; 120 bundleFile >> xCoord;
118 bundleFile >> yCoord; 121 bundleFile >> yCoord;
119 122
120 - yCoord = -1.0 * yCoord;  
121 -  
122 std::getline(bundleFile, bundle_str); //Read to end of line 123 std::getline(bundleFile, bundle_str); //Read to end of line
123 124
124 std::ifstream cableFile; 125 std::ifstream cableFile;
GUI/SW1/SRC/BUNDLE_SCHEMATIC.h
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 // It was developed by the University of Nottingham and the Netherlands Aerospace 4 // It was developed by the University of Nottingham and the Netherlands Aerospace
5 // Centre (NLR) for ESA under contract number 4000112765/14/NL/HK. 5 // Centre (NLR) for ESA under contract number 4000112765/14/NL/HK.
6 // 6 //
7 -// Copyright (C) 2015 - 2017 University of Nottingham 7 +// Copyright (C) 2015 - 2018 University of Nottingham
8 // 8 //
9 // SACAMOS is free software: you can redistribute it and/or modify it under the 9 // SACAMOS is free software: you can redistribute it and/or modify it under the
10 // terms of the GNU General Public License as published by the Free Software 10 // terms of the GNU General Public License as published by the Free Software
@@ -42,12 +42,14 @@ @@ -42,12 +42,14 @@
42 #include <wx/panel.h> 42 #include <wx/panel.h>
43 #include <wx/dcclient.h> 43 #include <wx/dcclient.h>
44 #include <wx/msgdlg.h> 44 #include <wx/msgdlg.h>
  45 +#include <wx/filename.h>
45 46
46 // Standard Library Header Files 47 // Standard Library Header Files
47 #include <iostream> 48 #include <iostream>
48 #include <fstream> 49 #include <fstream>
49 #include <sstream> 50 #include <sstream>
50 #include <cmath> 51 #include <cmath>
  52 +#include <string>
51 53
52 using namespace std; 54 using namespace std;
53 55
GUI/SW1/SRC/COAXIAL.cpp
@@ -407,7 +407,7 @@ void COAXIAL::OnButton2Click(wxCommandEvent&amp; event) @@ -407,7 +407,7 @@ void COAXIAL::OnButton2Click(wxCommandEvent&amp; event)
407 407
408 command_line << stream.str().c_str(); 408 command_line << stream.str().c_str();
409 409
410 - wxExecute (command_line); 410 + wxExecute (command_line, wxEXEC_SYNC);
411 411
412 // Display Run Status 412 // Display Run Status
413 RUN_STATUS *run_status = new RUN_STATUS(this); 413 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/CYLINDRICAL.cpp
@@ -250,7 +250,7 @@ void CYLINDRICAL::OnButton2Click(wxCommandEvent&amp; event) @@ -250,7 +250,7 @@ void CYLINDRICAL::OnButton2Click(wxCommandEvent&amp; event)
250 250
251 command_line << stream.str().c_str(); 251 command_line << stream.str().c_str();
252 252
253 - wxExecute (command_line); 253 + wxExecute (command_line, wxEXEC_SYNC);
254 254
255 // Display Run Status 255 // Display Run Status
256 RUN_STATUS *run_status = new RUN_STATUS(this); 256 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/DCONN.cpp
@@ -255,7 +255,7 @@ void DCONN::OnButton2Click(wxCommandEvent&amp; event) @@ -255,7 +255,7 @@ void DCONN::OnButton2Click(wxCommandEvent&amp; event)
255 255
256 command_line << stream.str().c_str(); 256 command_line << stream.str().c_str();
257 257
258 - wxExecute (command_line);; 258 + wxExecute (command_line, wxEXEC_SYNC);;
259 259
260 // Display Run Status 260 // Display Run Status
261 RUN_STATUS *run_status = new RUN_STATUS(this); 261 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/EXPORT_SPICE.cpp
@@ -131,8 +131,10 @@ void EXPORT_SPICE::OnDirPickerCtrl2DirChanged(wxFileDirPickerEvent&amp; event) @@ -131,8 +131,10 @@ void EXPORT_SPICE::OnDirPickerCtrl2DirChanged(wxFileDirPickerEvent&amp; event)
131 131
132 void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) 132 void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event)
133 { 133 {
  134 + wxString separator(wxFileName::GetPathSeparator());
134 135
135 - wxString sacamos_sym_dir = "..\\" + MODname + "\\SPICE\\SYMBOL\\"; 136 + //wxString sacamos_sym_dir = "..\\" + MODname + "\\SPICE\\SYMBOL\\";
  137 + wxString sacamos_sym_dir = ".." + separator + MODname + separator +"SPICE" + separator +"SYMBOL" + separator;
136 wxSetWorkingDirectory(sacamos_sym_dir); 138 wxSetWorkingDirectory(sacamos_sym_dir);
137 139
138 wxString file, pattern, export_notification; 140 wxString file, pattern, export_notification;
@@ -158,7 +160,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event) @@ -158,7 +160,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event)
158 wxString file_name = file_no_path.substr(0, lastindex); 160 wxString file_name = file_no_path.substr(0, lastindex);
159 161
160 ng_sym_from = file_no_path; 162 ng_sym_from = file_no_path;
161 - ng_sym_to = ng_sym_dir + "\\" + file_no_path; 163 + //ng_sym_to = ng_sym_dir + "\\" + file_no_path;
  164 + ng_sym_to = ng_sym_dir + separator + file_no_path;
162 165
163 wxCopyFile(ng_sym_from, ng_sym_to); 166 wxCopyFile(ng_sym_from, ng_sym_to);
164 167
@@ -174,7 +177,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event) @@ -174,7 +177,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event)
174 { 177 {
175 if (file_to_edit[i] == ("file=PATH_TO_TRANSMISSION_LINE_SUB_CIRCUITS/" + file_name + "_Ngspice.lib")) 178 if (file_to_edit[i] == ("file=PATH_TO_TRANSMISSION_LINE_SUB_CIRCUITS/" + file_name + "_Ngspice.lib"))
176 { 179 {
177 - file_to_edit[i] = "file=" + pathToMOD + "\\SPICE\\" + file_name + "_Ngspice.lib"; 180 + //file_to_edit[i] = "file=" + pathToMOD + "\\SPICE\\" + file_name + "_Ngspice.lib";
  181 + file_to_edit[i] = "file=" + pathToMOD + separator + "SPICE" + separator + file_name + "_Ngspice.lib";
178 } 182 }
179 file_to_edit.Write(); 183 file_to_edit.Write();
180 } 184 }
@@ -208,7 +212,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event) @@ -208,7 +212,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event)
208 wxString file_name = file_no_path.substr(0, lastindex); 212 wxString file_name = file_no_path.substr(0, lastindex);
209 213
210 lt_sym_from = file_no_path; 214 lt_sym_from = file_no_path;
211 - lt_sym_to = lt_sym_dir + "\\" + file_no_path; 215 + //lt_sym_to = lt_sym_dir + "\\" + file_no_path;
  216 + lt_sym_to = lt_sym_dir + separator + file_no_path;
212 217
213 wxCopyFile(lt_sym_from, lt_sym_to); 218 wxCopyFile(lt_sym_from, lt_sym_to);
214 219
@@ -224,7 +229,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event) @@ -224,7 +229,8 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent&amp; event)
224 { 229 {
225 if (file_to_edit[i] == ("SYMATTR ModelFile PATH_TO_TRANSMISSION_LINE_SUB_CIRCUITS/" + file_name + "_LTspice.lib")) 230 if (file_to_edit[i] == ("SYMATTR ModelFile PATH_TO_TRANSMISSION_LINE_SUB_CIRCUITS/" + file_name + "_LTspice.lib"))
226 { 231 {
227 - file_to_edit[i] = "SYMATTR ModelFile " + pathToMOD + "\\SPICE\\" + file_name + "_LTspice.lib"; 232 + //file_to_edit[i] = "SYMATTR ModelFile " + pathToMOD + "\\SPICE\\" + file_name + "_LTspice.lib";
  233 + file_to_edit[i] = "SYMATTR ModelFile " + pathToMOD + separator + "SPICE" + separator + file_name + "_LTspice.lib";
228 } 234 }
229 file_to_edit.Write(); 235 file_to_edit.Write();
230 } 236 }
GUI/SW1/SRC/FLEXCABLE.cpp
@@ -326,7 +326,7 @@ void FLEXCABLE::OnButton2Click(wxCommandEvent&amp; event) @@ -326,7 +326,7 @@ void FLEXCABLE::OnButton2Click(wxCommandEvent&amp; event)
326 326
327 command_line << stream.str().c_str(); 327 command_line << stream.str().c_str();
328 328
329 - wxExecute (command_line); 329 + wxExecute (command_line, wxEXEC_SYNC);
330 330
331 // Display Run Status 331 // Display Run Status
332 RUN_STATUS *run_status = new RUN_STATUS(this); 332 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/OVERSHIELD.cpp
@@ -265,7 +265,7 @@ void OVERSHIELD::OnButton2Click(wxCommandEvent&amp; event) @@ -265,7 +265,7 @@ void OVERSHIELD::OnButton2Click(wxCommandEvent&amp; event)
265 265
266 command_line << stream.str().c_str(); 266 command_line << stream.str().c_str();
267 267
268 - wxExecute (command_line); 268 + wxExecute (command_line, wxEXEC_SYNC);
269 269
270 // Display Run Status 270 // Display Run Status
271 RUN_STATUS *run_status = new RUN_STATUS(this); 271 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/RUN_STATUS.cpp
@@ -84,8 +84,6 @@ void RUN_STATUS::DisplayRunStatus() @@ -84,8 +84,6 @@ void RUN_STATUS::DisplayRunStatus()
84 wxString text; 84 wxString text;
85 wxTextFile StatusFile; 85 wxTextFile StatusFile;
86 86
87 - //int lineCount = LicenseFile.GetLineCount();  
88 -  
89 if (StatusFile.Open(RunStatusFile)) 87 if (StatusFile.Open(RunStatusFile))
90 { 88 {
91 for (int i = 0; i<int(StatusFile.GetLineCount()); i++) 89 for (int i = 0; i<int(StatusFile.GetLineCount()); i++)
@@ -97,6 +95,12 @@ void RUN_STATUS::DisplayRunStatus() @@ -97,6 +95,12 @@ void RUN_STATUS::DisplayRunStatus()
97 TextCtrl1->SetValue(text); 95 TextCtrl1->SetValue(text);
98 } 96 }
99 97
  98 + if (!StatusFile.Open(RunStatusFile))
  99 + {
  100 + DisplayRunStatus();
  101 + }
  102 +
  103 + StatusFile.Close();
100 } 104 }
101 105
102 106
GUI/SW1/SRC/SPACEWIRE.cpp
@@ -520,7 +520,7 @@ void SPACEWIRE::OnButton2Click(wxCommandEvent&amp; event) @@ -520,7 +520,7 @@ void SPACEWIRE::OnButton2Click(wxCommandEvent&amp; event)
520 << ".." + separator + MODname + separator + "CABLE" + separator 520 << ".." + separator + MODname + separator + "CABLE" + separator
521 << fileName ; 521 << fileName ;
522 522
523 - wxExecute (command_line); 523 + wxExecute (command_line, wxEXEC_SYNC);
524 524
525 // Display Run Status 525 // Display Run Status
526 RUN_STATUS *run_status = new RUN_STATUS(this); 526 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/SPICEMODEL.cpp
@@ -390,15 +390,28 @@ void SPICEMODEL::OnButton2Click(wxCommandEvent&amp; event) @@ -390,15 +390,28 @@ void SPICEMODEL::OnButton2Click(wxCommandEvent&amp; event)
390 { 390 {
391 //SPICE CABLE BUNDLE MODEL 391 //SPICE CABLE BUNDLE MODEL
392 wxString fileName = TextCtrl1->GetValue(); 392 wxString fileName = TextCtrl1->GetValue();
393 - //wxString fineName = fileName; 393 + wxString command_line;
  394 +
  395 + wxString separator(wxFileName::GetPathSeparator());
394 396
395 std::stringstream stream; 397 std::stringstream stream;
396 - stream << "\"..\\BIN\\spice_cable_bundle_model_builder\"" 398 +
  399 + stream <<"." + separator
  400 + << "spice_cable_bundle_model_builder"
397 << " " 401 << " "
398 - << "..\\" + MODname + "\\SPICE\\"  
399 - << fileName; 402 + << ".." + separator + MODname + separator + "SPICE" + separator
  403 + << fileName ;
  404 +
  405 +
  406 +
  407 +// << "\"..\\BIN\\spice_cable_bundle_model_builder\""
  408 +// << " "
  409 +// << "..\\" + MODname + "\\SPICE\\"
  410 +// << fileName;
  411 +
  412 + command_line << stream.str().c_str();
400 413
401 - system(stream.str().c_str()); 414 + wxExecute (command_line, wxEXEC_SYNC);
402 415
403 RUN_STATUS *run_status = new RUN_STATUS(this); 416 RUN_STATUS *run_status = new RUN_STATUS(this);
404 run_status->ShowModal(); 417 run_status->ShowModal();
GUI/SW1/SRC/TP.cpp
@@ -479,7 +479,7 @@ void TP::OnButton2Click(wxCommandEvent&amp; event) @@ -479,7 +479,7 @@ void TP::OnButton2Click(wxCommandEvent&amp; event)
479 479
480 command_line << stream.str().c_str(); 480 command_line << stream.str().c_str();
481 481
482 - wxExecute (command_line); 482 + wxExecute (command_line, wxEXEC_SYNC);
483 483
484 // Display Run Status 484 // Display Run Status
485 RUN_STATUS *run_status = new RUN_STATUS(this); 485 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/TWINAX.cpp
@@ -454,7 +454,7 @@ void TWINAX::OnButton3Click(wxCommandEvent&amp; event) @@ -454,7 +454,7 @@ void TWINAX::OnButton3Click(wxCommandEvent&amp; event)
454 454
455 command_line << stream.str().c_str(); 455 command_line << stream.str().c_str();
456 456
457 - wxExecute (command_line); 457 + wxExecute (command_line, wxEXEC_SYNC);
458 458
459 // Display Run Status 459 // Display Run Status
460 RUN_STATUS *run_status = new RUN_STATUS(this); 460 RUN_STATUS *run_status = new RUN_STATUS(this);
GUI/SW1/SRC/UTP.cpp
@@ -329,7 +329,7 @@ void UTP::OnButton2Click(wxCommandEvent&amp; event) @@ -329,7 +329,7 @@ void UTP::OnButton2Click(wxCommandEvent&amp; event)
329 329
330 command_line << stream.str().c_str(); 330 command_line << stream.str().c_str();
331 331
332 - wxExecute (command_line); 332 + wxExecute (command_line, wxEXEC_SYNC);
333 333
334 ifstream runStatus; 334 ifstream runStatus;
335 335