From c518c15417b8a567fbe805f4427d9d5fce7d2de2 Mon Sep 17 00:00:00 2001 From: MicheaBoab <50056681+MicheaBoab@users.noreply.github.com> Date: Wed, 14 Oct 2020 14:08:26 -0500 Subject: [PATCH 1/9] Add files via upload --- asc.cpp | 5 +++++ asc.h | 2 ++ pcg.cpp | 53 ++++++++++++++++++++++++++++++++++++------------- pcg.h | 9 ++++++--- task_dialog.cpp | 33 ++++++++++++++++++------------ task_dialog.h | 12 +++++------ test.pro | 2 +- test.pro.user | 2 +- 8 files changed, 80 insertions(+), 38 deletions(-) diff --git a/asc.cpp b/asc.cpp index 1dc1688..8de60f5 100644 --- a/asc.cpp +++ b/asc.cpp @@ -48,3 +48,8 @@ void ASC::on_removePartitionButton_clicked() { ui->tableWidget->removeRow(ui->tableWidget->currentRow()); } + +void ASC::on_generateButton_clicked() +{ + +} diff --git a/asc.h b/asc.h index cbfd868..bcc0b40 100644 --- a/asc.h +++ b/asc.h @@ -20,6 +20,8 @@ private slots: void on_removePartitionButton_clicked(); + void on_generateButton_clicked(); + private: Ui::ASC *ui; diff --git a/pcg.cpp b/pcg.cpp index 5a8efa8..8dd435a 100644 --- a/pcg.cpp +++ b/pcg.cpp @@ -2,6 +2,7 @@ #include "ui_pcg.h" #include "QComboBox" #include "QFile" +#include "QDebug" PCG::PCG(QWidget *parent) : QDialog(parent), @@ -21,11 +22,6 @@ PCG::~PCG() void PCG::on_taskEnterButton_clicked() { - /* - QString name; - double wcet, deadline, period, jitter, offset; - bool isperiodic; - */ int res; Task_Dialog td; res = td.exec(); @@ -42,21 +38,24 @@ void PCG::on_taskEnterButton_clicked() offset = td.Offset(); isperiodic = td.IsPeriodic(); + ui->tableWidget->insertRow(ui->tableWidget->rowCount()); + int temp = ui->tableWidget->rowCount() - 1; + QComboBox *dropdown = new QComboBox(); dropdown->addItem("Periodic"); dropdown->addItem("Sporadic"); - ui->tableWidget->insertRow(ui->tableWidget->rowCount()); - int temp = ui->tableWidget->rowCount() - 1; + //逐行输入 ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); - ui->tableWidget->setItem(temp, WCEP, new QTableWidgetItem(QString::number(wcet))); - ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(QString::number(deadline))); - ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(QString::number(period))); - ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(QString::number(jitter))); - ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(QString::number(offset))); + ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); + ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); + ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); + ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); + ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); + //下拉选单 ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); - if(isperiodic == true) + if(isperiodic == "true") { dropdown->setCurrentIndex(0); } @@ -69,11 +68,37 @@ void PCG::on_taskEnterButton_clicked() void PCG::on_taskRemoveButton_clicked() { - ui->tableWidget->removeRow(ui->tableWidget->currentRow()); + ui->tableWidget->removeRow(ui->tableWidget->currentRow()); } void PCG::on_saveButton_clicked() { + //统计行数 创建数组 + item_counter = ui->tableWidget->rowCount(); + qDebug() << item_counter; + QVector> vec; + //存入vector + for(int i = 0; i < item_counter; i++) + { + QVector temp; + temp.push_back(ui->tableWidget->item(i,Name)->text()); + temp.push_back(ui->tableWidget->item(i,WCET)->text()); + temp.push_back(ui->tableWidget->item(i,Deadline)->text()); + temp.push_back(ui->tableWidget->item(i,Period)->text()); + temp.push_back(ui->tableWidget->item(i,Jitter)->text()); + temp.push_back(ui->tableWidget->item(i,Offset)->text()); + //下拉菜单 + //temp.push_back(ui->tableWidget->cellWidget(i, Periodic_or_sporadic)); + + vec.push_back(temp); + } + + QFile file("save.txt"); + if(!file.open(QFile::WriteOnly | QFile::Text)) + { + qDebug()<<"can not open to write"; + return; + } } diff --git a/pcg.h b/pcg.h index 76580ad..a6259d3 100644 --- a/pcg.h +++ b/pcg.h @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include @@ -33,16 +35,17 @@ private slots: Ui::PCG *ui; QString name; - double wcet, deadline, period, jitter, offset; - bool isperiodic; + QString wcet, deadline, period, jitter, offset; + QString isperiodic; enum Column { - Name, WCEP, Deadline, Period, Jitter, Offset, Periodic_or_sporadic, + Name, WCET, Deadline, Period, Jitter, Offset, Periodic_or_sporadic, }; QVector m_data; + int item_counter = 0; int id = 1; }; diff --git a/task_dialog.cpp b/task_dialog.cpp index a56164b..7b82be7 100644 --- a/task_dialog.cpp +++ b/task_dialog.cpp @@ -1,4 +1,4 @@ -#include "task_dialog.h" +#include "task_dialog.h" #include "ui_task_dialog.h" @@ -54,32 +54,39 @@ QString Task_Dialog::Name() const return ui->name->text(); } -float Task_Dialog::WCET() const +QString Task_Dialog::WCET() const { - return ui->wcetEdit->text().toDouble(); + return ui->wcetEdit->text(); } -float Task_Dialog::Deadline() const +QString Task_Dialog::Deadline() const { - return ui->deadtimeEdit->text().toDouble(); + return ui->deadtimeEdit->text(); } -float Task_Dialog::Period() const +QString Task_Dialog::Period() const { - return ui->periodEdit->text().toDouble(); + return ui->periodEdit->text(); } -float Task_Dialog::Jitter() const +QString Task_Dialog::Jitter() const { - return ui->jitterEdit->text().toDouble(); + return ui->jitterEdit->text(); } -float Task_Dialog::Offset() const +QString Task_Dialog::Offset() const { - return ui->offsetEdit->text().toDouble(); + return ui->offsetEdit->text(); } -bool Task_Dialog::IsPeriodic() const +QString Task_Dialog::IsPeriodic() const { - return ui->checkBox->checkState(); + if(ui->checkBox->checkState()) + { + return "true"; + } + else + { + return "false"; + } } diff --git a/task_dialog.h b/task_dialog.h index 3fa0606..f1690c7 100644 --- a/task_dialog.h +++ b/task_dialog.h @@ -20,17 +20,17 @@ class Task_Dialog : public QDialog QString Name() const; - float WCET() const; + QString WCET() const; - float Deadline() const; + QString Deadline() const; - float Period() const; + QString Period() const; - float Jitter() const; + QString Jitter() const; - float Offset() const; + QString Offset() const; - bool IsPeriodic() const; + QString IsPeriodic() const; QString execution(double, double, double, double, double, bool); diff --git a/test.pro b/test.pro index c800dac..61ef20d 100644 --- a/test.pro +++ b/test.pro @@ -4,7 +4,7 @@ # #------------------------------------------------- -QT += core gui +QT += core gui charts greaterThan(QT_MAJOR_VERSION, 4): QT += widgets diff --git a/test.pro.user b/test.pro.user index 41aa444..d95601d 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId From f453fad5f70e0a07b8143f434fc2623ea4993ac5 Mon Sep 17 00:00:00 2001 From: Guangli Dai Date: Wed, 14 Oct 2020 21:29:37 -0500 Subject: [PATCH 2/9] Enable "Get Resource Specification" Write a function to calculate the availability factor with task set information. Bind it with button "Get Resource Specification". --- .DS_Store | Bin 0 -> 6148 bytes mainwindow.ui | 8 +- pcg.cpp | 48 + pcg.h | 8 + pcg.ui | 13 +- test.pro.user | 2476 +++-------------- ...55c63d6.4.10-pre1 => test.pro.user.55c63d6 | 0 7 files changed, 404 insertions(+), 2149 deletions(-) create mode 100644 .DS_Store rename test.pro.user.55c63d6.4.10-pre1 => test.pro.user.55c63d6 (100%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 - Partition Configuration Generator -(PCG) + Resource Specification Generator +(RSG) @@ -118,8 +118,8 @@ - Automated Scheduler Configurator -(ASC) + Cyclic Schedule Generator +(CSG) diff --git a/pcg.cpp b/pcg.cpp index 8dd435a..f871c6b 100644 --- a/pcg.cpp +++ b/pcg.cpp @@ -106,3 +106,51 @@ void PCG::on_loadButton_clicked() { } + +void PCG::fraction_add(long& a_deno, long& a_no, long b_deno, long b_no) +{ + long temp_deno = a_deno*b_no + a_no*b_deno; + long temp_no = a_no * b_no; + a_deno = temp_deno; + a_no = temp_no; + reduce(a_deno, a_no); +} + +void PCG::reduce(long& a_deno, long& a_no) +{ + long temp_deno = a_deno; + long temp_no = a_no; + //temp_no should always be no smaller than temp_deno + //get the gcd, store it in temp_no + while(temp_deno!=0) + { + long temp = temp_no%temp_deno; + temp_no = temp_deno; + temp_deno = temp; + } + + a_deno /= temp_no; + a_no /= temp_no; + +} + +void PCG::on_getconfigButton_clicked() +{ + //get the number of rows + item_counter = ui->tableWidget->rowCount(); + long af_upper = 0, af_lower = 1; + //calculate the sum of ceil(wcet)/floor(min(period, deadline)) + for(int i = 0; i < item_counter; i++) + { + double wcet = ui->tableWidget->item(i, WCET)->text().toDouble(); + double period = ui->tableWidget->item(i, Period)->text().toDouble(); + double deadline = ui->tableWidget -> item(i, Deadline)->text().toDouble(); + long temp_upper = qCeil(wcet); + long temp_lower = qFloor(qMin(period, deadline)); + fraction_add(af_upper, af_lower, temp_upper, temp_lower); + } + //set the availability factor in the UI + //ui->afUpperEdit-> + ui->afUpperEdit->setText(QString::number(af_upper)); + ui->afLowerEdit->setText(QString::number(af_lower)); +} diff --git a/pcg.h b/pcg.h index a6259d3..bfe882a 100644 --- a/pcg.h +++ b/pcg.h @@ -8,6 +8,7 @@ #include #include #include +#include namespace Ui { class PCG; @@ -31,6 +32,13 @@ private slots: void on_loadButton_clicked(); + void on_getconfigButton_clicked(); + + //calcualtes a_deno/a_no += b_deno/b_no + void fraction_add(long& a_deno, long& a_no, long b_deno, long b_no); + + //reduce a_deno/a_no + void reduce(long& a_deno, long& a_no); private: Ui::PCG *ui; diff --git a/pcg.ui b/pcg.ui index efa9e5e..d8f493e 100644 --- a/pcg.ui +++ b/pcg.ui @@ -54,9 +54,9 @@ - + - false + true @@ -70,6 +70,9 @@ 25 + + false + Qt::ScrollBarAlwaysOff @@ -83,9 +86,9 @@ - + - false + true @@ -241,7 +244,7 @@ - Get Partition Configuration + Get Resource Specification false diff --git a/test.pro.user b/test.pro.user index d95601d..6254e80 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,2140 +1,336 @@ - - - - - - EnvironmentId - {d39bf3dd-c2dc-43dd-be10-ba8c48c33b8c} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - -fno-delayed-template-parsing - - true - Builtin.Questionable - - true - Builtin.DefaultTidyAndClazy - 4 - - - - true - - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.12.2 MSVC2015 64bit - Desktop Qt 5.12.2 MSVC2015 64bit - qt.qt5.5122.win64_msvc2015_64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - test2 - Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Desktop/RRP-ToolSet-Aug-9/RRP-ToolSet-Aug-9/test.pro - C:/Users/MicheaBoab/Desktop/RRP-ToolSet-Aug-9/RRP-ToolSet-Aug-9/test.pro - - false - - false - true - true - false - false - true - - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug - - 1 - - - - ProjectExplorer.Project.Target.1 - - Desktop Qt 5.12.2 MSVC2017 32bit - Desktop Qt 5.12.2 MSVC2017 32bit - qt.qt5.5122.win32_msvc2017_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.2 - - Desktop Qt 5.12.2 MSVC2017 64bit - Desktop Qt 5.12.2 MSVC2017 64bit - qt.qt5.5122.win64_msvc2017_64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.3 - - Desktop Qt 5.12.2 MinGW 32-bit - Desktop Qt 5.12.2 MinGW 32-bit - qt.qt5.5122.win32_mingw73_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.4 - - Desktop Qt 5.12.2 MinGW 64-bit - Desktop Qt 5.12.2 MinGW 64-bit - qt.qt5.5122.win64_mingw73_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.5 - - Qt 5.12.2 for UWP 32bit (MSVC 2017) - Qt 5.12.2 for UWP 32bit (MSVC 2017) - qt.qt5.5122.win64_msvc2017_winrt_x86_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - - true - Run windeployqt - WinRt.BuildStep.Deploy - --qmldir C:\Users\MicheaBoab\Desktop\test - --qmldir C:\Users\MicheaBoab\Desktop\test - - 1 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - WinRTAppxDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.6 - - Qt 5.12.2 for UWP 64bit (MSVC 2015) - Qt 5.12.2 for UWP 64bit (MSVC 2015) - qt.qt5.5122.win64_msvc2015_winrt_x64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - - true - Run windeployqt - WinRt.BuildStep.Deploy - --qmldir C:\Users\MicheaBoab\Desktop\test - --qmldir C:\Users\MicheaBoab\Desktop\test - - 1 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - WinRTAppxDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.7 - - Qt 5.12.2 for UWP 64bit (MSVC 2017) - Qt 5.12.2 for UWP 64bit (MSVC 2017) - qt.qt5.5122.win64_msvc2017_winrt_x64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - - true - Run windeployqt - WinRt.BuildStep.Deploy - --qmldir C:\Users\MicheaBoab\Desktop\test - --qmldir C:\Users\MicheaBoab\Desktop\test - - 1 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - WinRTAppxDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.TargetCount - 8 - - - ProjectExplorer.Project.Updater.FileVersion - 22 - - - Version - 22 - - + + + + + + EnvironmentId + {c4bc322e-a609-4dfe-83e1-a681b33f7f10} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.2 clang 64bit + Desktop Qt 5.12.2 clang 64bit + qt.qt5.5122.clang_64_kit + 0 + 0 + 0 + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy Configuration + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + test + test2 + Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/GitHub/RRP-Toolsets/test.pro + + 3768 + false + true + false + true + false + false + true + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 21 + + + Version + 21 + + diff --git a/test.pro.user.55c63d6.4.10-pre1 b/test.pro.user.55c63d6 similarity index 100% rename from test.pro.user.55c63d6.4.10-pre1 rename to test.pro.user.55c63d6 From 30be2fd76cd47cf1edd88ebbd501deeac50dcafe Mon Sep 17 00:00:00 2001 From: MicheaBoab <50056681+MicheaBoab@users.noreply.github.com> Date: Wed, 14 Oct 2020 23:06:31 -0500 Subject: [PATCH 3/9] Add files via upload Add entering data set for ST --- st.cpp | 67 +- st_dialog.cpp | 90 ++ st_dialog.h | 54 ++ st_dialog.ui | 116 +++ test.pro | 5 +- test.pro.user | 2476 ++++++++++++++++++++++++++++++++++++++++++------- 6 files changed, 2469 insertions(+), 339 deletions(-) create mode 100644 st_dialog.cpp create mode 100644 st_dialog.h create mode 100644 st_dialog.ui diff --git a/st.cpp b/st.cpp index 1aae086..c5e8090 100644 --- a/st.cpp +++ b/st.cpp @@ -1,4 +1,4 @@ -#include "st.h" +#include "st.h" #include "ui_st.h" ST::ST(QWidget *parent) : @@ -6,9 +6,74 @@ ST::ST(QWidget *parent) : ui(new Ui::ST) { ui->setupUi(this); + QStringList title_col; + ui->tableWidget->setColumnCount(7); + title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + ui->tableWidget->setHorizontalHeaderLabels(title_col); } ST::~ST() { delete ui; } + +void ST::on_taskEnterButton_clicked() +{ + int res; + St_Dialog td; + res = td.exec(); + if(res == QDialog::Rejected) + { + return; + } + + name = td.Name(); + wcet = td.WCET(); + deadline = td.Deadline(); + period = td.Period(); + jitter = td.Jitter(); + offset = td.Offset(); + isperiodic = td.IsPeriodic(); + + ui->tableWidget->insertRow(ui->tableWidget->rowCount()); + int temp = ui->tableWidget->rowCount() - 1; + + QComboBox *dropdown = new QComboBox(); + dropdown->addItem("Periodic"); + dropdown->addItem("Sporadic"); + + //逐行输入 + ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); + ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); + ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); + ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); + ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); + ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); + + //下拉选单 + ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); + if(isperiodic == "true") + { + dropdown->setCurrentIndex(0); + } + else + { + dropdown->setCurrentIndex(1); + } + +} + +void ST::on_taskRemoveButton_clicked() +{ + +} + +void ST::on_saveButton_clicked() +{ + +} + +void ST::on_loadButton_clicked() +{ + +} diff --git a/st_dialog.cpp b/st_dialog.cpp new file mode 100644 index 0000000..0302b14 --- /dev/null +++ b/st_dialog.cpp @@ -0,0 +1,90 @@ +#include "st_dialog.h" +#include "ui_st_dialog.h" + +St_Dialog::St_Dialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::St_Dialog) +{ + ui->setupUi(this); +} + +St_Dialog::~St_Dialog() +{ + delete ui; +} + +void St_Dialog::addTask() +{ + exec(); +} + +QString St_Dialog::execution(double a, double b, double c, double d, double e, bool f) +{ + ui->wcetEdit->setText(QString::number(a)); + ui->deadtimeEdit->setText(QString::number(b)); + ui->periodEdit->setText(QString::number(c)); + ui->jitterEdit->setText(QString::number(d)); + ui->offsetEdit->setText(QString::number(e)); + ui->checkBox->setChecked(f); + exec(); + + return text; +} + +QString St_Dialog::get_info() +{ + return text; +} + + +void St_Dialog::on_OkbuttonBox_rejected() +{ + reject(); +} + +void St_Dialog::on_OkbuttonBox_accepted() +{ + accept(); +} + +QString St_Dialog::Name() const +{ + return ui->name->text(); +} + +QString St_Dialog::WCET() const +{ + return ui->wcetEdit->text(); +} + +QString St_Dialog::Deadline() const +{ + return ui->deadtimeEdit->text(); +} + +QString St_Dialog::Period() const +{ + return ui->periodEdit->text(); +} + +QString St_Dialog::Jitter() const +{ + return ui->jitterEdit->text(); +} + +QString St_Dialog::Offset() const +{ + return ui->offsetEdit->text(); +} + +QString St_Dialog::IsPeriodic() const +{ + if(ui->checkBox->checkState()) + { + return "true"; + } + else + { + return "false"; + } +} diff --git a/st_dialog.h b/st_dialog.h new file mode 100644 index 0000000..0045aa1 --- /dev/null +++ b/st_dialog.h @@ -0,0 +1,54 @@ +#ifndef ST_DIALOG_H +#define ST_DIALOG_H + +#include +#include +#include + +namespace Ui { +class St_Dialog; +} + +class St_Dialog : public QDialog +{ + Q_OBJECT + +public: + + void addTask(); + + QString Name() const; + + QString WCET() const; + + QString Deadline() const; + + QString Period() const; + + QString Jitter() const; + + QString Offset() const; + + QString IsPeriodic() const; + + QString execution(double, double, double, double, double, bool); + + QString get_info(); + + explicit St_Dialog(QWidget *parent = nullptr); + ~St_Dialog(); + +private slots: + void on_OkbuttonBox_accepted(); + + void on_OkbuttonBox_rejected(); + +private: + Ui::St_Dialog *ui; + + QString text; + + QMap maps; +}; + +#endif // TASK_DIALOG_H diff --git a/st_dialog.ui b/st_dialog.ui new file mode 100644 index 0000000..607377a --- /dev/null +++ b/st_dialog.ui @@ -0,0 +1,116 @@ + + + St_Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 20 + 20 + 351 + 261 + + + + + + + + + Id + + + + + + + + + + WCET + + + + + + + + + + Deadlne + + + + + + + + + + Period + + + + + + + + + + Jitter + + + + + + + + + + Offset + + + + + + + + + + isPeriodic(uncheck for sporadic) + + + + + + + + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + diff --git a/test.pro b/test.pro index 61ef20d..ea31725 100644 --- a/test.pro +++ b/test.pro @@ -32,7 +32,7 @@ SOURCES += \ partition_dialog.cpp \ pcg.cpp \ st.cpp \ - task.cpp \ + st_dialog.cpp \ task_dialog.cpp HEADERS += \ @@ -42,7 +42,7 @@ HEADERS += \ partition_dialog.h \ pcg.h \ st.h \ - task.h \ + st_dialog.h \ task_dialog.h FORMS += \ @@ -51,6 +51,7 @@ FORMS += \ partition_dialog.ui \ pcg.ui \ st.ui \ + st_dialog.ui \ task_dialog.ui # Default rules for deployment. diff --git a/test.pro.user b/test.pro.user index 6254e80..2b31f4a 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,336 +1,2140 @@ - - - - - - EnvironmentId - {c4bc322e-a609-4dfe-83e1-a681b33f7f10} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - true - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.12.2 clang 64bit - Desktop Qt 5.12.2 clang 64bit - qt.qt5.5122.clang_64_kit - 0 - 0 - 0 - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - 0 - Deploy - - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy Configuration - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - test - test2 - Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/GitHub/RRP-Toolsets/test.pro - - 3768 - false - true - false - true - false - false - true - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 21 - - - Version - 21 - - + + + + + + EnvironmentId + {d39bf3dd-c2dc-43dd-be10-ba8c48c33b8c} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + Builtin.Questionable + + true + Builtin.DefaultTidyAndClazy + 4 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.2 MSVC2015 64bit + Desktop Qt 5.12.2 MSVC2015 64bit + qt.qt5.5122.win64_msvc2015_64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + test2 + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Desktop/RRP-Toolsets-developing/test.pro + C:/Users/MicheaBoab/Desktop/RRP-Toolsets-developing/test.pro + + false + + false + true + true + false + false + true + + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.12.2 MSVC2017 32bit + Desktop Qt 5.12.2 MSVC2017 32bit + qt.qt5.5122.win32_msvc2017_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.2 + + Desktop Qt 5.12.2 MSVC2017 64bit + Desktop Qt 5.12.2 MSVC2017 64bit + qt.qt5.5122.win64_msvc2017_64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.3 + + Desktop Qt 5.12.2 MinGW 32-bit + Desktop Qt 5.12.2 MinGW 32-bit + qt.qt5.5122.win32_mingw73_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.4 + + Desktop Qt 5.12.2 MinGW 64-bit + Desktop Qt 5.12.2 MinGW 64-bit + qt.qt5.5122.win64_mingw73_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.5 + + Qt 5.12.2 for UWP 32bit (MSVC 2017) + Qt 5.12.2 for UWP 32bit (MSVC 2017) + qt.qt5.5122.win64_msvc2017_winrt_x86_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + + true + Run windeployqt + WinRt.BuildStep.Deploy + --qmldir C:\Users\MicheaBoab\Desktop\test + --qmldir C:\Users\MicheaBoab\Desktop\test + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + WinRTAppxDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.6 + + Qt 5.12.2 for UWP 64bit (MSVC 2015) + Qt 5.12.2 for UWP 64bit (MSVC 2015) + qt.qt5.5122.win64_msvc2015_winrt_x64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + + true + Run windeployqt + WinRt.BuildStep.Deploy + --qmldir C:\Users\MicheaBoab\Desktop\test + --qmldir C:\Users\MicheaBoab\Desktop\test + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + WinRTAppxDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.7 + + Qt 5.12.2 for UWP 64bit (MSVC 2017) + Qt 5.12.2 for UWP 64bit (MSVC 2017) + qt.qt5.5122.win64_msvc2017_winrt_x64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + + true + Run windeployqt + WinRt.BuildStep.Deploy + --qmldir C:\Users\MicheaBoab\Desktop\test + --qmldir C:\Users\MicheaBoab\Desktop\test + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + WinRTAppxDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 8 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + From c1b0e511e1956c3ec982d3a0b59e84bd2ec0884b Mon Sep 17 00:00:00 2001 From: MicheaBoab <50056681+MicheaBoab@users.noreply.github.com> Date: Thu, 15 Oct 2020 00:02:18 -0500 Subject: [PATCH 4/9] Add files via upload --- st.h | 28 ++++++++++++++++++++++++++-- st.ui | 2 +- test.pro.user | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/st.h b/st.h index 5bd69e3..796db03 100644 --- a/st.h +++ b/st.h @@ -1,7 +1,8 @@ -#ifndef ST_H +#ifndef ST_H #define ST_H #include +#include namespace Ui { class ST; @@ -15,8 +16,31 @@ class ST : public QDialog explicit ST(QWidget *parent = nullptr); ~ST(); +public slots: + void on_taskEnterButton_clicked(); + + void on_taskRemoveButton_clicked(); + +private slots: + void on_saveButton_clicked(); + + void on_loadButton_clicked(); + private: Ui::ST *ui; -}; + QString name; + QString wcet, deadline, period, jitter, offset; + QString isperiodic; + + enum Column + { + Name, WCET, Deadline, Period, Jitter, Offset, Periodic_or_sporadic, + }; + + QVector m_data; + + int item_counter = 0; + int id = 1; +}; #endif // ST_H diff --git a/st.ui b/st.ui index 2b7023f..150f424 100644 --- a/st.ui +++ b/st.ui @@ -30,7 +30,7 @@ - + diff --git a/test.pro.user b/test.pro.user index 2b31f4a..364f456 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId From 6294af118eca8b013cb2882922368d9ed7676428 Mon Sep 17 00:00:00 2001 From: Guangli Dai Date: Thu, 15 Oct 2020 01:24:55 -0500 Subject: [PATCH 5/9] Add ST Add a function to calculate the schedulability of the given task set and the resource specification. Bind it to the button "Run Schedulability Test" --- .gitignore | 2 + pcg.cpp | 2 +- pcg.ui | 36 +- st.cpp | 29 +- st.h | 3 + st.ui | 34 +- task_dialog.ui | 2 +- test.pro.user | 2476 +++++-------------------------- test.pro.user.c4bc322.4.10-pre1 | 336 ----- 9 files changed, 432 insertions(+), 2488 deletions(-) create mode 100644 .gitignore delete mode 100644 test.pro.user.c4bc322.4.10-pre1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e3126b5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +test.pro.user.c4bc322.4.10-pre1 diff --git a/pcg.cpp b/pcg.cpp index f871c6b..fba90fa 100644 --- a/pcg.cpp +++ b/pcg.cpp @@ -11,7 +11,7 @@ PCG::PCG(QWidget *parent) : ui->setupUi(this); QStringList title_col; ui->tableWidget->setColumnCount(7); - title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); } diff --git a/pcg.ui b/pcg.ui index d8f493e..4b6bd1b 100644 --- a/pcg.ui +++ b/pcg.ui @@ -20,7 +20,7 @@ - Partition Configuration Generator + Resource Specification Generator @@ -40,6 +40,19 @@ QLayout::SetNoConstraint + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -49,7 +62,7 @@ - Regular Partition Availability Factor: + Regular Specification's Availability Factor: @@ -66,7 +79,7 @@ - 256 + 40 25 @@ -81,7 +94,7 @@ - = + / @@ -98,7 +111,7 @@ - 16777215 + 40 25 @@ -107,6 +120,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + diff --git a/st.cpp b/st.cpp index c5e8090..3fd9192 100644 --- a/st.cpp +++ b/st.cpp @@ -8,7 +8,7 @@ ST::ST(QWidget *parent) : ui->setupUi(this); QStringList title_col; ui->tableWidget->setColumnCount(7); - title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); } @@ -77,3 +77,30 @@ void ST::on_loadButton_clicked() { } + +void ST::on_getSTButton_clicked() +{ + item_counter = ui->tableWidget->rowCount(); + double af = 0; + //calculate the smallest availability factor required to make it schedulable + for(int i = 0; i < item_counter; i++) + { + double wcet = ui->tableWidget->item(i, WCET)->text().toDouble(); + double period = ui->tableWidget->item(i, Period)->text().toDouble(); + double deadline = ui->tableWidget -> item(i, Deadline)->text().toDouble(); + double temp = qCeil(wcet) / (double)qFloor(qMin(period, deadline)); + af += temp; + } + double inputAf = ui->wcetTextEdit->toPlainText().toDouble()/ui->periodTextEdit->toPlainText().toDouble(); + //set schedulable or not accordingly + qDebug()<schedulableComboBox->setCurrentIndex(0); + } + else + { + ui->schedulableComboBox->setCurrentIndex(1); + } +} diff --git a/st.h b/st.h index 796db03..fde7d72 100644 --- a/st.h +++ b/st.h @@ -3,6 +3,7 @@ #include #include +#include namespace Ui { class ST; @@ -26,6 +27,8 @@ private slots: void on_loadButton_clicked(); + void on_getSTButton_clicked(); + private: Ui::ST *ui; diff --git a/st.ui b/st.ui index 150f424..2009094 100644 --- a/st.ui +++ b/st.ui @@ -17,7 +17,7 @@ - Dialog + Schedulability Test @@ -36,6 +36,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -45,7 +58,7 @@ - Partition Availability Factor = + Regular Specification's Availability Factor = @@ -53,7 +66,7 @@ - 16777215 + 40 20 @@ -73,7 +86,7 @@ - 16777215 + 40 20 @@ -82,6 +95,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + diff --git a/task_dialog.ui b/task_dialog.ui index 077417a..1424c0c 100644 --- a/task_dialog.ui +++ b/task_dialog.ui @@ -63,7 +63,7 @@ - Period + Period/Minimum Separation Time diff --git a/test.pro.user b/test.pro.user index 364f456..376a708 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,2140 +1,336 @@ - - - - - - EnvironmentId - {d39bf3dd-c2dc-43dd-be10-ba8c48c33b8c} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - -fno-delayed-template-parsing - - true - Builtin.Questionable - - true - Builtin.DefaultTidyAndClazy - 4 - - - - true - - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.12.2 MSVC2015 64bit - Desktop Qt 5.12.2 MSVC2015 64bit - qt.qt5.5122.win64_msvc2015_64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - test2 - Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Desktop/RRP-Toolsets-developing/test.pro - C:/Users/MicheaBoab/Desktop/RRP-Toolsets-developing/test.pro - - false - - false - true - true - false - false - true - - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug - - 1 - - - - ProjectExplorer.Project.Target.1 - - Desktop Qt 5.12.2 MSVC2017 32bit - Desktop Qt 5.12.2 MSVC2017 32bit - qt.qt5.5122.win32_msvc2017_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.2 - - Desktop Qt 5.12.2 MSVC2017 64bit - Desktop Qt 5.12.2 MSVC2017 64bit - qt.qt5.5122.win64_msvc2017_64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.3 - - Desktop Qt 5.12.2 MinGW 32-bit - Desktop Qt 5.12.2 MinGW 32-bit - qt.qt5.5122.win32_mingw73_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.4 - - Desktop Qt 5.12.2 MinGW 64-bit - Desktop Qt 5.12.2 MinGW 64-bit - qt.qt5.5122.win64_mingw73_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile - C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.5 - - Qt 5.12.2 for UWP 32bit (MSVC 2017) - Qt 5.12.2 for UWP 32bit (MSVC 2017) - qt.qt5.5122.win64_msvc2017_winrt_x86_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - - true - Run windeployqt - WinRt.BuildStep.Deploy - --qmldir C:\Users\MicheaBoab\Desktop\test - --qmldir C:\Users\MicheaBoab\Desktop\test - - 1 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - WinRTAppxDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.6 - - Qt 5.12.2 for UWP 64bit (MSVC 2015) - Qt 5.12.2 for UWP 64bit (MSVC 2015) - qt.qt5.5122.win64_msvc2015_winrt_x64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - - true - Run windeployqt - WinRt.BuildStep.Deploy - --qmldir C:\Users\MicheaBoab\Desktop\test - --qmldir C:\Users\MicheaBoab\Desktop\test - - 1 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - WinRTAppxDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.7 - - Qt 5.12.2 for UWP 64bit (MSVC 2017) - Qt 5.12.2 for UWP 64bit (MSVC 2017) - qt.qt5.5122.win64_msvc2017_winrt_x64_kit - 0 - 0 - 0 - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - 2 - 2 - - - true - 2 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 2 - - - true - 0 - C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile - C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile - - - true - QtProjectManager.QMakeBuildStep - - false - - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - - true - Run windeployqt - WinRt.BuildStep.Deploy - --qmldir C:\Users\MicheaBoab\Desktop\test - --qmldir C:\Users\MicheaBoab\Desktop\test - - 1 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - WinRTAppxDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.TargetCount - 8 - - - ProjectExplorer.Project.Updater.FileVersion - 22 - - - Version - 22 - - + + + + + + EnvironmentId + {c4bc322e-a609-4dfe-83e1-a681b33f7f10} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.2 clang 64bit + Desktop Qt 5.12.2 clang 64bit + qt.qt5.5122.clang_64_kit + 0 + 0 + 0 + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy Configuration + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + test + test2 + Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/GitHub/RRP-Toolsets/test.pro + + 3768 + false + true + false + true + false + false + true + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 21 + + + Version + 21 + + diff --git a/test.pro.user.c4bc322.4.10-pre1 b/test.pro.user.c4bc322.4.10-pre1 deleted file mode 100644 index 700fb84..0000000 --- a/test.pro.user.c4bc322.4.10-pre1 +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - EnvironmentId - {c4bc322e-a609-4dfe-83e1-a681b33f7f10} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - true - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.12.2 clang 64bit - Desktop Qt 5.12.2 clang 64bit - qt.qt5.5122.clang_64_kit - 0 - 0 - 0 - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - 0 - Deploy - - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy Configuration - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - test - - Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/Scheduling/Implementation/App/test 4/test.pro - - 3768 - false - true - false - true - false - false - true - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 21 - - - Version - 21 - - From 72f0ae09dbd40f096b358ea0a07092a114bd6fd5 Mon Sep 17 00:00:00 2001 From: MicheaBoab <50056681+MicheaBoab@users.noreply.github.com> Date: Sun, 8 Nov 2020 17:59:59 -0600 Subject: [PATCH 6/9] Add files via upload Ability to choose the save and load path Clear tablewidge when loading file Unable to save the drop-down item info --- asc.cpp | 112 +- asc.h | 16 +- partition_dialog.cpp | 8 +- partition_dialog.h | 4 +- pcg.cpp | 142 +- pcg.h | 5 + pcg.ui | 36 +- st.cpp | 142 +- st.h | 8 +- st.ui | 34 +- task_dialog.ui | 2 +- test.pro.user | 1386 +++++++++++++++----- test.pro.user.c4bc322.4.10-pre1 | 336 +++++ test.pro.user.d39bf3d | 2140 +++++++++++++++++++++++++++++++ 14 files changed, 3915 insertions(+), 456 deletions(-) create mode 100644 test.pro.user.c4bc322.4.10-pre1 create mode 100644 test.pro.user.d39bf3d diff --git a/asc.cpp b/asc.cpp index 8de60f5..44052c8 100644 --- a/asc.cpp +++ b/asc.cpp @@ -1,6 +1,10 @@ #include "asc.h" #include "ui_asc.h" #include "partition_dialog.h" +#include "QFile" +#include "QDebug" +#include "QMessageBox" +#include "QFileDialog" ASC::ASC(QWidget *parent) : QDialog(parent), @@ -20,8 +24,8 @@ ASC::~ASC() void ASC::on_addPartitionButton_clicked() { - QString name; - double wcet, period; + //QString name; + //double wcet, period; int res; Partition_Dialog pd; pd.exec(); @@ -38,9 +42,9 @@ void ASC::on_addPartitionButton_clicked() ui->tableWidget->insertRow(ui->tableWidget->rowCount()); int temp = ui->tableWidget->rowCount() - 1; ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); - ui->tableWidget->setItem(temp, WCEP, new QTableWidgetItem(QString::number(wcet))); - ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(QString::number(period))); - ui->tableWidget->setItem(temp, Availability_Factor, new QTableWidgetItem(QString::number(wcet/period))); + ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); + ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); + ui->tableWidget->setItem(temp, Availability_Factor, new QTableWidgetItem(QString::number(wcet.toDouble()/period.toDouble()))); } @@ -53,3 +57,101 @@ void ASC::on_generateButton_clicked() { } + +void ASC::on_saveButton_clicked() +{ + QString filename1 = QFileDialog::getSaveFileName( + this, + "TextEditor - save as", + "", + "Text File (*.txt);;All Files (*.*)"); + curSaveFile = filename1; + if(!filename1.isEmpty()) + { + saveFile(); + } + else + { + return; + } +} + +void ASC::saveFile() +{ + //统计行数 + item_counter = ui->tableWidget->rowCount(); + qDebug() << item_counter; + + QFile file1(curSaveFile); + if(!file1.open(QIODevice::WriteOnly)) + { + QMessageBox::warning( + this, + "TextEditor", + tr("Cannot write file %1./nError: %2") + .arg(curSaveFile) + .arg(file1.errorString())); + + } + + QDataStream out(&file1); + out.setVersion(QDataStream::Qt_4_7); + + for(int i = 0; i < item_counter; i++) + { + out << ui->tableWidget->item(i,Name)->text() + << ui->tableWidget->item(i,WCET)->text() + << ui->tableWidget->item(i,Period)->text(); + } + + + file1.flush(); + file1.close(); +} + +void ASC::on_loadButton_clicked() +{ + QString filename1 = QFileDialog::getSaveFileName( + this, + "TextEditor - save as", + "", + "Text File (*.txt);;All Files (*.*)"); + curSaveFile = filename1; + if(!filename1.isEmpty()) + { + saveFile(); + } + else + { + return; + } + +} + +void ASC::loadFile() +{ + QFile file("data3.txt"); + if(!file.open(QIODevice::ReadOnly)) + { + qDebug() << "Can not open file"; + return; + } + QDataStream in(&file); + in.setVersion(QDataStream::Qt_4_7); + + for(int i = 0; i < item_counter; i++) + { + in >> name + >> wcet + >> period; + + ui->tableWidget->insertRow(ui->tableWidget->rowCount()); + int temp = ui->tableWidget->rowCount() - 1; + + //逐行输入 + ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); + ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); + ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); + } + file.close(); +} diff --git a/asc.h b/asc.h index bcc0b40..c726660 100644 --- a/asc.h +++ b/asc.h @@ -22,15 +22,27 @@ private slots: void on_generateButton_clicked(); + void on_loadButton_clicked(); + + void on_saveButton_clicked(); + private: Ui::ASC *ui; + void saveFile(); + void loadFile(); + QString curSaveFile; + QString curOpenFile; + + QString name; + QString wcet, period; + enum Column { - Name, WCEP, Period, Availability_Factor + Name, WCET, Period, Availability_Factor }; - QVector m_data; + int item_counter = 0; int id = 1; }; diff --git a/partition_dialog.cpp b/partition_dialog.cpp index 982c14d..3ac51cc 100644 --- a/partition_dialog.cpp +++ b/partition_dialog.cpp @@ -28,13 +28,13 @@ QString Partition_Dialog::Name() const return ui->idLineEdit->text(); } -float Partition_Dialog::WCET() const +QString Partition_Dialog::WCET() const { - return ui->wcetLineEdit->text().toDouble(); + return ui->wcetLineEdit->text(); } -float Partition_Dialog::Period() const +QString Partition_Dialog::Period() const { - return ui->periodLineEdit->text().toDouble(); + return ui->periodLineEdit->text(); } diff --git a/partition_dialog.h b/partition_dialog.h index 348d0b5..f3d9bae 100644 --- a/partition_dialog.h +++ b/partition_dialog.h @@ -14,8 +14,8 @@ class Partition_Dialog : public QDialog public: QString Name() const; - float WCET() const; - float Period() const; + QString WCET() const; + QString Period() const; explicit Partition_Dialog(QWidget *parent = nullptr); ~Partition_Dialog(); diff --git a/pcg.cpp b/pcg.cpp index fba90fa..faa7661 100644 --- a/pcg.cpp +++ b/pcg.cpp @@ -2,6 +2,8 @@ #include "ui_pcg.h" #include "QComboBox" #include "QFile" +#include "QMessageBox" +#include "QFileDialog" #include "QDebug" PCG::PCG(QWidget *parent) : @@ -11,7 +13,7 @@ PCG::PCG(QWidget *parent) : ui->setupUi(this); QStringList title_col; ui->tableWidget->setColumnCount(7); - title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); } @@ -73,38 +75,138 @@ void PCG::on_taskRemoveButton_clicked() void PCG::on_saveButton_clicked() { - //统计行数 创建数组 + QString filename1 = QFileDialog::getSaveFileName( + this, + "TextEditor - save as", + "", + "Text File (*.txt);;All Files (*.*)"); + curSaveFile = filename1; + if(!filename1.isEmpty()) + { + saveFile(); + } + else + { + return; + } +} + +void PCG::saveFile() +{ + //统计行数 item_counter = ui->tableWidget->rowCount(); qDebug() << item_counter; - QVector> vec; - //存入vector - for(int i = 0; i < item_counter; i++) + + QFile file1(curSaveFile); + if(!file1.open(QIODevice::WriteOnly)) { - QVector temp; - temp.push_back(ui->tableWidget->item(i,Name)->text()); - temp.push_back(ui->tableWidget->item(i,WCET)->text()); - temp.push_back(ui->tableWidget->item(i,Deadline)->text()); - temp.push_back(ui->tableWidget->item(i,Period)->text()); - temp.push_back(ui->tableWidget->item(i,Jitter)->text()); - temp.push_back(ui->tableWidget->item(i,Offset)->text()); - //下拉菜单 - //temp.push_back(ui->tableWidget->cellWidget(i, Periodic_or_sporadic)); - - vec.push_back(temp); + QMessageBox::warning( + this, + "TextEditor", + tr("Cannot write file %1./nError: %2") + .arg(curSaveFile) + .arg(file1.errorString())); + } - QFile file("save.txt"); - if(!file.open(QFile::WriteOnly | QFile::Text)) + QDataStream out(&file1); + out.setVersion(QDataStream::Qt_4_7); + + out << QString::number(item_counter); + for(int i = 0; i < item_counter; i++) { - qDebug()<<"can not open to write"; - return; + out << ui->tableWidget->item(i,Name)->text() + << ui->tableWidget->item(i,WCET)->text() + << ui->tableWidget->item(i,Deadline)->text() + << ui->tableWidget->item(i,Period)->text() + << ui->tableWidget->item(i,Jitter)->text() + << ui->tableWidget->item(i,Offset)->text(); + //下拉选单 } + file1.flush(); + file1.close(); } void PCG::on_loadButton_clicked() { + QString filename2 = QFileDialog::getOpenFileName( + this, + tr("Open Address Book"), + "", + tr("Address Book (*.txt,,All Files (*))")); + curOpenFile = filename2; + if(!filename2.isEmpty()) + { + loadFile(); + } + else + { + return; + } +} + +void PCG::loadFile() +{ + QFile file(curOpenFile); + if(!file.open(QIODevice::ReadOnly)) + { + QMessageBox::warning( + this, + "TextEditor", + tr("Cannot open file %1./nError: %2") + .arg(curOpenFile) + .arg(file.errorString())); + } + QDataStream in(&file); + in.setVersion(QDataStream::Qt_4_7); + + qDebug() << file; + QString temp_counter; + in >> temp_counter; + item_counter = temp_counter.toInt(); + + ui->tableWidget->setRowCount(0); + for(int i = 0; i < item_counter; i++) + { + in >> name + >> wcet + >> deadline + >> period + >> jitter + >> offset; + //下拉选单 + //>> isperiodic; + + qDebug() << name; + + ui->tableWidget->insertRow(ui->tableWidget->rowCount()); + int temp = ui->tableWidget->rowCount() - 1; + + QComboBox *dropdown = new QComboBox(); + dropdown->addItem("Periodic"); + dropdown->addItem("Sporadic"); + + //逐行输入 + ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); + ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); + ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); + ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); + ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); + ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); + //下拉选单 + ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); + if(isperiodic == "true") + { + dropdown->setCurrentIndex(0); + } + else + { + dropdown->setCurrentIndex(1); + } + } + file.close(); } void PCG::fraction_add(long& a_deno, long& a_no, long b_deno, long b_no) diff --git a/pcg.h b/pcg.h index bfe882a..934010d 100644 --- a/pcg.h +++ b/pcg.h @@ -42,6 +42,11 @@ private slots: private: Ui::PCG *ui; + void saveFile(); + void loadFile(); + QString curSaveFile; + QString curOpenFile; + QString name; QString wcet, deadline, period, jitter, offset; QString isperiodic; diff --git a/pcg.ui b/pcg.ui index 4b6bd1b..d8f493e 100644 --- a/pcg.ui +++ b/pcg.ui @@ -20,7 +20,7 @@ - Resource Specification Generator + Partition Configuration Generator @@ -40,19 +40,6 @@ QLayout::SetNoConstraint - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -62,7 +49,7 @@ - Regular Specification's Availability Factor: + Regular Partition Availability Factor: @@ -79,7 +66,7 @@ - 40 + 256 25 @@ -94,7 +81,7 @@ - / + = @@ -111,7 +98,7 @@ - 40 + 16777215 25 @@ -120,19 +107,6 @@ - - - - Qt::Horizontal - - - - 40 - 20 - - - - diff --git a/st.cpp b/st.cpp index 3fd9192..de3e66c 100644 --- a/st.cpp +++ b/st.cpp @@ -1,5 +1,9 @@ #include "st.h" #include "ui_st.h" +#include "QFile" +#include "QDebug" +#include "QMessageBox" +#include "QFileDialog" ST::ST(QWidget *parent) : QDialog(parent), @@ -8,7 +12,7 @@ ST::ST(QWidget *parent) : ui->setupUi(this); QStringList title_col; ui->tableWidget->setColumnCount(7); - title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); } @@ -65,42 +69,136 @@ void ST::on_taskEnterButton_clicked() void ST::on_taskRemoveButton_clicked() { - + ui->tableWidget->removeRow(ui->tableWidget->currentRow()); } void ST::on_saveButton_clicked() { - + QString filename1 = QFileDialog::getSaveFileName( + this, + "TextEditor - save as", + "", + "Text File (*.txt);;All Files (*.*)"); + curSaveFile = filename1; + if(!filename1.isEmpty()) + { + saveFile(); + } + else + { + return; + } } -void ST::on_loadButton_clicked() +void ST::saveFile() { + //统计行数 + item_counter = ui->tableWidget->rowCount(); + qDebug() << item_counter; -} + QFile file("data2.txt"); + if(!file.open(QIODevice::WriteOnly)) + { + qDebug() << "Can not open file"; + return; + } + + QDataStream out(&file); + out.setVersion(QDataStream::Qt_4_7); -void ST::on_getSTButton_clicked() -{ - item_counter = ui->tableWidget->rowCount(); - double af = 0; - //calculate the smallest availability factor required to make it schedulable for(int i = 0; i < item_counter; i++) { - double wcet = ui->tableWidget->item(i, WCET)->text().toDouble(); - double period = ui->tableWidget->item(i, Period)->text().toDouble(); - double deadline = ui->tableWidget -> item(i, Deadline)->text().toDouble(); - double temp = qCeil(wcet) / (double)qFloor(qMin(period, deadline)); - af += temp; + out << ui->tableWidget->item(i,Name)->text() + << ui->tableWidget->item(i,WCET)->text() + << ui->tableWidget->item(i,Deadline)->text() + << ui->tableWidget->item(i,Period)->text() + << ui->tableWidget->item(i,Jitter)->text() + << ui->tableWidget->item(i,Offset)->text(); + //下拉选单 } - double inputAf = ui->wcetTextEdit->toPlainText().toDouble()/ui->periodTextEdit->toPlainText().toDouble(); - //set schedulable or not accordingly - qDebug()<schedulableComboBox->setCurrentIndex(0); + loadFile(); } else { - ui->schedulableComboBox->setCurrentIndex(1); + return; } } + +void ST::loadFile() +{ + QFile file(curOpenFile); + if(!file.open(QIODevice::ReadOnly)) + { + QMessageBox::warning( + this, + "TextEditor", + tr("Cannot open file %1./nError: %2") + .arg(curOpenFile) + .arg(file.errorString())); + } + QDataStream in(&file); + in.setVersion(QDataStream::Qt_4_7); + + qDebug() << file; + QString temp_counter; + in >> temp_counter; + item_counter = temp_counter.toInt(); + + ui->tableWidget->setRowCount(0); + for(int i = 0; i < item_counter; i++) + { + in >> name + >> wcet + >> deadline + >> period + >> jitter + >> offset; + //下拉选单 + //>> isperiodic; + + qDebug() << name; + + ui->tableWidget->insertRow(ui->tableWidget->rowCount()); + int temp = ui->tableWidget->rowCount() - 1; + + QComboBox *dropdown = new QComboBox(); + dropdown->addItem("Periodic"); + dropdown->addItem("Sporadic"); + + //逐行输入 + ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); + ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); + ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); + ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); + ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); + ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); + //下拉选单 + ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); + if(isperiodic == "true") + { + dropdown->setCurrentIndex(0); + } + else + { + dropdown->setCurrentIndex(1); + } + } + + file.close(); +} diff --git a/st.h b/st.h index fde7d72..edcdf7e 100644 --- a/st.h +++ b/st.h @@ -3,7 +3,6 @@ #include #include -#include namespace Ui { class ST; @@ -27,11 +26,14 @@ private slots: void on_loadButton_clicked(); - void on_getSTButton_clicked(); - private: Ui::ST *ui; + void saveFile(); + void loadFile(); + QString curSaveFile; + QString curOpenFile; + QString name; QString wcet, deadline, period, jitter, offset; QString isperiodic; diff --git a/st.ui b/st.ui index 2009094..150f424 100644 --- a/st.ui +++ b/st.ui @@ -17,7 +17,7 @@ - Schedulability Test + Dialog @@ -36,19 +36,6 @@ - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -58,7 +45,7 @@ - Regular Specification's Availability Factor = + Partition Availability Factor = @@ -66,7 +53,7 @@ - 40 + 16777215 20 @@ -86,7 +73,7 @@ - 40 + 16777215 20 @@ -95,19 +82,6 @@ - - - - Qt::Horizontal - - - - 40 - 20 - - - - diff --git a/task_dialog.ui b/task_dialog.ui index 1424c0c..077417a 100644 --- a/task_dialog.ui +++ b/task_dialog.ui @@ -63,7 +63,7 @@ - Period/Minimum Separation Time + Period diff --git a/test.pro.user b/test.pro.user index 376a708..6b939d2 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,336 +1,1050 @@ - - - - - - EnvironmentId - {c4bc322e-a609-4dfe-83e1-a681b33f7f10} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - true - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.12.2 clang 64bit - Desktop Qt 5.12.2 clang 64bit - qt.qt5.5122.clang_64_kit - 0 - 0 - 0 - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - 0 - Deploy - - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy Configuration - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - test - test2 - Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/GitHub/RRP-Toolsets/test.pro - - 3768 - false - true - false - true - false - false - true - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 21 - - - Version - 21 - - + + + + + + EnvironmentId + {55c63d66-9bb6-4a41-8e49-05331a01fb8f} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + false + {7ef46efd-8c0c-4dc7-90fd-253b69fa21b4} + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.2 MSVC2017 32bit + Desktop Qt 5.12.2 MSVC2017 32bit + qt.qt5.5122.win32_msvc2017_kit + 0 + 0 + 0 + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + test2 + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Documents/RRP-Toolsets-developing/test.pro + C:/Users/MicheaBoab/Documents/RRP-Toolsets-developing/test.pro + + false + + false + true + true + false + false + true + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.12.2 MSVC2017 64bit + Desktop Qt 5.12.2 MSVC2017 64bit + qt.qt5.5122.win64_msvc2017_64_kit + 0 + 0 + 0 + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.2 + + Desktop Qt 5.12.2 MinGW 32-bit + Desktop Qt 5.12.2 MinGW 32-bit + qt.qt5.5122.win32_mingw73_kit + 0 + 0 + 0 + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.3 + + Desktop Qt 5.12.2 MinGW 64-bit + Desktop Qt 5.12.2 MinGW 64-bit + qt.qt5.5122.win64_mingw73_kit + 0 + 0 + 0 + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 4 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/test.pro.user.c4bc322.4.10-pre1 b/test.pro.user.c4bc322.4.10-pre1 new file mode 100644 index 0000000..700fb84 --- /dev/null +++ b/test.pro.user.c4bc322.4.10-pre1 @@ -0,0 +1,336 @@ + + + + + + EnvironmentId + {c4bc322e-a609-4dfe-83e1-a681b33f7f10} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.2 clang 64bit + Desktop Qt 5.12.2 clang 64bit + qt.qt5.5122.clang_64_kit + 0 + 0 + 0 + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy Configuration + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + test + + Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/Scheduling/Implementation/App/test 4/test.pro + + 3768 + false + true + false + true + false + false + true + + /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 21 + + + Version + 21 + + diff --git a/test.pro.user.d39bf3d b/test.pro.user.d39bf3d new file mode 100644 index 0000000..364f456 --- /dev/null +++ b/test.pro.user.d39bf3d @@ -0,0 +1,2140 @@ + + + + + + EnvironmentId + {d39bf3dd-c2dc-43dd-be10-ba8c48c33b8c} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + Builtin.Questionable + + true + Builtin.DefaultTidyAndClazy + 4 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.2 MSVC2015 64bit + Desktop Qt 5.12.2 MSVC2015 64bit + qt.qt5.5122.win64_msvc2015_64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + test2 + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Desktop/RRP-Toolsets-developing/test.pro + C:/Users/MicheaBoab/Desktop/RRP-Toolsets-developing/test.pro + + false + + false + true + true + false + false + true + + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2015_64bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.12.2 MSVC2017 32bit + Desktop Qt 5.12.2 MSVC2017 32bit + qt.qt5.5122.win32_msvc2017_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.2 + + Desktop Qt 5.12.2 MSVC2017 64bit + Desktop Qt 5.12.2 MSVC2017 64bit + qt.qt5.5122.win64_msvc2017_64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.3 + + Desktop Qt 5.12.2 MinGW 32-bit + Desktop Qt 5.12.2 MinGW 32-bit + qt.qt5.5122.win32_mingw73_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.4 + + Desktop Qt 5.12.2 MinGW 64-bit + Desktop Qt 5.12.2 MinGW 64-bit + qt.qt5.5122.win64_mingw73_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile + C:/Users/MicheaBoab/Desktop/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.5 + + Qt 5.12.2 for UWP 32bit (MSVC 2017) + Qt 5.12.2 for UWP 32bit (MSVC 2017) + qt.qt5.5122.win64_msvc2017_winrt_x86_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_32bit_MSVC_2017-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + + true + Run windeployqt + WinRt.BuildStep.Deploy + --qmldir C:\Users\MicheaBoab\Desktop\test + --qmldir C:\Users\MicheaBoab\Desktop\test + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + WinRTAppxDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.6 + + Qt 5.12.2 for UWP 64bit (MSVC 2015) + Qt 5.12.2 for UWP 64bit (MSVC 2015) + qt.qt5.5122.win64_msvc2015_winrt_x64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2015-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + + true + Run windeployqt + WinRt.BuildStep.Deploy + --qmldir C:\Users\MicheaBoab\Desktop\test + --qmldir C:\Users\MicheaBoab\Desktop\test + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + WinRTAppxDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.7 + + Qt 5.12.2 for UWP 64bit (MSVC 2017) + Qt 5.12.2 for UWP 64bit (MSVC 2017) + qt.qt5.5122.win64_msvc2017_winrt_x64_kit + 0 + 0 + 0 + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\MicheaBoab\Desktop\build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile + C:/Users/MicheaBoab/Desktop/build-test-Qt_5_12_2_for_UWP_64bit_MSVC_2017-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + + true + Run windeployqt + WinRt.BuildStep.Deploy + --qmldir C:\Users\MicheaBoab\Desktop\test + --qmldir C:\Users\MicheaBoab\Desktop\test + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + WinRTAppxDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 8 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + From 1d00c9f856f0c6299a7e3f7fa481d2a3b907ff2f Mon Sep 17 00:00:00 2001 From: MicheaBoab <50056681+MicheaBoab@users.noreply.github.com> Date: Tue, 10 Nov 2020 19:00:52 -0600 Subject: [PATCH 7/9] Add files via upload --- asc.cpp | 2 +- asc.h | 2 ++ pcg.cpp | 40 ++++++++++++++++----------------- pcg.ui | 36 ++++++++++++++++++++++++----- st.cpp | 32 ++++++++++++++++++++++++-- st.h | 4 ++++ st.ui | 34 ++++++++++++++++++++++++---- task_dialog.ui | 2 +- test.pro.user | 6 ++--- test.pro.user.c4bc322.4.10-pre1 | 6 ++--- 10 files changed, 125 insertions(+), 39 deletions(-) diff --git a/asc.cpp b/asc.cpp index 44052c8..e1f4f92 100644 --- a/asc.cpp +++ b/asc.cpp @@ -45,7 +45,6 @@ void ASC::on_addPartitionButton_clicked() ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); ui->tableWidget->setItem(temp, Availability_Factor, new QTableWidgetItem(QString::number(wcet.toDouble()/period.toDouble()))); - } void ASC::on_removePartitionButton_clicked() @@ -155,3 +154,4 @@ void ASC::loadFile() } file.close(); } + diff --git a/asc.h b/asc.h index c726660..1d156ba 100644 --- a/asc.h +++ b/asc.h @@ -42,6 +42,8 @@ private slots: Name, WCET, Period, Availability_Factor }; + QVector m_data; + int item_counter = 0; int id = 1; diff --git a/pcg.cpp b/pcg.cpp index faa7661..18d1242 100644 --- a/pcg.cpp +++ b/pcg.cpp @@ -2,9 +2,9 @@ #include "ui_pcg.h" #include "QComboBox" #include "QFile" +#include "QDebug" #include "QMessageBox" #include "QFileDialog" -#include "QDebug" PCG::PCG(QWidget *parent) : QDialog(parent), @@ -13,7 +13,7 @@ PCG::PCG(QWidget *parent) : ui->setupUi(this); QStringList title_col; ui->tableWidget->setColumnCount(7); - title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); } @@ -73,24 +73,6 @@ void PCG::on_taskRemoveButton_clicked() ui->tableWidget->removeRow(ui->tableWidget->currentRow()); } -void PCG::on_saveButton_clicked() -{ - QString filename1 = QFileDialog::getSaveFileName( - this, - "TextEditor - save as", - "", - "Text File (*.txt);;All Files (*.*)"); - curSaveFile = filename1; - if(!filename1.isEmpty()) - { - saveFile(); - } - else - { - return; - } -} - void PCG::saveFile() { //统计行数 @@ -128,6 +110,24 @@ void PCG::saveFile() file1.close(); } +void PCG::on_saveButton_clicked() +{ + QString filename1 = QFileDialog::getSaveFileName( + this, + "TextEditor - save as", + "", + "Text File (*.txt);;All Files (*.*)"); + curSaveFile = filename1; + if(!filename1.isEmpty()) + { + saveFile(); + } + else + { + return; + } +} + void PCG::on_loadButton_clicked() { QString filename2 = QFileDialog::getOpenFileName( diff --git a/pcg.ui b/pcg.ui index d8f493e..4b6bd1b 100644 --- a/pcg.ui +++ b/pcg.ui @@ -20,7 +20,7 @@ - Partition Configuration Generator + Resource Specification Generator @@ -40,6 +40,19 @@ QLayout::SetNoConstraint + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -49,7 +62,7 @@ - Regular Partition Availability Factor: + Regular Specification's Availability Factor: @@ -66,7 +79,7 @@ - 256 + 40 25 @@ -81,7 +94,7 @@ - = + / @@ -98,7 +111,7 @@ - 16777215 + 40 25 @@ -107,6 +120,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + diff --git a/st.cpp b/st.cpp index de3e66c..c82405a 100644 --- a/st.cpp +++ b/st.cpp @@ -12,7 +12,7 @@ ST::ST(QWidget *parent) : ui->setupUi(this); QStringList title_col; ui->tableWidget->setColumnCount(7); - title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); } @@ -69,7 +69,7 @@ void ST::on_taskEnterButton_clicked() void ST::on_taskRemoveButton_clicked() { - ui->tableWidget->removeRow(ui->tableWidget->currentRow()); + } void ST::on_saveButton_clicked() @@ -202,3 +202,31 @@ void ST::loadFile() file.close(); } + + +void ST::on_getSTButton_clicked() +{ + item_counter = ui->tableWidget->rowCount(); + double af = 0; + //calculate the smallest availability factor required to make it schedulable + for(int i = 0; i < item_counter; i++) + { + double wcet = ui->tableWidget->item(i, WCET)->text().toDouble(); + double period = ui->tableWidget->item(i, Period)->text().toDouble(); + double deadline = ui->tableWidget -> item(i, Deadline)->text().toDouble(); + double temp = qCeil(wcet) / (double)qFloor(qMin(period, deadline)); + af += temp; + } + double inputAf = ui->wcetTextEdit->toPlainText().toDouble()/ui->periodTextEdit->toPlainText().toDouble(); + //set schedulable or not accordingly + qDebug()<schedulableComboBox->setCurrentIndex(0); + } + else + { + ui->schedulableComboBox->setCurrentIndex(1); + } +} diff --git a/st.h b/st.h index edcdf7e..aadeb9a 100644 --- a/st.h +++ b/st.h @@ -3,6 +3,7 @@ #include #include +#include namespace Ui { class ST; @@ -26,6 +27,8 @@ private slots: void on_loadButton_clicked(); + void on_getSTButton_clicked(); + private: Ui::ST *ui; @@ -34,6 +37,7 @@ private slots: QString curSaveFile; QString curOpenFile; + QString name; QString wcet, deadline, period, jitter, offset; QString isperiodic; diff --git a/st.ui b/st.ui index 150f424..2009094 100644 --- a/st.ui +++ b/st.ui @@ -17,7 +17,7 @@ - Dialog + Schedulability Test @@ -36,6 +36,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -45,7 +58,7 @@ - Partition Availability Factor = + Regular Specification's Availability Factor = @@ -53,7 +66,7 @@ - 16777215 + 40 20 @@ -73,7 +86,7 @@ - 16777215 + 40 20 @@ -82,6 +95,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + diff --git a/task_dialog.ui b/task_dialog.ui index 077417a..1424c0c 100644 --- a/task_dialog.ui +++ b/task_dialog.ui @@ -63,7 +63,7 @@ - Period + Period/Minimum Separation Time diff --git a/test.pro.user b/test.pro.user index 6b939d2..7540439 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -289,8 +289,8 @@ 2 test2 - Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Documents/RRP-Toolsets-developing/test.pro - C:/Users/MicheaBoab/Documents/RRP-Toolsets-developing/test.pro + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Documents/RRP-Toolsets-6294af118eca8b013cb2882922368d9ed7676428/test.pro + C:/Users/MicheaBoab/Documents/RRP-Toolsets-6294af118eca8b013cb2882922368d9ed7676428/test.pro false diff --git a/test.pro.user.c4bc322.4.10-pre1 b/test.pro.user.c4bc322.4.10-pre1 index 700fb84..376a708 100644 --- a/test.pro.user.c4bc322.4.10-pre1 +++ b/test.pro.user.c4bc322.4.10-pre1 @@ -1,6 +1,6 @@ - + EnvironmentId @@ -304,8 +304,8 @@ 2 test - - Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/Scheduling/Implementation/App/test 4/test.pro + test2 + Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/GitHub/RRP-Toolsets/test.pro 3768 false From 2f5ccb9073db177b9dd2b25071a0f9b1f28cf996 Mon Sep 17 00:00:00 2001 From: MicheaBoab <50056681+MicheaBoab@users.noreply.github.com> Date: Sat, 14 Nov 2020 00:39:54 -0600 Subject: [PATCH 8/9] Add files via upload Change save method to json file instead of binary. Fixed but under acs section (need to double click to add task) Implement remove function to remove button in ST --- asc.cpp | 88 ++++++++++++++++++++++++++++++-------------- pcg.cpp | 100 +++++++++++++++++++++++++++++++------------------- st.cpp | 93 +++++++++++++++++++++++++++++----------------- test.pro.user | 2 +- 4 files changed, 183 insertions(+), 100 deletions(-) diff --git a/asc.cpp b/asc.cpp index e1f4f92..61bcc9b 100644 --- a/asc.cpp +++ b/asc.cpp @@ -5,6 +5,10 @@ #include "QDebug" #include "QMessageBox" #include "QFileDialog" +#include "QJsonObject" +#include "QJsonDocument" +#include "QJsonArray" +#include "QJsonParseError" ASC::ASC(QWidget *parent) : QDialog(parent), @@ -24,11 +28,8 @@ ASC::~ASC() void ASC::on_addPartitionButton_clicked() { - //QString name; - //double wcet, period; int res; Partition_Dialog pd; - pd.exec(); res = pd.exec(); if(res == QDialog::Rejected) { @@ -63,7 +64,7 @@ void ASC::on_saveButton_clicked() this, "TextEditor - save as", "", - "Text File (*.txt);;All Files (*.*)"); + "Json File (*.json);;All Files (*.*)"); curSaveFile = filename1; if(!filename1.isEmpty()) { @@ -81,44 +82,52 @@ void ASC::saveFile() item_counter = ui->tableWidget->rowCount(); qDebug() << item_counter; - QFile file1(curSaveFile); - if(!file1.open(QIODevice::WriteOnly)) + QFile file(curSaveFile); + if(!file.open(QIODevice::WriteOnly)) { QMessageBox::warning( this, "TextEditor", - tr("Cannot write file %1./nError: %2") + tr("Cannot write file %1.\nError: %2") .arg(curSaveFile) - .arg(file1.errorString())); + .arg(file.errorString())); } - QDataStream out(&file1); - out.setVersion(QDataStream::Qt_4_7); + QJsonObject mainObj; for(int i = 0; i < item_counter; i++) { - out << ui->tableWidget->item(i,Name)->text() - << ui->tableWidget->item(i,WCET)->text() - << ui->tableWidget->item(i,Period)->text(); + QJsonObject jsonObject; + jsonObject.insert("Name",ui->tableWidget->item(i,Name)->text()); + jsonObject.insert("WCET",ui->tableWidget->item(i,WCET)->text()); + jsonObject.insert("Period",ui->tableWidget->item(i,Period)->text()); + + mainObj.insert(QString::number(i + 1),jsonObject); } + QJsonObject jsonObject; + jsonObject.insert("item_counter", item_counter); + mainObj.insert("number",jsonObject); + + QJsonDocument jsonDoc; + jsonDoc.setObject(mainObj); - file1.flush(); - file1.close(); + file.write(jsonDoc.toJson()); + file.close(); } void ASC::on_loadButton_clicked() { - QString filename1 = QFileDialog::getSaveFileName( + QString filename1 = QFileDialog::getOpenFileName( this, - "TextEditor - save as", + "TextEditor - Open", "", - "Text File (*.txt);;All Files (*.*)"); - curSaveFile = filename1; + "Json File (*.json);;All Files (*.*)"); + curOpenFile = filename1; if(!filename1.isEmpty()) { - saveFile(); + loadFile(); } else { @@ -129,21 +138,44 @@ void ASC::on_loadButton_clicked() void ASC::loadFile() { - QFile file("data3.txt"); + qDebug() << "start loading"; + QFile file(curOpenFile); if(!file.open(QIODevice::ReadOnly)) { qDebug() << "Can not open file"; return; } - QDataStream in(&file); - in.setVersion(QDataStream::Qt_4_7); - for(int i = 0; i < item_counter; i++) + QByteArray allData = file.readAll(); + file.close(); + + QJsonParseError json_error; + QJsonDocument jsonDoc(QJsonDocument::fromJson(allData, &json_error)); + + if(json_error.error != QJsonParseError::NoError) + { + qDebug() << "error"; + return; + } + + int item_size = 0; + + QJsonObject rootObj = jsonDoc.object(); + //getting item size + if(rootObj.contains("number")) { - in >> name - >> wcet - >> period; + item_size = rootObj.value("number").toObject()["item_counter"].toInt(); + } + ui->tableWidget->setRowCount(0); + //reading items + for(int i = 0; i tableWidget->insertRow(ui->tableWidget->rowCount()); int temp = ui->tableWidget->rowCount() - 1; @@ -151,7 +183,7 @@ void ASC::loadFile() ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); + ui->tableWidget->setItem(temp, Availability_Factor, new QTableWidgetItem(QString::number(wcet.toDouble()/period.toDouble()))); } - file.close(); } diff --git a/pcg.cpp b/pcg.cpp index 18d1242..694ab45 100644 --- a/pcg.cpp +++ b/pcg.cpp @@ -5,6 +5,10 @@ #include "QDebug" #include "QMessageBox" #include "QFileDialog" +#include "QJsonObject" +#include "QJsonDocument" +#include "QJsonArray" +#include "QJsonParseError" PCG::PCG(QWidget *parent) : QDialog(parent), @@ -79,35 +83,45 @@ void PCG::saveFile() item_counter = ui->tableWidget->rowCount(); qDebug() << item_counter; - QFile file1(curSaveFile); - if(!file1.open(QIODevice::WriteOnly)) + QFile file(curSaveFile); + if(!file.open(QIODevice::WriteOnly)) { QMessageBox::warning( this, "TextEditor", tr("Cannot write file %1./nError: %2") .arg(curSaveFile) - .arg(file1.errorString())); + .arg(file.errorString())); } - QDataStream out(&file1); - out.setVersion(QDataStream::Qt_4_7); + QJsonObject mainObj; - out << QString::number(item_counter); for(int i = 0; i < item_counter; i++) { - out << ui->tableWidget->item(i,Name)->text() - << ui->tableWidget->item(i,WCET)->text() - << ui->tableWidget->item(i,Deadline)->text() - << ui->tableWidget->item(i,Period)->text() - << ui->tableWidget->item(i,Jitter)->text() - << ui->tableWidget->item(i,Offset)->text(); + QJsonObject jsonObject; + jsonObject.insert("Name",ui->tableWidget->item(i,Name)->text()); + jsonObject.insert("WCET",ui->tableWidget->item(i,WCET)->text()); + jsonObject.insert("Deadline",ui->tableWidget->item(i,Deadline)->text()); + jsonObject.insert("Period",ui->tableWidget->item(i,Period)->text()); + jsonObject.insert("Jitter",ui->tableWidget->item(i,Jitter)->text()); + jsonObject.insert("Offset",ui->tableWidget->item(i,Offset)->text()); + //下拉选单 + + + mainObj.insert(QString::number(i + 1),jsonObject); } - file1.flush(); - file1.close(); + QJsonObject jsonObject; + jsonObject.insert("item_counter", item_counter); + mainObj.insert("number",jsonObject); + + QJsonDocument jsonDoc; + jsonDoc.setObject(mainObj); + + file.write(jsonDoc.toJson()); + file.close(); } void PCG::on_saveButton_clicked() @@ -116,7 +130,7 @@ void PCG::on_saveButton_clicked() this, "TextEditor - save as", "", - "Text File (*.txt);;All Files (*.*)"); + "Json File (*.json);;All Files (*.*)"); curSaveFile = filename1; if(!filename1.isEmpty()) { @@ -132,9 +146,9 @@ void PCG::on_loadButton_clicked() { QString filename2 = QFileDialog::getOpenFileName( this, - tr("Open Address Book"), + "TextEditor - Open", "", - tr("Address Book (*.txt,,All Files (*))")); + "Json File (*.json);;All Files (*.*)"); curOpenFile = filename2; if(!filename2.isEmpty()) { @@ -158,35 +172,48 @@ void PCG::loadFile() .arg(curOpenFile) .arg(file.errorString())); } - QDataStream in(&file); - in.setVersion(QDataStream::Qt_4_7); - qDebug() << file; - QString temp_counter; - in >> temp_counter; - item_counter = temp_counter.toInt(); + QByteArray allData = file.readAll(); + file.close(); - ui->tableWidget->setRowCount(0); - for(int i = 0; i < item_counter; i++) + QJsonParseError json_error; + QJsonDocument jsonDoc(QJsonDocument::fromJson(allData, &json_error)); + + if(json_error.error != QJsonParseError::NoError) + { + qDebug() << "error"; + return; + } + + int item_size = 0; + + QJsonObject rootObj = jsonDoc.object(); + //getting item size + if(rootObj.contains("number")) { - in >> name - >> wcet - >> deadline - >> period - >> jitter - >> offset; - //下拉选单 - //>> isperiodic; + item_size = rootObj.value("number").toObject()["item_counter"].toInt(); + } - qDebug() << name; + ui->tableWidget->setRowCount(0); + //reading items + for(int i = 0; i tableWidget->insertRow(ui->tableWidget->rowCount()); int temp = ui->tableWidget->rowCount() - 1; QComboBox *dropdown = new QComboBox(); dropdown->addItem("Periodic"); dropdown->addItem("Sporadic"); - //逐行输入 ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); @@ -194,6 +221,7 @@ void PCG::loadFile() ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); + //下拉选单 ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); if(isperiodic == "true") @@ -205,8 +233,6 @@ void PCG::loadFile() dropdown->setCurrentIndex(1); } } - - file.close(); } void PCG::fraction_add(long& a_deno, long& a_no, long b_deno, long b_no) diff --git a/st.cpp b/st.cpp index c82405a..bae4ae9 100644 --- a/st.cpp +++ b/st.cpp @@ -4,6 +4,10 @@ #include "QDebug" #include "QMessageBox" #include "QFileDialog" +#include "QJsonObject" +#include "QJsonDocument" +#include "QJsonArray" +#include "QJsonParseError" ST::ST(QWidget *parent) : QDialog(parent), @@ -69,7 +73,7 @@ void ST::on_taskEnterButton_clicked() void ST::on_taskRemoveButton_clicked() { - + ui->tableWidget->removeRow(ui->tableWidget->currentRow()); } void ST::on_saveButton_clicked() @@ -78,7 +82,7 @@ void ST::on_saveButton_clicked() this, "TextEditor - save as", "", - "Text File (*.txt);;All Files (*.*)"); + "Json File (*.json);;All Files (*.*)"); curSaveFile = filename1; if(!filename1.isEmpty()) { @@ -96,29 +100,39 @@ void ST::saveFile() item_counter = ui->tableWidget->rowCount(); qDebug() << item_counter; - QFile file("data2.txt"); + QFile file(curSaveFile); if(!file.open(QIODevice::WriteOnly)) { qDebug() << "Can not open file"; return; } - QDataStream out(&file); - out.setVersion(QDataStream::Qt_4_7); + QJsonObject mainObj; for(int i = 0; i < item_counter; i++) { - out << ui->tableWidget->item(i,Name)->text() - << ui->tableWidget->item(i,WCET)->text() - << ui->tableWidget->item(i,Deadline)->text() - << ui->tableWidget->item(i,Period)->text() - << ui->tableWidget->item(i,Jitter)->text() - << ui->tableWidget->item(i,Offset)->text(); + QJsonObject jsonObject; + jsonObject.insert("Name",ui->tableWidget->item(i,Name)->text()); + jsonObject.insert("WCET",ui->tableWidget->item(i,WCET)->text()); + jsonObject.insert("Deadline",ui->tableWidget->item(i,Deadline)->text()); + jsonObject.insert("Period",ui->tableWidget->item(i,Period)->text()); + jsonObject.insert("Jitter",ui->tableWidget->item(i,Jitter)->text()); + jsonObject.insert("Offset",ui->tableWidget->item(i,Offset)->text()); + //下拉选单 + + + mainObj.insert(QString::number(i + 1),jsonObject); } + QJsonObject jsonObject; + jsonObject.insert("item_counter", item_counter); + mainObj.insert("number",jsonObject); + + QJsonDocument jsonDoc; + jsonDoc.setObject(mainObj); - file.flush(); + file.write(jsonDoc.toJson()); file.close(); } @@ -126,9 +140,9 @@ void ST::on_loadButton_clicked() { QString filename2 = QFileDialog::getOpenFileName( this, - tr("Open Address Book"), + "TextEditor - Open", "", - tr("Address Book (*.txt,,All Files (*))")); + "Json File (*.json);;All Files (*.*)"); curOpenFile = filename2; if(!filename2.isEmpty()) { @@ -152,35 +166,47 @@ void ST::loadFile() .arg(curOpenFile) .arg(file.errorString())); } - QDataStream in(&file); - in.setVersion(QDataStream::Qt_4_7); + QByteArray allData = file.readAll(); + file.close(); - qDebug() << file; - QString temp_counter; - in >> temp_counter; - item_counter = temp_counter.toInt(); + QJsonParseError json_error; + QJsonDocument jsonDoc(QJsonDocument::fromJson(allData, &json_error)); - ui->tableWidget->setRowCount(0); - for(int i = 0; i < item_counter; i++) + if(json_error.error != QJsonParseError::NoError) { - in >> name - >> wcet - >> deadline - >> period - >> jitter - >> offset; - //下拉选单 - //>> isperiodic; + qDebug() << "error"; + return; + } - qDebug() << name; + int item_size = 0; + QJsonObject rootObj = jsonDoc.object(); + //getting item size + if(rootObj.contains("number")) + { + item_size = rootObj.value("number").toObject()["item_counter"].toInt(); + } + + ui->tableWidget->setRowCount(0); + //reading items + for(int i = 0; i tableWidget->insertRow(ui->tableWidget->rowCount()); int temp = ui->tableWidget->rowCount() - 1; QComboBox *dropdown = new QComboBox(); dropdown->addItem("Periodic"); dropdown->addItem("Sporadic"); - //逐行输入 ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); @@ -188,6 +214,7 @@ void ST::loadFile() ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); + //下拉选单 ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); if(isperiodic == "true") @@ -199,8 +226,6 @@ void ST::loadFile() dropdown->setCurrentIndex(1); } } - - file.close(); } diff --git a/test.pro.user b/test.pro.user index 7540439..efde658 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId From 3da50823def5cd8a280925190900f5c350df6c80 Mon Sep 17 00:00:00 2001 From: Guangli Dai Date: Mon, 16 Nov 2020 22:41:41 -0600 Subject: [PATCH 9/9] Version 0.8 Accomplish the basic function of the three tools. The visualization will be optimized in the upcoming version. --- README.md | 9 + asc.cpp | 480 ++++++++++- asc.h | 31 + asc.ui | 101 ++- mainwindow.cpp | 24 +- mainwindow.h | 8 +- mainwindow.ui | 10 +- partition.cpp | 5 +- partition.h | 13 +- partition_dialog.cpp | 1 + pcg.cpp => rsg.cpp | 64 +- pcg.h => rsg.h | 16 +- pcg.ui => rsg.ui | 23 +- scheduleoutput_dialog.cpp | 19 + scheduleoutput_dialog.h | 23 + scheduleoutput_dialog.ui | 75 ++ st.cpp | 45 +- st.ui | 32 +- test.pro | 11 +- test.pro.user | 1386 ++++++++----------------------- test.pro.user.c4bc322.4.10-pre1 | 336 -------- 21 files changed, 1223 insertions(+), 1489 deletions(-) rename pcg.cpp => rsg.cpp (81%) rename pcg.h => rsg.h (81%) rename pcg.ui => rsg.ui (90%) create mode 100644 scheduleoutput_dialog.cpp create mode 100644 scheduleoutput_dialog.h create mode 100644 scheduleoutput_dialog.ui delete mode 100644 test.pro.user.c4bc322.4.10-pre1 diff --git a/README.md b/README.md index 7e0274a..faac15b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,11 @@ # RRP-Toolsets The task-level and resource-level tools based on Regularity-based Resource Partitioning (RRP) model +The current version is v0.8. It includes the following tools. +## Resource Specification Generator (RSG) +RSG takes in the information of a task set that will be deployed on a partition. It generates an availabilit factor (a resource specification) so that the task set given is schedulable on the partition with the availability factor. +## Cyclic Schedule Generator (CSG) +CSG generates one cyclic schedule for each CPU with the configurations of the partitions (resource specifications) taken as inputs. +## Schedualbility Test (ST) +ST can judge whether the current configuration of a partition can offer real-time performance guarantees to the task set being deployed. + +To run the application, you need to install Qt 5.12 or above. A packaged application without preliminary installs required will be added soon. \ No newline at end of file diff --git a/asc.cpp b/asc.cpp index 61bcc9b..1bc0d10 100644 --- a/asc.cpp +++ b/asc.cpp @@ -9,6 +9,9 @@ #include "QJsonDocument" #include "QJsonArray" #include "QJsonParseError" +#include "scheduleoutput_dialog.h" +#include +#include ASC::ASC(QWidget *parent) : QDialog(parent), @@ -55,7 +58,29 @@ void ASC::on_removePartitionButton_clicked() void ASC::on_generateButton_clicked() { - + QVector partitions; + for(int i=0; itableWidget->rowCount(); i++) + { + QString id = ui->tableWidget->item(i, Name)->text(); + long long wcet = ui->tableWidget->item(i, WCET)->text().toLongLong(); + long long period = ui->tableWidget->item(i, Period)->text().toLongLong(); + Partition temp_par(id, wcet, period); + partitions.push_back(temp_par); + } + //print to check + //for(int i=0; itableWidget->item(i,Name)->text()); + jsonObject.insert("RSID",ui->tableWidget->item(i,Name)->text()); jsonObject.insert("WCET",ui->tableWidget->item(i,WCET)->text()); jsonObject.insert("Period",ui->tableWidget->item(i,Period)->text()); mainObj.insert(QString::number(i + 1),jsonObject); } + //save CPU # + mainObj.insert("CPU#", ui->numCPUTextEdit->toPlainText()); + mainObj.insert("timeSliceLength", ui->timeSliceLengthEdit->toPlainText()); + QJsonObject jsonObject; jsonObject.insert("item_counter", item_counter); mainObj.insert("number",jsonObject); @@ -138,7 +167,6 @@ void ASC::on_loadButton_clicked() void ASC::loadFile() { - qDebug() << "start loading"; QFile file(curOpenFile); if(!file.open(QIODevice::ReadOnly)) { @@ -171,7 +199,7 @@ void ASC::loadFile() //reading items for(int i = 0; i tableWidget->insertRow(ui->tableWidget->rowCount()); int temp = ui->tableWidget->rowCount() - 1; - //逐行输入 + //set the table column by column ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); ui->tableWidget->setItem(temp, Period, new QTableWidgetItem(period)); ui->tableWidget->setItem(temp, Availability_Factor, new QTableWidgetItem(QString::number(wcet.toDouble()/period.toDouble()))); } + //read CPU# + ui->numCPUTextEdit->setPlainText(rootObj.value("CPU#").toString()); + ui->timeSliceLengthEdit->setPlainText(rootObj.value("timeSliceLength").toString()); +} + +double ASC::approximate_value(double value) +{ + double result = qFloor(value); + if(value - result > 0.9999) + return result + 1; + else if(value - result > 0.49999 && value - result < 0.5) + return result + 0.5; + else if (value - result > 0 && value - result < 0.00001) + return result; + return value; + +} + +approximates ASC::z_approx(double af, int factor) +{ + double factor_double = static_cast(factor); + approximates result; + result.aaf = 1; + result.WCET = 1; + result.period = 1; + + if(af==0) + { + return result; + } + else if (af > 0 && af < 1.0 / factor_double) + { + int n = qFloor(approximate_value(qLn(factor_double*af)/qLn(0.5))); + result.WCET = 1; + result.period = factor * qPow(2,n); + result.aaf = static_cast(result.WCET)/ static_cast(result.period); + return result; + } + else if (af >= 1.0 / factor_double && af <= (factor_double - 1) / factor_double) + { + result.period = factor; + result.WCET = qCeil(approximate_value(factor * af)); + result.aaf = static_cast(result.WCET) / static_cast(result.period); + return result; + } + else if (af > (factor_double - 1)/ factor_double && af < 1) + { + int n = qCeil(approximate_value(qLn(factor * (1 - af)) / qLn(0.5))); + result.WCET = factor * qPow(2, n) - 1; + result.period = factor * qPow(2, n); + result.aaf = static_cast(result.WCET) / static_cast(result.period); + return result; + } + else + { + result.aaf = 1; + result.WCET = 1; + result.period = 1; + return result; + } +} + + +dp_return ASC::dp_single(QVector partition_list, int factor) +{ + //approximate all partitions using the factor, note that af stays the same while WCET and period are updated so that WCET/period = aaf + int largest_period = 1; + for(int i=0; i largest_period) + largest_period = app_result.period; + } + //convert all wcet and period according to the largest_period + for(int i=0; i> dp; + //dp_result stores the set of ids of partitions chosen to reach dp[i][j] + QVector>> dp_result; + //initialize the two 2D arrays + for(int i=0; i temp_dp; + QVector> temp_result; + for(int j=0; j temp; + temp_result.push_back(temp); + } + dp.push_back(temp_dp); + dp_result.push_back(temp_result); + } + + for(int i=0; i= WCET_now) + { + temp2 = dp[i-1][j-WCET_now] + af_now; + } + + if(temp1 >= temp2) + { + dp[i][j] = temp1; + dp_result[i][j] = dp_result[i-1][j]; + } + else + { + dp[i][j] = temp2; + dp_result[i][j] = dp_result[i-1][j - WCET_now]; + dp_result[i][j].insert(id_now); + } + } + } + dp_return result; + result.ids = dp_result[n-1][m-1]; + result.af_sum = dp[n-1][m-1]; + return result; +} + +QVector> ASC::MulZ_ILO(QVector partitions, int numCPU) +{ + int factors[4]= {3,4,5,7}; + QVector> results; + for(int i=0; i result; + results.push_back(result); + continue; + } + //choose a set of partitions for a certain CPU + double max_s = 0; + int factor_used = 0; + QSet chosen_ps; + for(int factor : factors) + { + dp_return temp_result = dp_single(partitions, factor); + if(temp_result.af_sum > max_s) + { + max_s = temp_result.af_sum; + chosen_ps = temp_result.ids; + factor_used = factor; + } + } + + //use partitions with id in chosen_ps to generate a schedule + //filter used partition out from the partitions + QVector temp_partitions; + QVector partitions_now; + //qDebug()<<"Chosen partitions for CPU #"< result = CSG_AZ(partitions_now, factor_used); + results.push_back(result); + } + return results; } +bool ASC::check_delta(QSet avail_set, QVector standard_p, int delta, int p) +{ + for(int time : standard_p) + { + int time_now = (time + delta)%p; + if(!avail_set.contains(time_now)) + return false; + } + return true; +} + + +int ASC::find_delta(QSet avail_timeslices, int p, int q, int q_left) +{ + QVector standard_p1, standard_p2; + for(int k=0; k temp_avail = avail_timeslices; + QSet partition1_set; + for(int time : standard_p1) + { + partition1_set.insert((time + delta1)%p); + } + temp_avail.subtract(partition1_set); + for(int delta2 = 0; delta2 ASC::CSG_AZ(QVector partition_list, int factor) +{ + //to be finished + QVector result; + QVector schedule; + QSet avail_timeslices; + //approximate partitions using the factor, calculate the hyper-period meanwhile + int hyper_period = 0; + for(int i=0; i(a.getWCET())/ static_cast(a.getPeriod()); + double b_aaf = static_cast(b.getWCET())/ static_cast(b.getPeriod()); + return a_aaf > b_aaf; + + }); + + for(Partition p : partition_list) + { + //qDebug()< occupied_time; + if(p.getWCET()!=1) + { + + int delta1 = find_delta(avail_timeslices, p.getPeriod(), p.getWCET(), avail_timeslices.size()*p.getPeriod()/hyper_period - p.getWCET()); + if(delta1==-1) + { + qDebug()<<"Unschedulable Resource Specifications!"; + return result; + } + //allocate time slices according to delta1 + for(int l=0; l= p.getPeriod()) + { + qDebug()<<"Unschedulable Resource Specifications!"; + return result; + } + for(int l=0; l > schedules, int time_slice_size) +{ + QDomDocument doc; + QDomElement root = doc.createElement("ProcessorTable"); + doc.appendChild(root); + for(int i=0; i +#include +#include "partition.h" namespace Ui { class ASC; } +struct approximates +{ + double aaf; + int WCET; + int period; +}; + +struct dp_return +{ + QSet ids; + double af_sum; +}; + +struct sched_entry +{ + int start; + int duration; + QString id; +}; class ASC : public QDialog { @@ -31,6 +52,16 @@ private slots: void saveFile(); void loadFile(); + double approximate_value(double input); + approximates z_approx(double aaf, int factor); + dp_return dp_single(QVector partition_list, int factor); + QVector> MulZ_ILO(QVector partitions, int numCPU); + QVector CSG_AZ(QVector, int factor); + bool check_delta(QSet avail_set, QVector standard_p, int delta, int p); + int find_delta(QSet avail_timeslices, int p, int q, int q_left); + int lcm(int a, int b); + QString getXMLFormat(QVector> schedules, int time_slice_size); + QString curSaveFile; QString curOpenFile; diff --git a/asc.ui b/asc.ui index 0058f38..d60c83c 100644 --- a/asc.ui +++ b/asc.ui @@ -11,7 +11,7 @@ - Dialog + Cyclic Schedule Generator @@ -26,6 +26,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -53,19 +66,105 @@ 0 + + + 50 + 20 + + + + Qt::ScrollBarAlwaysOff + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + 16777215 20 + + Time-slice length: + + + + + + + + 50 + 20 + + + + true + Qt::ScrollBarAlwaysOff + + + + ms + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + diff --git a/mainwindow.cpp b/mainwindow.cpp index 51058fd..ea0a394 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -2,6 +2,7 @@ #include "ui_mainwindow.h" #include "asc.h" #include "st.h" +#include "rsg.h" #include #include #include @@ -58,12 +59,6 @@ void MainWindow::on_actionSave_as_triggered() file.close(); } -void MainWindow::on_pcgButton_clicked() -{ - PCG pcg; - pcg.setModal(true); - pcg.exec(); -} void MainWindow::on_ascButton_clicked() { @@ -83,8 +78,8 @@ void MainWindow::on_schedulabilityButton_clicked() void MainWindow::on_actionASG_triggered() { QMessageBox *mBox = new QMessageBox(QMessageBox::Information, - "Automated Schedule Configurator", - "ASC generates one cyclic schedule for each CPU with the configurations of the partitions taken as inputs.", + "Cyclic Schedule Generator", + "CSG generates one cyclic schedule for each CPU with the configurations of the partitions (resource specifications) taken as inputs.", QMessageBox::Ok | QMessageBox::Default); mBox->show(); } @@ -107,11 +102,18 @@ void MainWindow::on_actionRRP_model_triggered() mBox->show(); } -void MainWindow::on_actionPCG_triggered() +void MainWindow::on_actionRSG_triggered() { QMessageBox *mBox = new QMessageBox(QMessageBox::Information, - "Partition Configuration Generator", - "PCG takes in the information of a task set that will be deployed on a partition. It generates an availability factor so that the task set given is schedulable on the partition equipped with the availability factor. ", + "Resource Specification Generator", + "RSG takes in the information of a task set that will be deployed on a partition. It generates an availabilit factor (a resource specification) so that the task set given is schedulable on the partition with the availability factor. ", QMessageBox::Ok | QMessageBox::Default); mBox->show(); } + +void MainWindow::on_rsgButton_clicked() +{ + RSG rsg; + rsg.setModal(true); + rsg.exec(); +} diff --git a/mainwindow.h b/mainwindow.h index ab25526..b180cdc 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -3,7 +3,7 @@ #include #include -#include +#include #include namespace Ui { @@ -26,13 +26,11 @@ private slots: void on_actionSave_as_triggered(); - void on_pcgButton_clicked(); - void on_ascButton_clicked(); void on_schedulabilityButton_clicked(); - void on_actionPCG_triggered(); + void on_actionRSG_triggered(); void on_actionASG_triggered(); @@ -40,6 +38,8 @@ private slots: void on_actionRRP_model_triggered(); + void on_rsgButton_clicked(); + private: Ui::MainWindow *ui; }; diff --git a/mainwindow.ui b/mainwindow.ui index b227210..50c6202 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -53,7 +53,7 @@ - + 0 @@ -224,21 +224,21 @@ About - + - + - Partition Configuration Generator + Resource Specification Generator - Automated Schedule Generator + Cyclic Schedule Generator diff --git a/partition.cpp b/partition.cpp index 7987f5d..8745b5c 100644 --- a/partition.cpp +++ b/partition.cpp @@ -5,9 +5,12 @@ Partition::Partition() } -Partition::Partition(QString name, long long w, long long p) +Partition::Partition(QString name, int w, int p) { id = name; wcet = w; period = p; + af = static_cast(wcet)/static_cast(period); } + + diff --git a/partition.h b/partition.h index b82f926..6cf6c9c 100644 --- a/partition.h +++ b/partition.h @@ -6,12 +6,17 @@ class Partition { public: Partition(); - Partition(QString name, long long w, long long p); - + Partition(QString name, int w, int p); + QString getId(){return id;} + int getWCET(){return wcet;} + int getPeriod(){return period;} + double getAF(){return af;} + void reset(int w, int p){wcet = w; period=p;} private: QString id; - long long wcet; - long long period; + int wcet; + int period; + double af;//short for availability factor }; #endif // PARTITION_H diff --git a/partition_dialog.cpp b/partition_dialog.cpp index 3ac51cc..349b913 100644 --- a/partition_dialog.cpp +++ b/partition_dialog.cpp @@ -15,6 +15,7 @@ Partition_Dialog::~Partition_Dialog() void Partition_Dialog::on_buttonBox_accepted() { + //TODO: do a parameter check here accept(); } diff --git a/pcg.cpp b/rsg.cpp similarity index 81% rename from pcg.cpp rename to rsg.cpp index 694ab45..24d19e8 100644 --- a/pcg.cpp +++ b/rsg.cpp @@ -1,5 +1,5 @@ -#include "pcg.h" -#include "ui_pcg.h" +#include "rsg.h" +#include "ui_rsg.h" #include "QComboBox" #include "QFile" #include "QDebug" @@ -10,32 +10,35 @@ #include "QJsonArray" #include "QJsonParseError" -PCG::PCG(QWidget *parent) : +RSG::RSG(QWidget *parent) : QDialog(parent), - ui(new Ui::PCG) + ui(new Ui::RSG) { ui->setupUi(this); QStringList title_col; ui->tableWidget->setColumnCount(7); - title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; + title_col << "Task Id" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); + ui->tableWidget->setColumnWidth(3, 200); } -PCG::~PCG() +RSG::~RSG() { delete ui; } -void PCG::on_taskEnterButton_clicked() +void RSG::on_taskEnterButton_clicked() { int res; Task_Dialog td; + //takes user's input res = td.exec(); if(res == QDialog::Rejected) { return; } + name = td.Name(); wcet = td.WCET(); deadline = td.Deadline(); @@ -51,7 +54,7 @@ void PCG::on_taskEnterButton_clicked() dropdown->addItem("Periodic"); dropdown->addItem("Sporadic"); - //逐行输入 + //write to the table column after column ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); @@ -59,7 +62,7 @@ void PCG::on_taskEnterButton_clicked() ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); - //下拉选单 + //combobox setting ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); if(isperiodic == "true") { @@ -72,14 +75,14 @@ void PCG::on_taskEnterButton_clicked() } -void PCG::on_taskRemoveButton_clicked() +void RSG::on_taskRemoveButton_clicked() { ui->tableWidget->removeRow(ui->tableWidget->currentRow()); } -void PCG::saveFile() +void RSG::saveFile() { - //统计行数 + //get number of rows in the table item_counter = ui->tableWidget->rowCount(); qDebug() << item_counter; @@ -96,19 +99,20 @@ void PCG::saveFile() } QJsonObject mainObj; - + //writes data in json format one after another for(int i = 0; i < item_counter; i++) { QJsonObject jsonObject; - jsonObject.insert("Name",ui->tableWidget->item(i,Name)->text()); + jsonObject.insert("ID",ui->tableWidget->item(i,Name)->text()); jsonObject.insert("WCET",ui->tableWidget->item(i,WCET)->text()); jsonObject.insert("Deadline",ui->tableWidget->item(i,Deadline)->text()); jsonObject.insert("Period",ui->tableWidget->item(i,Period)->text()); jsonObject.insert("Jitter",ui->tableWidget->item(i,Jitter)->text()); jsonObject.insert("Offset",ui->tableWidget->item(i,Offset)->text()); - //下拉选单 - + QComboBox* temp_drop = static_cast(ui->tableWidget->cellWidget(i, Periodic_or_sporadic)); + isperiodic = temp_drop->currentText(); + jsonObject.insert("Periodic/Sporadic", isperiodic); mainObj.insert(QString::number(i + 1),jsonObject); } @@ -124,7 +128,7 @@ void PCG::saveFile() file.close(); } -void PCG::on_saveButton_clicked() +void RSG::on_saveButton_clicked() { QString filename1 = QFileDialog::getSaveFileName( this, @@ -142,7 +146,7 @@ void PCG::on_saveButton_clicked() } } -void PCG::on_loadButton_clicked() +void RSG::on_loadButton_clicked() { QString filename2 = QFileDialog::getOpenFileName( this, @@ -160,7 +164,7 @@ void PCG::on_loadButton_clicked() } } -void PCG::loadFile() +void RSG::loadFile() { QFile file(curOpenFile); if(!file.open(QIODevice::ReadOnly)) @@ -198,23 +202,24 @@ void PCG::loadFile() //reading items for(int i = 0; i tableWidget->insertRow(ui->tableWidget->rowCount()); int temp = ui->tableWidget->rowCount() - 1; QComboBox *dropdown = new QComboBox(); dropdown->addItem("Periodic"); dropdown->addItem("Sporadic"); - //逐行输入 + + //set column by column ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); @@ -222,9 +227,9 @@ void PCG::loadFile() ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); - //下拉选单 + //set up the combobox ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); - if(isperiodic == "true") + if(isperiodic == "Periodic") { dropdown->setCurrentIndex(0); } @@ -235,7 +240,7 @@ void PCG::loadFile() } } -void PCG::fraction_add(long& a_deno, long& a_no, long b_deno, long b_no) +void RSG::fraction_add(long& a_deno, long& a_no, long b_deno, long b_no) { long temp_deno = a_deno*b_no + a_no*b_deno; long temp_no = a_no * b_no; @@ -244,7 +249,7 @@ void PCG::fraction_add(long& a_deno, long& a_no, long b_deno, long b_no) reduce(a_deno, a_no); } -void PCG::reduce(long& a_deno, long& a_no) +void RSG::reduce(long& a_deno, long& a_no) { long temp_deno = a_deno; long temp_no = a_no; @@ -262,7 +267,7 @@ void PCG::reduce(long& a_deno, long& a_no) } -void PCG::on_getconfigButton_clicked() +void RSG::on_getconfigButton_clicked() { //get the number of rows item_counter = ui->tableWidget->rowCount(); @@ -278,7 +283,6 @@ void PCG::on_getconfigButton_clicked() fraction_add(af_upper, af_lower, temp_upper, temp_lower); } //set the availability factor in the UI - //ui->afUpperEdit-> ui->afUpperEdit->setText(QString::number(af_upper)); ui->afLowerEdit->setText(QString::number(af_lower)); } diff --git a/pcg.h b/rsg.h similarity index 81% rename from pcg.h rename to rsg.h index 934010d..f008a71 100644 --- a/pcg.h +++ b/rsg.h @@ -1,5 +1,5 @@ -#ifndef PCG_H -#define PCG_H +#ifndef RSG_H +#define RSG_H #include #include @@ -11,16 +11,16 @@ #include namespace Ui { -class PCG; +class RSG; } -class PCG : public QDialog +class RSG : public QDialog { Q_OBJECT public: - explicit PCG(QWidget *parent = nullptr); - ~PCG(); + explicit RSG(QWidget *parent = nullptr); + ~RSG(); public slots: void on_taskEnterButton_clicked(); @@ -40,7 +40,7 @@ private slots: //reduce a_deno/a_no void reduce(long& a_deno, long& a_no); private: - Ui::PCG *ui; + Ui::RSG *ui; void saveFile(); void loadFile(); @@ -62,4 +62,4 @@ private slots: int id = 1; }; -#endif // PCG_H +#endif // RSG_H diff --git a/pcg.ui b/rsg.ui similarity index 90% rename from pcg.ui rename to rsg.ui index 4b6bd1b..3dc8543 100644 --- a/pcg.ui +++ b/rsg.ui @@ -1,7 +1,7 @@ - PCG - + RSG + Qt::NonModal @@ -9,13 +9,13 @@ 0 0 - 787 + 950 530 - 780 + 950 530 @@ -35,6 +35,13 @@ + + + + Qt::Horizontal + + + @@ -62,7 +69,7 @@ - Regular Specification's Availability Factor: + Result: Regular Specification's Availability Factor= @@ -86,6 +93,9 @@ false + + Qt::NoFocus + Qt::ScrollBarAlwaysOff @@ -115,6 +125,9 @@ 25 + + Qt::NoFocus + Qt::ScrollBarAlwaysOff diff --git a/scheduleoutput_dialog.cpp b/scheduleoutput_dialog.cpp new file mode 100644 index 0000000..eeba3c4 --- /dev/null +++ b/scheduleoutput_dialog.cpp @@ -0,0 +1,19 @@ +#include "scheduleoutput_dialog.h" +#include "ui_scheduleoutput_dialog.h" + +ScheduleOutput_Dialog::ScheduleOutput_Dialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ScheduleOutput_Dialog) +{ + ui->setupUi(this); +} + +ScheduleOutput_Dialog::~ScheduleOutput_Dialog() +{ + delete ui; +} + +void ScheduleOutput_Dialog::setXML(QString xmlOutput) +{ + ui->xmlResultTextEdit->setPlainText(xmlOutput); +} diff --git a/scheduleoutput_dialog.h b/scheduleoutput_dialog.h new file mode 100644 index 0000000..8235103 --- /dev/null +++ b/scheduleoutput_dialog.h @@ -0,0 +1,23 @@ +#ifndef SCHEDULEOUTPUT_DIALOG_H +#define SCHEDULEOUTPUT_DIALOG_H + +#include + +namespace Ui { +class ScheduleOutput_Dialog; +} + +class ScheduleOutput_Dialog : public QDialog +{ + Q_OBJECT + +public: + explicit ScheduleOutput_Dialog(QWidget *parent = nullptr); + void setXML(QString xmlOutput); + ~ScheduleOutput_Dialog(); + +private: + Ui::ScheduleOutput_Dialog *ui; +}; + +#endif // SCHEDULEOUTPUT_DIALOG_H diff --git a/scheduleoutput_dialog.ui b/scheduleoutput_dialog.ui new file mode 100644 index 0000000..d180df7 --- /dev/null +++ b/scheduleoutput_dialog.ui @@ -0,0 +1,75 @@ + + + ScheduleOutput_Dialog + + + + 0 + 0 + 482 + 368 + + + + CSG Output + + + + + 0 + 5 + 481 + 361 + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + XML file for schedules generated + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::NoFocus + + + + + + + + + diff --git a/st.cpp b/st.cpp index bae4ae9..ca5fc2c 100644 --- a/st.cpp +++ b/st.cpp @@ -18,6 +18,7 @@ ST::ST(QWidget *parent) : ui->tableWidget->setColumnCount(7); title_col << "Task #" << "WCET(ms)" << "Deadline(ms)" << "Period/Minimum Separation(ms)" << "Jitter(ms)" << "Offset(ms)" << "Periodic/sporadic"; ui->tableWidget->setHorizontalHeaderLabels(title_col); + ui->tableWidget->setColumnWidth(3, 200); } ST::~ST() @@ -29,6 +30,7 @@ void ST::on_taskEnterButton_clicked() { int res; St_Dialog td; + //get user's inputs res = td.exec(); if(res == QDialog::Rejected) { @@ -50,7 +52,7 @@ void ST::on_taskEnterButton_clicked() dropdown->addItem("Periodic"); dropdown->addItem("Sporadic"); - //逐行输入 + //set items column by column ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); @@ -58,7 +60,7 @@ void ST::on_taskEnterButton_clicked() ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); - //下拉选单 + //combox box setup ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); if(isperiodic == "true") { @@ -96,14 +98,14 @@ void ST::on_saveButton_clicked() void ST::saveFile() { - //统计行数 + //get the number of rows in the table item_counter = ui->tableWidget->rowCount(); qDebug() << item_counter; QFile file(curSaveFile); if(!file.open(QIODevice::WriteOnly)) { - qDebug() << "Can not open file"; + qDebug() << "Cannot open file"; return; } @@ -112,15 +114,15 @@ void ST::saveFile() for(int i = 0; i < item_counter; i++) { QJsonObject jsonObject; - jsonObject.insert("Name",ui->tableWidget->item(i,Name)->text()); + jsonObject.insert("ID",ui->tableWidget->item(i,Name)->text()); jsonObject.insert("WCET",ui->tableWidget->item(i,WCET)->text()); jsonObject.insert("Deadline",ui->tableWidget->item(i,Deadline)->text()); jsonObject.insert("Period",ui->tableWidget->item(i,Period)->text()); jsonObject.insert("Jitter",ui->tableWidget->item(i,Jitter)->text()); jsonObject.insert("Offset",ui->tableWidget->item(i,Offset)->text()); - - //下拉选单 - + QComboBox* temp_drop = static_cast(ui->tableWidget->cellWidget(i, Periodic_or_sporadic)); + isperiodic = temp_drop->currentText(); + jsonObject.insert("Periodic/Sporadic", isperiodic); mainObj.insert(QString::number(i + 1),jsonObject); } @@ -129,6 +131,11 @@ void ST::saveFile() jsonObject.insert("item_counter", item_counter); mainObj.insert("number",jsonObject); + QJsonObject specification; + specification.insert("partitionWCET", ui->wcetTextEdit->toPlainText()); + specification.insert("partitionPeriod", ui->periodTextEdit->toPlainText()); + mainObj.insert("Specification", specification); + QJsonDocument jsonDoc; jsonDoc.setObject(mainObj); @@ -191,14 +198,14 @@ void ST::loadFile() //reading items for(int i = 0; i tableWidget->insertRow(ui->tableWidget->rowCount()); @@ -207,7 +214,8 @@ void ST::loadFile() QComboBox *dropdown = new QComboBox(); dropdown->addItem("Periodic"); dropdown->addItem("Sporadic"); - //逐行输入 + + //set column by column ui->tableWidget->setItem(temp, Name, new QTableWidgetItem(name)); ui->tableWidget->setItem(temp, WCET, new QTableWidgetItem(wcet)); ui->tableWidget->setItem(temp, Deadline, new QTableWidgetItem(deadline)); @@ -215,9 +223,9 @@ void ST::loadFile() ui->tableWidget->setItem(temp, Jitter, new QTableWidgetItem(jitter)); ui->tableWidget->setItem(temp, Offset, new QTableWidgetItem(offset)); - //下拉选单 + //combo box setup ui->tableWidget->setCellWidget(temp, Periodic_or_sporadic, dropdown); - if(isperiodic == "true") + if(isperiodic == "Periodic") { dropdown->setCurrentIndex(0); } @@ -226,6 +234,11 @@ void ST::loadFile() dropdown->setCurrentIndex(1); } } + if(rootObj.contains("Specification")) + { + ui->wcetTextEdit->setPlainText(rootObj.value("Specification").toObject()["partitionWCET"].toString()); + ui->periodTextEdit->setPlainText(rootObj.value("Specification").toObject()["partitionPeriod"].toString()); + } } @@ -239,13 +252,11 @@ void ST::on_getSTButton_clicked() double wcet = ui->tableWidget->item(i, WCET)->text().toDouble(); double period = ui->tableWidget->item(i, Period)->text().toDouble(); double deadline = ui->tableWidget -> item(i, Deadline)->text().toDouble(); - double temp = qCeil(wcet) / (double)qFloor(qMin(period, deadline)); + double temp = qCeil(wcet) / static_cast(qFloor(qMin(period, deadline))); af += temp; } double inputAf = ui->wcetTextEdit->toPlainText().toDouble()/ui->periodTextEdit->toPlainText().toDouble(); //set schedulable or not accordingly - qDebug()<schedulableComboBox->setCurrentIndex(0); diff --git a/st.ui b/st.ui index 2009094..b546eb1 100644 --- a/st.ui +++ b/st.ui @@ -6,14 +6,14 @@ 0 0 - 574 - 386 + 950 + 530 - 574 - 386 + 950 + 530 @@ -30,7 +30,14 @@ - + + + + 0 + 0 + + + @@ -103,13 +110,20 @@ 40 - 20 + 30 + + + + Qt::Horizontal + + + @@ -134,12 +148,18 @@ + + false + 16777215 20 + + Qt::NoFocus + schedulable diff --git a/test.pro b/test.pro index ea31725..7d36700 100644 --- a/test.pro +++ b/test.pro @@ -4,7 +4,7 @@ # #------------------------------------------------- -QT += core gui charts +QT += core gui charts xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets @@ -30,7 +30,8 @@ SOURCES += \ mainwindow.cpp \ partition.cpp \ partition_dialog.cpp \ - pcg.cpp \ + rsg.cpp \ + scheduleoutput_dialog.cpp \ st.cpp \ st_dialog.cpp \ task_dialog.cpp @@ -40,7 +41,8 @@ HEADERS += \ mainwindow.h \ partition.h \ partition_dialog.h \ - pcg.h \ + rsg.h \ + scheduleoutput_dialog.h \ st.h \ st_dialog.h \ task_dialog.h @@ -49,7 +51,8 @@ FORMS += \ asc.ui \ mainwindow.ui \ partition_dialog.ui \ - pcg.ui \ + rsg.ui \ + scheduleoutput_dialog.ui \ st.ui \ st_dialog.ui \ task_dialog.ui diff --git a/test.pro.user b/test.pro.user index efde658..fca953c 100644 --- a/test.pro.user +++ b/test.pro.user @@ -1,1050 +1,336 @@ - - - - - - EnvironmentId - {55c63d66-9bb6-4a41-8e49-05331a01fb8f} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - -fno-delayed-template-parsing - - false - {7ef46efd-8c0c-4dc7-90fd-253b69fa21b4} - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.12.2 MSVC2017 32bit - Desktop Qt 5.12.2 MSVC2017 32bit - qt.qt5.5122.win32_msvc2017_kit - 0 - 0 - 0 - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug - - - true - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Profile - - - true - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - test2 - Qt4ProjectManager.Qt4RunConfiguration:C:/Users/MicheaBoab/Documents/RRP-Toolsets-6294af118eca8b013cb2882922368d9ed7676428/test.pro - C:/Users/MicheaBoab/Documents/RRP-Toolsets-6294af118eca8b013cb2882922368d9ed7676428/test.pro - - false - - false - true - true - false - false - true - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_32bit-Debug - - 1 - - - - ProjectExplorer.Project.Target.1 - - Desktop Qt 5.12.2 MSVC2017 64bit - Desktop Qt 5.12.2 MSVC2017 64bit - qt.qt5.5122.win64_msvc2017_64_kit - 0 - 0 - 0 - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Debug - - - true - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MSVC2017_64bit-Profile - - - true - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.2 - - Desktop Qt 5.12.2 MinGW 32-bit - Desktop Qt 5.12.2 MinGW 32-bit - qt.qt5.5122.win32_mingw73_kit - 0 - 0 - 0 - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_32_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.3 - - Desktop Qt 5.12.2 MinGW 64-bit - Desktop Qt 5.12.2 MinGW 64-bit - qt.qt5.5122.win64_mingw73_kit - 0 - 0 - 0 - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - - C:/Users/MicheaBoab/Documents/123/build-test-Desktop_Qt_5_12_2_MinGW_64_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.TargetCount - 4 - - - ProjectExplorer.Project.Updater.FileVersion - 22 - - - Version - 22 - - + + + + + + EnvironmentId + {c4bc322e-a609-4dfe-83e1-a681b33f7f10} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.2 clang 64bit + Desktop Qt 5.12.2 clang 64bit + qt.qt5.5122.clang_64_kit + 0 + 0 + 0 + + /Users/chouyachou/Documents/GitHub/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /Users/chouyachou/Documents/GitHub/build-test-Desktop_Qt_5_12_2_clang_64bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /Users/chouyachou/Documents/GitHub/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy Configuration + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + test + + Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/GitHub/RRP-Toolsets/test.pro + + 3768 + false + true + false + true + false + false + true + + /Users/chouyachou/Documents/GitHub/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 21 + + + Version + 21 + + diff --git a/test.pro.user.c4bc322.4.10-pre1 b/test.pro.user.c4bc322.4.10-pre1 deleted file mode 100644 index 376a708..0000000 --- a/test.pro.user.c4bc322.4.10-pre1 +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - EnvironmentId - {c4bc322e-a609-4dfe-83e1-a681b33f7f10} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - true - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.12.2 clang 64bit - Desktop Qt 5.12.2 clang 64bit - qt.qt5.5122.clang_64_kit - 0 - 0 - 0 - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - 0 - Deploy - - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy Configuration - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - test - test2 - Qt4ProjectManager.Qt4RunConfiguration:/Users/chouyachou/Documents/GitHub/RRP-Toolsets/test.pro - - 3768 - false - true - false - true - false - false - true - - /Users/chouyachou/Documents/Scheduling/Implementation/App/build-test-Desktop_Qt_5_12_2_clang_64bit-Debug/test.app/Contents/MacOS - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 21 - - - Version - 21 - -