forked from M-Labs/thermostat
GUI: Control Panel changes #2
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "gui_dev-ctrl_panel"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Some improvements in usability and readability of the control panel portion of the GUI.
M-Labs/kirdy#14
M-Labs/kirdy#15
name
s 8ac4a32106e1fdc86e40
to21eb13ed6f
21eb13ed6f
to3552a582f8
Bug:
On the GUI if you select "Temperature PID" Control Mode, you cannot switch it back to Constant Current Mode.
Bug:
Click "Report" Mode. Temperature is not plotted.
Usability:
I think most users do not need to limit of TEC voltage with accuracy of less than 1mV.
How about fixing the unit voltage to be "V" only?
Usability:
Then, what does Off do? What is the sampling rate?
Readability:
Better to Add a Readings group to "Temperature" and "Current Through TEC". More intuitive for first time user.
@ -268,3 +268,3 @@
if change == "value":
if inner_param.opts.get("param", None) is not None:
if inner_param.opts.get("suffix", None) == "mA":
if inner_param.opts.get("title", None).endswith(" (mA)"):
Looks like a hack. The unit conversion should not be affected by the title.
Removed the need for it in latest force-push with the
pinSiPrefix
option ofUnitfulSpinBox
.@ -84,0 +53,4 @@
param.child(*handle[0]).sigActivated.connect(handle[1])
param.child("output", "control_method").sigValueChanged.connect(
lambda param, value: param.child("i_set").setWritable(
Usability:
I think this is duplicated. "Set Current" should not reflect the value being set by "Thermostat". That area of ctrl panel is configured by user afterall. It is confusing to me if it suddenly becomes a "Reading" item. Also, the current readings already reflect the current being set already.
Instead, I think we should keep the "Set Current" and and "Setpoint" always shown and configurable. And there are some sorts of indicator indicating which value is being used for control.
Readability:
ADC Filter sampling rate is unrelated to Thermistor. Move it up a layer.
Can you bold the "Control Method" in ctrl panel?
3552a582f8
to38099d6d7b
The above force-push fixes these mentioned issues in the ctrl_panel:
max_v
: Pin down the unit of voltage to be just "V"pinSiPrefix
In addition, it adds new changes to the ctrl_panel such as:
noUnitEditing
to SpinBoxes to disallow unit editing, instead of moving the unit to the title, so that the unit stays to the right of the number.@ -341,0 +89,4 @@
],
"format": "{value:.4f} {suffix}",
"suffix": "°C",
"regex": "(?P<number>[+-]?((((\\d+(\\.\\d*)?)|(\\d*\\.\\d+))([eE][+-]?\\d+)?)|((?i:nan)|(inf))))\\s*((?P<siPrefix>[uyzafpnµm kMGTPEZY]?)(?P<suffix>.*))?$",
Replacing the incorrectly defined FLOAT_REGEX on pyqtgraph.functions is more preferable.
How do I do this as a patch to PyQtGraph itself? Seems to be a cleaner solution compared to patching it in our own code.
@ -341,0 +221,4 @@
"step": 100,
"siPrefix": true,
"suffix": "Ω",
"noUnitEditing": true,
You should fix all the siPrefix. Especially when we do not allow unit to be modified now. It will be confusing if the siPrefix of the unit suddenly changes.
38099d6d7b
toa6c852369f
a6c852369f
toc6fa3cdb80
The above force-push addresses these mentioned issues:
r0
now has pinned SI prefixk
.In addition, it adds new changes such as:
@ -0,0 +91,4 @@
super().setOpts(**opts)
def editingFinishedEvent(self):
In what other scenario, you are bothered by this behavior. eg. 14 and 14.000 have the same value. Then, no need to send command to change to the same value?
It doesn't send any commands at all, it just updates the textual representation of the value within the SpinBox even if the evaluated value is the same. Since multiple textual strings can evaluate into the same value this is needed.
For the record let me describe the scenario better with images:
This is the initial state of a SpinBox:
You can type 25 and hit enter, and this will display:
Crucially, the text doesn't end up going back to 25.0000. This means you can do the following:
Hit enter, and the text inside the SpinBox will stay like that, as they all represent the same value.
Yet, if you click away from the SpinBox, it'll still show the normal textual representation:
...and when you click back in again, the SpinBox still displays whatever text you've inputted previously.
c6fa3cdb80
to01d023c3a6
The above force-push makes these changes:
UnitfulSpinBox
toLockableUnitSpinBox
postfilter
settings, and switched to better explanations in titles and tooltipsLockableUnitSpinBox
01d023c3a6
to5574559ac6
Missed a spot where mA scaling still existed in the PID Autotuner, removed that in the above force-push.
5574559ac6
toc9aa0eaab8
Rebased to the latest HEAD of the
gui_dev
branch.Checkout
From your project repository, check out a new branch and test the changes.