Commit Graph

460 Commits

Author SHA1 Message Date
7ec7ae7329 Put send_command in CtrlPanel 2024-10-07 17:48:24 +08:00
9f0064a61c Extra bail removed 2024-10-07 17:48:24 +08:00
d8c7db3f66 return hwrev when start_session 2024-10-07 17:48:24 +08:00
254e391a09 state str 2024-10-07 17:48:24 +08:00
f6276cdd74 params update concurrently 2024-10-07 17:48:24 +08:00
b380d66750 Stuff non-UI changes in Thermostat model 2024-10-07 17:48:24 +08:00
56c3e30c6b Base Thermostat connectivity UI changes to state 2024-10-07 17:48:24 +08:00
5c6652cdcb Remove wait_for
OSError raised anyways
2024-10-07 17:48:24 +08:00
bfc3543972 Actually its OSError 2024-10-07 17:48:24 +08:00
eb9189247f {start,end}_session -> [dis]connect 2024-10-07 17:48:24 +08:00
05dd0afe03 Simplify on_connect_btn_clicked
Raise if OSError
2024-10-07 17:48:24 +08:00
af53926b01 Connecting task moved? 2024-10-07 17:48:24 +08:00
371ddcdc5b AsyncIO version Client -> AsyncioClient 2024-10-07 17:48:24 +08:00
f66d029915 Exclusively use the Thermostat object as a medium
All calls to the Thermostat should be forwarded by the medium.
2024-10-07 17:48:24 +08:00
cf39eee997 Integrate WrappedClient into Thermostat model 2024-10-07 17:48:24 +08:00
87ef1caf47 Should not stop cancelling read if timeout'd 2024-10-07 17:48:24 +08:00
9d271f97a2 Fix Autotuner state for forceful disconnect 2024-10-07 17:48:24 +08:00
6c09ce1be0 _ 2024-10-07 17:48:24 +08:00
8ab93591a3 Make connection loss handling more elegant
Show an info box on connection lost informing the user that the
Thermostat was forcefully disconnected.
2024-10-07 17:48:24 +08:00
31bdbf93c4 ================gui_dev-fix_asyncio=============== 2024-10-07 17:48:24 +08:00
c2952f881f Use new style super() 2024-10-07 17:48:24 +08:00
810237bccf Move command line host:port setting handling
To main
2024-10-07 17:48:24 +08:00
f9b1bf8c6c aioclient: Add missing readline for saving
Saving all channels returns multiple JSON objects, read the extra {}.
2024-10-07 17:48:24 +08:00
23aafeba08 import order rearrange 2024-10-07 17:48:24 +08:00
334c4dbdce This is bail 2024-10-07 17:48:24 +08:00
56b2ecfc9b thermostat: Properly register task
Also Thermostat.task -> Thermostat._update_params_task
2024-10-07 17:48:24 +08:00
de583c38c4 ip -> host 2024-10-07 17:48:24 +08:00
5f69cb55e7 Lazy evaluating for debug string command 2024-10-07 17:48:24 +08:00
4ccddf9f20 Add pytec runnables 2024-10-07 17:48:24 +08:00
28bcdd4926 PYTHON shell 2024-10-07 17:48:24 +08:00
585c33cabb Exactlier wording 2024-10-07 17:48:24 +08:00
7696a07b4a unused 2024-10-07 17:48:24 +08:00
2eb7eb40a2 encoding 2024-10-07 17:48:24 +08:00
206b825e88 Just catch asyncio.TimeoutError
Will just change to TimeoutError once we switch to Python 3.11 in the
flake.
2024-10-07 17:48:24 +08:00
4a038d04d1 Remove exception too general 2024-10-07 17:48:24 +08:00
8599c5be4e Use asserts to check for connectivity 2024-10-07 17:48:24 +08:00
99777d75ce Add back the parent 2024-10-07 17:48:24 +08:00
b6696c2b09 Fix method call 2024-10-07 17:48:24 +08:00
d9aab02456 README: Proofread 2024-10-07 17:48:24 +08:00
35a447e980 Swap order arounda bit more 2024-10-07 17:48:24 +08:00
f19809c852 Formatting 2024-10-07 17:48:24 +08:00
c804c7bedb Use qtextras 2024-10-07 17:48:24 +08:00
78477163fb flake update 2024-10-07 17:48:24 +08:00
dcc4a4578a flake.nix: nixfmt-rfc-style 2024-10-07 17:48:24 +08:00
a531978d96 Merge branch 'gui_dev-ctrl_panel' into newlol 2024-10-07 17:26:26 +08:00
c9aa0eaab8 ctrl_panel: Reformat SpinBox text always if valid
The parameter SpinBoxes previously would only update if the interpreted
value was changed, missing cases where the text would have changed but
the value stays the same, e.g. removing trailing decimal zeros.
2024-10-07 16:13:56 +08:00
ed6cee4394 ctrl_panel: Move postfilter into its own group 2024-10-07 16:13:56 +08:00
e1bd960900 ctrl_panel: Use new locking mechanism from Kirdy 2024-10-07 16:13:56 +08:00
aed0c484dd ctrl_panel: Fix editing fields with unit "°C"
A faulty regular expression within PyQtGraph causes any Parameter with a
suffix that doesn't begin with an alphanumeric character (as matched
with \w) to act abnormally. For instance, entering "100 °C" into the
input boxes gets interpreted as 10 °C.

Patch the FLOAT_REGEX in PyQtGraph to simply match for any character in
the suffix group.
2024-10-07 16:13:56 +08:00
3fe343435d ctrl_panel: More appropriate steps and fixes 2024-10-07 16:13:56 +08:00