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
Egor Savkin
6de0d41c23
Update nix repos
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-14 11:31:41 +08:00
topquark12
7c1820872b
update docs
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
topquark12
8e45e98ee0
fix pyqtgraph on nixos
2024-02-14 11:31:40 +08:00
topquark12
446c3ea1d6
add pyqtgraph
2024-02-14 11:31:40 +08:00
atse
ae3d8b51d4
Disable feedback current readout on flawed HW Revs
...
Thermostats v2.2 and below have a noisy and offset feedback current
`tec_i` caused by missing hardware on 2 MAX1968 TEC driver pins:
1. A missing RC filter on the ITEC pin that would have isolated CPU
sampling pulses from the signal; and
2. Some missing buffering on the VREF pin that would have avoided
loading the VREF signal, preventing voltage drops from the nominal 1.5V.
Since the resulting signal `tec_i` derived from these two signals can
have an error of around +/- 100mA, and readback may affect the stability
performance of the Thermostat, disable current readback entirely on
affected hardware revisions for now.
See https://github.com/sinara-hw/Thermostat/issues/117 and
https://github.com/sinara-hw/Thermostat/issues/120 .
On hardware revisions v3.x and above, this would be fixed.
2024-01-31 12:12:22 +08:00
atse
17edae44fb
README: Proofread fan control documentation
2024-01-30 12:43:19 +08:00
atse
03b4561142
Refactor current_abs_max_tec_i to use uom
2024-01-30 11:41:52 +08:00
atse
631a10938d
README: Remove VREF
2024-01-26 17:00:27 +08:00
atse
6cd6a6a2c2
Fix warning '...not permit being left uninit..d'
...
Put SocketState initialisation logic in new. This avoids using an unsafe
and unnerving MaybeUninit::uninit().assume_init() to initialise an
array, which the compiler yells at since it causes undefined behavior.
2024-01-17 15:29:56 +08:00
atse
b93e2fbb7b
Update rust edition
2024-01-17 15:29:56 +08:00
atse
76b95f66e0
Use latest working stable rust
2024-01-17 15:29:41 +08:00