From a685eccceb12a49b344d70528c3894ae76f43ab1 Mon Sep 17 00:00:00 2001 From: Martin Killenberg <martin.killenberg@desy.de> Date: Thu, 19 Jan 2023 18:36:29 +0100 Subject: [PATCH] implement humidity sweep in GUI --- Python_script/climate-lab-gui.py | 30 ++++++++++++++++++++++++++---- Python_script/climate-lab-main.ui | 16 ++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/Python_script/climate-lab-gui.py b/Python_script/climate-lab-gui.py index cc85ac3..ec99002 100755 --- a/Python_script/climate-lab-gui.py +++ b/Python_script/climate-lab-gui.py @@ -14,12 +14,20 @@ class TestStandMainWindow(QMainWindow): self.qt_app = qt_app self.startButton.clicked.connect(lambda: self.do_measurement()) + self.tempSweepButton.clicked.connect(lambda: self.set_temp_sweep_labels()) + self.humSweepButton.clicked.connect(lambda: self.set_hum_sweep_labels()) - def do_measurement(self): - if self.humSweepButton.isChecked(): - QtWidgets.QMessageBox.information(self, 'Information', 'Humidity sweep is not implemented yet!') - return + def set_temp_sweep_labels(self): + self.parametersGroupBox.setEnabled(True) + self.startStopStepGroupBox.setTitle('Temperature [degC]') + self.fixedParameterLabel.setText('Humidity [% r.h.]') + + def set_hum_sweep_labels(self): + self.parametersGroupBox.setEnabled(True) + self.startStopStepGroupBox.setTitle('Humidity [% r.h.]') + self.fixedParameterLabel.setText('Temperature [degC]') + def do_measurement(self): self.setEnabled(False) self.qt_app.processEvents(); @@ -47,6 +55,20 @@ class TestStandMainWindow(QMainWindow): ': Temperature sweep ' + str(temperatures[0]) + '--' + str(temperatures[-1]) + ' degC @ '+ str(self.fixedParameter.value()) + ' % r.h.') + elif self.humSweepButton.isChecked(): + humidities = meas.perform_sweep(self.startParameter.value(), self.stopParameter.value(), + self.stepParameter.value(), self.fixedParameter.value(), + self.soakingTime.value(), self.stableReads.value(), + 'humidity') + hum_extensions = [] + for h in humidities: + hum_extensions.append(str(self.fixedParameter.value())+'deg_'+str(h)+'rh') + analysis.plot_sweep([self.fixedParameter.value()]*len(humidities), humidities, output_basename, + 'humidity') + prototype.plot_output(output_basename, hum_extensions, True, output_basename + + ': Humidity sweep ' + str(humidities[0]) + '--' + + str(humidities[-1]) + ' % r.h. @ '+ str(self.fixedParameter.value()) + ' degC') + elif self.measurementFileButton.isChecked(): try: n_measurements = meas.perform_measurements(self.measurementFile.text()) diff --git a/Python_script/climate-lab-main.ui b/Python_script/climate-lab-main.ui index b29d54f..c221840 100644 --- a/Python_script/climate-lab-main.ui +++ b/Python_script/climate-lab-main.ui @@ -389,5 +389,21 @@ </hint> </hints> </connection> + <connection> + <sender>measurementFileButton</sender> + <signal>toggled(bool)</signal> + <receiver>parametersGroupBox</receiver> + <slot>setDisabled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>51</x> + <y>117</y> + </hint> + <hint type="destinationlabel"> + <x>70</x> + <y>175</y> + </hint> + </hints> + </connection> </connections> </ui> -- GitLab