Skip to content

Commit 559996c

Browse files
committed
Implemented I/O Bench test GUI
* Added the GUI to show the performance of I/O of the Arduino Board * Created a mock in order to show the new screen behaviour The Arduino board test is still under development, so only the mock version is functional right now
1 parent 31c81ee commit 559996c

File tree

12 files changed

+598
-3
lines changed

12 files changed

+598
-3
lines changed

MLC/GUI/Autogenerated/autogenerated.py

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ def setupUi(self, BoardConfigurationWindow):
254254
self.closeButton.clicked.connect(BoardConfigurationWindow.close)
255255
self.removeDigitalPin.clicked.connect(BoardConfigurationWindow.removeDigitalPin)
256256
self.removeAnalogPin.clicked.connect(BoardConfigurationWindow.removeAnalogPin)
257+
self.benchTests.clicked.connect(BoardConfigurationWindow.on_bench_test_click)
257258
# QtCore.QMetaObject.connectSlotsByName(BoardConfigurationWindow)
258259

259260
def retranslateUi(self, BoardConfigurationWindow):
@@ -1109,6 +1110,94 @@ def retranslateUi(self, ExperimentInProgressWindow):
11091110

11101111
# -*- coding: utf-8 -*-
11111112

1113+
# Form implementation generated from reading ui file './mlc_qtcreator/arduino_performance_test.ui'
1114+
#
1115+
# Created by: PyQt5 UI code generator 5.7
1116+
#
1117+
# WARNING! All changes made in this file will be lost!
1118+
1119+
from PyQt5 import QtCore, QtGui, QtWidgets
1120+
1121+
class Ui_arduino_performance_test(object):
1122+
def setupUi(self, arduino_performance_test):
1123+
arduino_performance_test.setObjectName("arduino_performance_test")
1124+
arduino_performance_test.resize(775, 500)
1125+
arduino_performance_test.setMaximumSize(QtCore.QSize(16777215, 16777215))
1126+
self.verticalLayout = QtWidgets.QVBoxLayout(arduino_performance_test)
1127+
self.verticalLayout.setObjectName("verticalLayout")
1128+
self.graph_base = QtWidgets.QFrame(arduino_performance_test)
1129+
self.graph_base.setFrameShape(QtWidgets.QFrame.StyledPanel)
1130+
self.graph_base.setFrameShadow(QtWidgets.QFrame.Raised)
1131+
self.graph_base.setObjectName("graph_base")
1132+
self.verticalLayout.addWidget(self.graph_base)
1133+
self.groupBox = QtWidgets.QGroupBox(arduino_performance_test)
1134+
self.groupBox.setMaximumSize(QtCore.QSize(16777215, 150))
1135+
self.groupBox.setAutoFillBackground(False)
1136+
self.groupBox.setObjectName("groupBox")
1137+
self.formLayout = QtWidgets.QFormLayout(self.groupBox)
1138+
self.formLayout.setObjectName("formLayout")
1139+
self.avg_op = QtWidgets.QLabel(self.groupBox)
1140+
self.avg_op.setObjectName("avg_op")
1141+
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.avg_op)
1142+
self.std_dev = QtWidgets.QLabel(self.groupBox)
1143+
self.std_dev.setObjectName("std_dev")
1144+
self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.std_dev)
1145+
self.min_op = QtWidgets.QLabel(self.groupBox)
1146+
self.min_op.setObjectName("min_op")
1147+
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.min_op)
1148+
self.max_op = QtWidgets.QLabel(self.groupBox)
1149+
self.max_op.setObjectName("max_op")
1150+
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.max_op)
1151+
self.std_dev_value = QtWidgets.QLabel(self.groupBox)
1152+
self.std_dev_value.setObjectName("std_dev_value")
1153+
self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.std_dev_value)
1154+
self.min_op_value = QtWidgets.QLabel(self.groupBox)
1155+
self.min_op_value.setObjectName("min_op_value")
1156+
self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.min_op_value)
1157+
self.max_op_value = QtWidgets.QLabel(self.groupBox)
1158+
self.max_op_value.setObjectName("max_op_value")
1159+
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.max_op_value)
1160+
self.avg_op_value = QtWidgets.QLabel(self.groupBox)
1161+
self.avg_op_value.setObjectName("avg_op_value")
1162+
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.avg_op_value)
1163+
self.verticalLayout.addWidget(self.groupBox)
1164+
self.frame = QtWidgets.QFrame(arduino_performance_test)
1165+
self.frame.setMaximumSize(QtCore.QSize(16777215, 45))
1166+
self.frame.setFrameShape(QtWidgets.QFrame.NoFrame)
1167+
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
1168+
self.frame.setObjectName("frame")
1169+
self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame)
1170+
self.horizontalLayout.setObjectName("horizontalLayout")
1171+
self.resetButton = QtWidgets.QPushButton(self.frame)
1172+
self.resetButton.setObjectName("resetButton")
1173+
self.horizontalLayout.addWidget(self.resetButton)
1174+
self.closeButton = QtWidgets.QPushButton(self.frame)
1175+
self.closeButton.setObjectName("closeButton")
1176+
self.horizontalLayout.addWidget(self.closeButton)
1177+
self.verticalLayout.addWidget(self.frame, 0, QtCore.Qt.AlignHCenter)
1178+
1179+
self.retranslateUi(arduino_performance_test)
1180+
self.resetButton.clicked.connect(arduino_performance_test.on_bench_reset)
1181+
self.closeButton.clicked.connect(arduino_performance_test.on_close)
1182+
# QtCore.QMetaObject.connectSlotsByName(arduino_performance_test)
1183+
1184+
def retranslateUi(self, arduino_performance_test):
1185+
_translate = QtCore.QCoreApplication.translate
1186+
arduino_performance_test.setWindowTitle(_translate("arduino_performance_test", "Dialog"))
1187+
self.groupBox.setTitle(_translate("arduino_performance_test", "Stats"))
1188+
self.avg_op.setText(_translate("arduino_performance_test", "Avg. operations:"))
1189+
self.std_dev.setText(_translate("arduino_performance_test", "Standard deviation:"))
1190+
self.min_op.setText(_translate("arduino_performance_test", "Min. operations:"))
1191+
self.max_op.setText(_translate("arduino_performance_test", "Max operations:"))
1192+
self.std_dev_value.setText(_translate("arduino_performance_test", "0"))
1193+
self.min_op_value.setText(_translate("arduino_performance_test", "0"))
1194+
self.max_op_value.setText(_translate("arduino_performance_test", "0"))
1195+
self.avg_op_value.setText(_translate("arduino_performance_test", "0"))
1196+
self.resetButton.setText(_translate("arduino_performance_test", "Reset"))
1197+
self.closeButton.setText(_translate("arduino_performance_test", "Close"))
1198+
1199+
# -*- coding: utf-8 -*-
1200+
11121201
# Form implementation generated from reading ui file './mlc_qtcreator/genealogy.ui'
11131202
#
11141203
# Created by: PyQt5 UI code generator 5.7
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#include "arduino_performance_test.h"
2+
#include "ui_arduino_performance_test.h"
3+
4+
arduino_performance_test::arduino_performance_test(QWidget *parent) :
5+
QDialog(parent),
6+
ui(new Ui::arduino_performance_test)
7+
{
8+
ui->setupUi(this);
9+
}
10+
11+
arduino_performance_test::~arduino_performance_test()
12+
{
13+
delete ui;
14+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#ifndef ARDUINO_PERFORMANCE_TEST_H
2+
#define ARDUINO_PERFORMANCE_TEST_H
3+
4+
#include <QDialog>
5+
6+
namespace Ui {
7+
class arduino_performance_test;
8+
}
9+
10+
class arduino_performance_test : public QDialog
11+
{
12+
Q_OBJECT
13+
14+
public:
15+
explicit arduino_performance_test(QWidget *parent = 0);
16+
~arduino_performance_test();
17+
18+
private:
19+
Ui::arduino_performance_test *ui;
20+
};
21+
22+
#endif // ARDUINO_PERFORMANCE_TEST_H
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>arduino_performance_test</class>
4+
<widget class="QDialog" name="arduino_performance_test">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>775</width>
10+
<height>500</height>
11+
</rect>
12+
</property>
13+
<property name="maximumSize">
14+
<size>
15+
<width>16777215</width>
16+
<height>16777215</height>
17+
</size>
18+
</property>
19+
<property name="windowTitle">
20+
<string>Dialog</string>
21+
</property>
22+
<layout class="QVBoxLayout" name="verticalLayout">
23+
<item>
24+
<widget class="QFrame" name="graph_base">
25+
<property name="frameShape">
26+
<enum>QFrame::StyledPanel</enum>
27+
</property>
28+
<property name="frameShadow">
29+
<enum>QFrame::Raised</enum>
30+
</property>
31+
</widget>
32+
</item>
33+
<item>
34+
<widget class="QGroupBox" name="groupBox">
35+
<property name="maximumSize">
36+
<size>
37+
<width>16777215</width>
38+
<height>150</height>
39+
</size>
40+
</property>
41+
<property name="autoFillBackground">
42+
<bool>false</bool>
43+
</property>
44+
<property name="title">
45+
<string>Stats</string>
46+
</property>
47+
<layout class="QFormLayout" name="formLayout">
48+
<item row="0" column="0">
49+
<widget class="QLabel" name="avg_op">
50+
<property name="text">
51+
<string>Avg. operations:</string>
52+
</property>
53+
</widget>
54+
</item>
55+
<item row="5" column="0">
56+
<widget class="QLabel" name="std_dev">
57+
<property name="text">
58+
<string>Standard deviation:</string>
59+
</property>
60+
</widget>
61+
</item>
62+
<item row="3" column="0">
63+
<widget class="QLabel" name="min_op">
64+
<property name="text">
65+
<string>Min. operations:</string>
66+
</property>
67+
</widget>
68+
</item>
69+
<item row="2" column="0">
70+
<widget class="QLabel" name="max_op">
71+
<property name="text">
72+
<string>Max operations:</string>
73+
</property>
74+
</widget>
75+
</item>
76+
<item row="5" column="1">
77+
<widget class="QLabel" name="std_dev_value">
78+
<property name="text">
79+
<string>0</string>
80+
</property>
81+
</widget>
82+
</item>
83+
<item row="3" column="1">
84+
<widget class="QLabel" name="min_op_value">
85+
<property name="text">
86+
<string>0</string>
87+
</property>
88+
</widget>
89+
</item>
90+
<item row="2" column="1">
91+
<widget class="QLabel" name="max_op_value">
92+
<property name="text">
93+
<string>0</string>
94+
</property>
95+
</widget>
96+
</item>
97+
<item row="0" column="1">
98+
<widget class="QLabel" name="avg_op_value">
99+
<property name="text">
100+
<string>0</string>
101+
</property>
102+
</widget>
103+
</item>
104+
</layout>
105+
</widget>
106+
</item>
107+
<item alignment="Qt::AlignHCenter">
108+
<widget class="QFrame" name="frame">
109+
<property name="maximumSize">
110+
<size>
111+
<width>16777215</width>
112+
<height>45</height>
113+
</size>
114+
</property>
115+
<property name="frameShape">
116+
<enum>QFrame::NoFrame</enum>
117+
</property>
118+
<property name="frameShadow">
119+
<enum>QFrame::Raised</enum>
120+
</property>
121+
<layout class="QHBoxLayout" name="horizontalLayout">
122+
<item>
123+
<widget class="QPushButton" name="resetButton">
124+
<property name="text">
125+
<string>Reset</string>
126+
</property>
127+
</widget>
128+
</item>
129+
<item>
130+
<widget class="QPushButton" name="closeButton">
131+
<property name="text">
132+
<string>Close</string>
133+
</property>
134+
</widget>
135+
</item>
136+
</layout>
137+
</widget>
138+
</item>
139+
</layout>
140+
</widget>
141+
<resources/>
142+
<connections>
143+
<connection>
144+
<sender>resetButton</sender>
145+
<signal>clicked()</signal>
146+
<receiver>arduino_performance_test</receiver>
147+
<slot>on_bench_reset()</slot>
148+
<hints>
149+
<hint type="sourcelabel">
150+
<x>352</x>
151+
<y>472</y>
152+
</hint>
153+
<hint type="destinationlabel">
154+
<x>746</x>
155+
<y>450</y>
156+
</hint>
157+
</hints>
158+
</connection>
159+
<connection>
160+
<sender>closeButton</sender>
161+
<signal>clicked()</signal>
162+
<receiver>arduino_performance_test</receiver>
163+
<slot>on_close()</slot>
164+
<hints>
165+
<hint type="sourcelabel">
166+
<x>443</x>
167+
<y>472</y>
168+
</hint>
169+
<hint type="destinationlabel">
170+
<x>706</x>
171+
<y>469</y>
172+
</hint>
173+
</hints>
174+
</connection>
175+
</connections>
176+
<slots>
177+
<slot>on_bench_reset()</slot>
178+
<slot>on_close()</slot>
179+
</slots>
180+
</ui>

MLC/GUI/Autogenerated/mlc_qtcreator/board_config_design.ui

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,22 @@
685685
</hint>
686686
</hints>
687687
</connection>
688+
<connection>
689+
<sender>benchTests</sender>
690+
<signal>clicked()</signal>
691+
<receiver>BoardConfigurationWindow</receiver>
692+
<slot>on_bench_test_click()</slot>
693+
<hints>
694+
<hint type="sourcelabel">
695+
<x>202</x>
696+
<y>566</y>
697+
</hint>
698+
<hint type="destinationlabel">
699+
<x>391</x>
700+
<y>294</y>
701+
</hint>
702+
</hints>
703+
</connection>
688704
</connections>
689705
<slots>
690706
<slot>insertDigitalPin()</slot>
@@ -693,5 +709,6 @@
693709
<slot>showPinout()</slot>
694710
<slot>removeDigitalPin()</slot>
695711
<slot>removeAnalogPin()</slot>
712+
<slot>on_bench_test_click()</slot>
696713
</slots>
697714
</ui>

MLC/GUI/Autogenerated/mlc_qtcreator/mlc_qtcreator.pro

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ TEMPLATE = app
1313

1414

1515
SOURCES += main.cpp\
16-
mainwindow.cpp
16+
mainwindow.cpp \
17+
arduino_performance_test.cpp
1718

18-
HEADERS += mainwindow.h
19+
HEADERS += mainwindow.h \
20+
arduino_performance_test.h
1921

2022
FORMS += \
2123
mainwindow.ui \
@@ -25,4 +27,7 @@ FORMS += \
2527
genealogy.ui \
2628
board_config_design.ui \
2729
arduinoconnectiontest.ui \
28-
pinout_design.ui
30+
pinout_design.ui \
31+
arduino_performance_test.ui
32+
33+
DISTFILES +=

0 commit comments

Comments
 (0)