atse
b4a5e90f2e
Turn on_connection_changed to coroutine
...
Further compresses the connect
2024-02-14 11:31:41 +08:00
atse
82438ee4a5
Simplify stuff a bit
2024-02-14 11:31:41 +08:00
atse
e727f8b06b
Change statement order up a bit
2024-02-14 11:31:41 +08:00
atse
27ce311111
Init client_watcher once
2024-02-14 11:31:41 +08:00
atse
659d0d0835
Init client once
...
No none-ing
2024-02-14 11:31:41 +08:00
atse
fa60439e39
Put the connecting task in aioclient
2024-02-14 11:31:41 +08:00
atse
7e56f2d879
Rearrange bottom bar for new context menu
2024-02-14 11:31:41 +08:00
atse
917a2546cc
Remove is running loop variable
...
Just use Task.done()
2024-02-14 11:31:41 +08:00
atse
fd83ee23e1
Catch a more specific exception
2024-02-14 11:31:41 +08:00
atse
115c7eb800
Add stop connection button
...
Stuff to add to stop button
2024-02-14 11:31:41 +08:00
atse
7e1b64b72c
Set fan slider value minimum to 1, not 0
2024-02-14 11:31:41 +08:00
atse
fca4b061ee
Fix Slot decorators and types
2024-02-14 11:31:41 +08:00
atse
9f839f4bd9
Handle UI when fan_pwm is 0
2024-02-14 11:31:41 +08:00
atse
ac77c457ec
Fix fan warning wording
2024-02-14 11:31:41 +08:00
atse
54bb740a41
Only warn about fan pwm when not at full strength
2024-02-14 11:31:41 +08:00
atse
47dbe95045
Replace fan group highlighting with warning icon
...
Highlighting is too confusing
2024-02-14 11:31:41 +08:00
atse
8045d8c93d
Grammar
2024-02-14 11:31:41 +08:00
atse
3d801666fa
Update fan slider value immediately after fan auto
2024-02-14 11:31:41 +08:00
atse
5e105884d1
Use slider signal argument to set fan value
2024-02-14 11:31:41 +08:00
atse
1849711c62
Set client to none if failed to connect
...
Fixes connect button behaviour after accidental disconnect
2024-02-14 11:31:41 +08:00
atse
84018c3ebc
Start running only when task is running
2024-02-14 11:31:41 +08:00
atse
1fd49360d0
Lock connection details while connecting
...
Fix connect button behaviour
2024-02-14 11:31:41 +08:00
atse
ad5e36beab
Add unit to report spinbox
2024-02-14 11:31:41 +08:00
atse
a55589415d
Cancel task to stop watch
2024-02-14 11:31:41 +08:00
atse
c261ca2447
Disconnect client too on close
2024-02-14 11:31:41 +08:00
atse
c476ad9f7d
Close client_watcher on closeEvent not aboutToQuit
...
Mirrors
2024-02-14 11:31:41 +08:00
atse
d0d33f42da
Rearrange client_watcher to hold its own task
2024-02-14 11:31:41 +08:00
atse
608573c03c
Update fan too
2024-02-14 11:31:41 +08:00
atse
ec9ce6537c
More helpful tooltip
2024-02-14 11:31:41 +08:00
atse
6b4b576518
Fix hardware revision showing major.major
2024-02-14 11:31:41 +08:00
atse
142fe1043c
Remove unused 'as' clause
2024-02-14 11:31:41 +08:00
atse
3544f1ebdf
Get rid of global client
2024-02-14 11:31:41 +08:00
atse
e33f8430f2
Remove client_watcher global
2024-02-14 11:31:41 +08:00
atse
9cf33abe06
Gather client_watcher managment into connect
2024-02-14 11:31:41 +08:00
atse
0252c7b0e4
Invert logic, connect first
2024-02-14 11:31:41 +08:00
atse
c6ca2b3490
Make Ui_MainWindow a superclass of our main window
...
Gets rid of the global ui.
2024-02-14 11:31:41 +08:00
atse
299ef7dcc3
Get rid of app global
...
QApplication is a singleton, no need for global
2024-02-14 11:31:41 +08:00
atse
73887564a5
Change title
2024-02-14 11:31:41 +08:00
atse
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
atse
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
Egor Savkin
0ad77047f1
Try move from Qthreads to qasync
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-14 11:31:41 +08:00
Egor Savkin
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
Egor Savkin
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
topquark12
059dd0bbb6
add autotune
2024-02-14 11:31:41 +08:00
topquark12
be4383a447
WIP: adding autotune
2024-02-14 11:31:41 +08:00
topquark12
f31c3be335
fix docs, fix i_set, fix GUI param ranges
2024-02-14 11:31:41 +08:00
topquark12
e71453750c
fix whitespace error
2024-02-14 11:31:41 +08:00
topquark12
2796400d47
bi-dir sync, minimum working prototype
2024-02-14 11:31:41 +08:00
topquark12
593ad9a133
sync tree param from TEC
2024-02-14 11:31:41 +08:00
topquark12
563a32edf4
add sync from TEC
2024-02-14 11:31:41 +08:00
topquark12
b097067afc
add param tree, param tree inactive
2024-02-14 11:31:41 +08:00
topquark12
d841cd2559
add voltage monitoring
2024-02-14 11:31:41 +08:00
topquark12
d6a80c4f9b
fix typo
2024-02-14 11:31:41 +08:00
topquark12
4310a27085
refactor with classes
2024-02-14 11:31:41 +08:00
topquark12
61a8af468a
add graph legends
2024-02-14 11:31:40 +08:00
topquark12
fe28ac98e5
add more graphs in 2x2 grid
2024-02-14 11:31:40 +08:00
topquark12
6655581b6f
plot both channel temperatures
2024-02-14 11:31:40 +08:00
Egor Savkin
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
topquark12
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
topquark12
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
topquark12
96f52ace8b
pytec: simpler default graphs in plot
2021-01-25 13:51:50 +08:00
topquark12
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
Astro
7c55e34145
pytec: remove obsolete conversions
2020-12-18 19:37:25 +01:00
Astro
980d27ebfc
pytec: remove client-side interval calculation
2020-12-18 15:44:11 +01:00
Astro
b7e6cdbec2
pytec: measure interval
2020-12-16 22:14:21 +01:00
Astro
23d0c470e5
pytec: rename test.py to example.py
2020-12-09 01:08:34 +01:00
Astro
2a6f8ed874
pytec: use py3 dict methods
...
Fixes Gitea issue #14
2020-12-07 16:57:50 +01:00
Astro
5acebbef9f
pytec: doc set_param
2020-10-01 00:35:16 +02:00
Astro
1b4a030e7e
pytec: more methods, doc
2020-10-01 00:21:43 +02:00
Astro
bfdb64ffd6
pytec: add configuration getters
2020-09-30 23:13:11 +02:00
Astro
4b75c6147d
pytec plot: update legend, rm debug add pid_output
2020-09-30 19:13:50 +02:00
Astro
97490e5e1b
pytec: init
2020-09-29 02:52:46 +02:00