a55589415d
Cancel task to stop watch
2024-02-14 11:31:41 +08:00
c261ca2447
Disconnect client too on close
2024-02-14 11:31:41 +08:00
c476ad9f7d
Close client_watcher on closeEvent not aboutToQuit
...
Mirrors
2024-02-14 11:31:41 +08:00
d0d33f42da
Rearrange client_watcher to hold its own task
2024-02-14 11:31:41 +08:00
608573c03c
Update fan too
2024-02-14 11:31:41 +08:00
ec9ce6537c
More helpful tooltip
2024-02-14 11:31:41 +08:00
6b4b576518
Fix hardware revision showing major.major
2024-02-14 11:31:41 +08:00
142fe1043c
Remove unused 'as' clause
2024-02-14 11:31:41 +08:00
3544f1ebdf
Get rid of global client
2024-02-14 11:31:41 +08:00
e33f8430f2
Remove client_watcher global
2024-02-14 11:31:41 +08:00
9cf33abe06
Gather client_watcher managment into connect
2024-02-14 11:31:41 +08:00
0252c7b0e4
Invert logic, connect first
2024-02-14 11:31:41 +08:00
c6ca2b3490
Make Ui_MainWindow a superclass of our main window
...
Gets rid of the global ui.
2024-02-14 11:31:41 +08:00
299ef7dcc3
Get rid of app global
...
QApplication is a singleton, no need for global
2024-02-14 11:31:41 +08:00
73887564a5
Change title
2024-02-14 11:31:41 +08:00
f469d8fee3
Stop polling drift
...
Just waiting for the update_s doesn't take into account the time to
execute update_params, and causes time drift.
2024-02-14 11:31:41 +08:00
f546a3c61b
Finish moving over to qasync
...
Also:
-Add aioclient
The old client is synchronous and blocking, and the only way to achieve
true asynchronous IO is to create a new client that interfaces with
asyncio.
-Make the GUI `nix run`-able
2024-02-14 11:31:41 +08:00
0ad77047f1
Try move from Qthreads to qasync
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-14 11:31:41 +08:00
3de6f233f9
Create client watcher, that would poll Thermostat for config
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-14 11:31:41 +08:00
069280feb6
Create basic GUI, that would connect and control thermostat's fan
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-14 11:31:41 +08:00
059dd0bbb6
add autotune
2024-02-14 11:31:41 +08:00
be4383a447
WIP: adding autotune
2024-02-14 11:31:41 +08:00
f31c3be335
fix docs, fix i_set, fix GUI param ranges
2024-02-14 11:31:41 +08:00
e71453750c
fix whitespace error
2024-02-14 11:31:41 +08:00
2796400d47
bi-dir sync, minimum working prototype
2024-02-14 11:31:41 +08:00
593ad9a133
sync tree param from TEC
2024-02-14 11:31:41 +08:00
563a32edf4
add sync from TEC
2024-02-14 11:31:41 +08:00
b097067afc
add param tree, param tree inactive
2024-02-14 11:31:41 +08:00
d841cd2559
add voltage monitoring
2024-02-14 11:31:41 +08:00
d6a80c4f9b
fix typo
2024-02-14 11:31:41 +08:00
4310a27085
refactor with classes
2024-02-14 11:31:41 +08:00
61a8af468a
add graph legends
2024-02-14 11:31:40 +08:00
fe28ac98e5
add more graphs in 2x2 grid
2024-02-14 11:31:40 +08:00
6655581b6f
plot both channel temperatures
2024-02-14 11:31:40 +08:00
e3e3237d2f
Emit warning when current/voltage limits are near zero
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-03-23 16:58:05 +08:00
26ad2f0119
rewrite PID
...
Rewrite of PID according to https://hackmd.io/IACbwcOTSt6Adj3_F9bKuw PID implementation.
To migrate:
- TEC+/- pin polarity has to be reversed.
- Some saved settings might be wiped upon flashing of new firmware, back up settings before upgrade
- Min / Max integral parameters no longer exist
- kp, ki, kd will likely need to be retuned
The software has been tested on hardware with good temperature control stability.
Reviewed-on: M-Labs/thermostat#68
Co-authored-by: topquark12 <aw@m-labs.hk>
Co-committed-by: topquark12 <aw@m-labs.hk>
2022-02-24 20:16:47 +08:00
a5d8661b10
main: fix handling of incomplete data received ( #55 )
...
Reviewed-on: M-Labs/thermostat#55
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2021-01-29 16:18:07 +08:00
96f52ace8b
pytec: simpler default graphs in plot
2021-01-25 13:51:50 +08:00
73dd6d9154
add PID autotune code
...
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2021-01-06 11:02:52 +08:00
7c55e34145
pytec: remove obsolete conversions
2020-12-18 19:37:25 +01:00
980d27ebfc
pytec: remove client-side interval calculation
2020-12-18 15:44:11 +01:00
b7e6cdbec2
pytec: measure interval
2020-12-16 22:14:21 +01:00
23d0c470e5
pytec: rename test.py to example.py
2020-12-09 01:08:34 +01:00
2a6f8ed874
pytec: use py3 dict methods
...
Fixes Gitea issue #14
2020-12-07 16:57:50 +01:00
5acebbef9f
pytec: doc set_param
2020-10-01 00:35:16 +02:00
1b4a030e7e
pytec: more methods, doc
2020-10-01 00:21:43 +02:00
bfdb64ffd6
pytec: add configuration getters
2020-09-30 23:13:11 +02:00
4b75c6147d
pytec plot: update legend, rm debug add pid_output
2020-09-30 19:13:50 +02:00
97490e5e1b
pytec: init
2020-09-29 02:52:46 +02:00