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
6de0d41c23
Update nix repos
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-14 11:31:41 +08:00
7c1820872b
update docs
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
8e45e98ee0
fix pyqtgraph on nixos
2024-02-14 11:31:40 +08:00
446c3ea1d6
add pyqtgraph
2024-02-14 11:31:40 +08:00
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
17edae44fb
README: Proofread fan control documentation
2024-01-30 12:43:19 +08:00
03b4561142
Refactor current_abs_max_tec_i to use uom
2024-01-30 11:41:52 +08:00
631a10938d
README: Remove VREF
2024-01-26 17:00:27 +08:00
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
b93e2fbb7b
Update rust edition
2024-01-17 15:29:56 +08:00
76b95f66e0
Use latest working stable rust
2024-01-17 15:29:41 +08:00
8008870bc1
Switch panic_handler to panic_halt
...
Move away from panic_abort as it uses intrinsics, which is nightly only.
2024-01-17 15:29:15 +08:00
7646ff9037
README: Avoid deprecated OpenOCD ST-Link config
...
The config file interface/stlink-v2-1.cfg is deprecated, and the warning
message encourages the switch to interface/stlink.cfg. Do accordingly.
2024-01-04 12:44:52 +08:00
6f81a63d12
Remove unused LED parameters
2023-09-20 15:51:37 +08:00
78012f6fdd
flake: Use rust from manifest, not from pkgs
...
Fix the rustPlatform deprecation warnings properly.
2023-09-20 11:29:38 +08:00
bb4f43fe1c
Remove stale reference to channel_state vref
2023-08-22 17:16:25 +08:00
9df0fe406f
Remove VREF in reports
...
Since VREF is an implementation detail, there shouldn't be a need to
include it in reports.
The ChannelState vref is removed along with it as its only use was to
save VREF measurements for later reporting.
2023-08-22 11:40:42 +08:00
5ba74c6d9b
README: Correct expected TEC polarity
...
Adhere to the general convention of TECs cooling down with positive
voltages.
2023-08-15 16:37:51 +08:00
6f0acc73b8
Update LED L3 for PID status on every cycle
...
Check if PID is engaged on any channel every cycle, and match the status
with LED L3.
2023-08-10 16:43:19 +08:00
f29e86310d
Update nix repos
2023-08-09 11:23:32 +08:00