From 3c7b21a70983b333aa1c287d5bb759787a7354eb Mon Sep 17 00:00:00 2001 From: atse Date: Thu, 20 Jun 2024 16:13:27 +0800 Subject: [PATCH] ctrl_panel: Add tooltips For users' better understanding of what the parameters do --- pytec/pytec/gui/view/ctrl_panel.py | 9 ++++++ pytec/pytec/gui/view/param_tree.json | 43 ++++++++++++++++++++++------ 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/pytec/pytec/gui/view/ctrl_panel.py b/pytec/pytec/gui/view/ctrl_panel.py index a728de1..560a122 100644 --- a/pytec/pytec/gui/view/ctrl_panel.py +++ b/pytec/pytec/gui/view/ctrl_panel.py @@ -42,6 +42,13 @@ class MutexParameter(pTypes.ListParameter): registerParameterType("mutex", MutexParameter) +def set_tree_label_tips(tree): + for item in tree.listAllItems(): + p = item.param + if "tip" in p.opts: + item.setToolTip(0, p.opts["tip"]) + + class CtrlPanel(QObject): set_zero_limits_warning_sig = pyqtSignal(list) @@ -79,6 +86,8 @@ class CtrlPanel(QObject): self.params[i].setValue = self._setValue self.params[i].sigTreeStateChanged.connect(sigTreeStateChanged_handle) + set_tree_label_tips(tree) + for handle in sigActivated_handles[i]: self.params[i].child(*handle[0]).sigActivated.connect(handle[1]) diff --git a/pytec/pytec/gui/view/param_tree.json b/pytec/pytec/gui/view/param_tree.json index d633065..8fe88de 100644 --- a/pytec/pytec/gui/view/param_tree.json +++ b/pytec/pytec/gui/view/param_tree.json @@ -5,7 +5,8 @@ "title": "Temperature", "type":"float", "format":"{value:.4f} °C", - "readonly":true + "readonly":true, + "tip": "The measured temperature, according to the B-Parameter equation" }, { "name":"tec_i", @@ -13,13 +14,15 @@ "type":"float", "suffix":"mA", "decimals":6, - "readonly":true + "readonly":true, + "tip": "The measured current going through the TEC" }, { "name":"output", "title":"Output Settings", "expanded":true, "type":"group", + "tip": "Settings of the output through to the load", "children":[ { "name":"control_method", @@ -37,6 +40,7 @@ "pid" ] ], + "tip":"Select control method of output", "children":[ { "name":"i_set", @@ -56,6 +60,7 @@ "ch", "i_set" ], + "tip": "Set current through output", "lock":false }, { @@ -74,6 +79,7 @@ "ch", "target" ], + "tip": "Set target temperature", "lock":false } ] @@ -101,6 +107,7 @@ "ch", "max_i_pos" ], + "tip": "The maximum cooling (+ve) current through the output pins", "lock":false }, { @@ -120,11 +127,12 @@ "ch", "max_i_neg" ], + "tip": "The maximum heating (-ve) current through the output pins", "lock":false }, { "name":"max_v", - "title":"Max Voltage Difference", + "title":"Max Absolute Voltage", "type":"float", "value":0, "step":0.1, @@ -139,6 +147,7 @@ "ch", "max_v" ], + "tip": "The maximum voltage across the output pins", "lock":false } ] @@ -150,7 +159,7 @@ "title":"Thermistor Settings", "expanded":true, "type":"group", - "tip": "Settings of the connected Thermistor", + "tip": "Settings of the connected Thermistor, including for the B-Parameter conversion.", "children":[ { "name":"t0", @@ -168,6 +177,7 @@ "ch", "t0" ], + "tip": "The origin temperature for the B-Parameter equation", "lock":false }, { @@ -183,6 +193,7 @@ "ch", "r0" ], + "tip": "The origin resistance for the B-Parameter equation", "lock":false }, { @@ -198,6 +209,7 @@ "ch", "b" ], + "tip": "The B-Parameter", "lock":false }, { @@ -217,6 +229,7 @@ "21.25 Hz":21.25, "27 Hz":27.0 }, + "tip": "Filter some frequencies on the SENS input", "lock":false } ] @@ -226,6 +239,7 @@ "title":"PID Settings", "expanded":true, "type":"group", + "tip": "", "children":[ { "name":"kp", @@ -238,6 +252,7 @@ "ch", "kp" ], + "tip": "Proportional gain", "lock":false }, { @@ -251,6 +266,7 @@ "ch", "ki" ], + "tip": "Integral gain", "lock":false }, { @@ -264,6 +280,7 @@ "ch", "kd" ], + "tip": "Differential gain", "lock":false }, { @@ -271,6 +288,7 @@ "title":"PID Output Clamping", "expanded":true, "type":"group", + "tip": "Clamps PID outputs to specified range\nCould be different than output limits", "children":[ { "name":"output_min", @@ -288,6 +306,7 @@ "ch", "output_min" ], + "tip": "Minimum PID output", "lock":false }, { @@ -306,6 +325,7 @@ "ch", "output_max" ], + "tip": "Maximum PID output", "lock":false } ] @@ -315,6 +335,7 @@ "title":"PID Auto Tune", "expanded":false, "type":"group", + "tip": "Automatically tune PID parameters", "children":[ { "name":"target_temp", @@ -326,7 +347,8 @@ "pid_autotune":[ "target_temp", "ch" - ] + ], + "tip": "The target temperature to autotune for" }, { "name":"test_current", @@ -343,7 +365,8 @@ "pid_autotune":[ "test_current", "ch" - ] + ], + "tip": "The testing current when autotuning" }, { "name":"temp_swing", @@ -356,7 +379,8 @@ "pid_autotune":[ "temp_swing", "ch" - ] + ], + "tip": "The temperature swing around the target" }, { "name":"lookback", @@ -368,13 +392,14 @@ "pid_autotune":[ "lookback", "ch" - ] + ], + "tip": "Amount of time to lookback" }, { "name":"run_pid", "title":"Run", "type":"action", - "tip":"Run" + "tip":"Run PID Autotune with above settings" } ] }