atse
8e98b62cfb
Add line at PID temp
2024-02-14 11:31:41 +08:00
atse
64891231cd
Report mode functionality
2024-02-14 11:31:41 +08:00
atse
728bce38b6
Add crosshair for better read of values
2024-02-14 11:31:41 +08:00
atse
5c081b0547
Add samples box in menu
2024-02-14 11:31:41 +08:00
atse
001ce432e8
Add clear graphs context menu item
2024-02-14 11:31:41 +08:00
atse
fdf4c4f0d6
Plot temperature and current graphs
...
- Have units
- Samples are limited
- pglive is used for better live graphs
-- Also fixes bug with constantly updating normal pyqtgraphs where it
will bug out if right-clicked on and context menu is brought up
--Since pglive requires pyqtgraph == 0.13.3, upgrade pyqtgraph to that
too.
2024-02-14 11:31:41 +08:00
atse
90df3ae784
Plus or minus symbol on swing
2024-02-14 11:31:41 +08:00
atse
ac51476d59
Add save to flash paramtree item
2024-02-14 11:31:41 +08:00
atse
4be6d419f6
Hide paramtree headers
2024-02-14 11:31:41 +08:00
atse
ae6f08247a
Add postfilter config
2024-02-14 11:31:41 +08:00
atse
863352d620
Add i_set
2024-02-14 11:31:41 +08:00
atse
9803a2d12b
Add pwm update
2024-02-14 11:31:41 +08:00
atse
8291b2052f
Add thermistor config & sync
...
Note: The formula is not actually Steinhart-Hart
2024-02-14 11:31:41 +08:00
atse
49c5120600
Connect up pid
2024-02-14 11:31:41 +08:00
atse
0e3a01d601
Connect up report update
2024-02-14 11:31:41 +08:00
atse
4961b2adb2
Use proper symbols in units, and add units
...
PID parameters are not actually dimensionless, and their units can be
deduced from the input unit and the output (actuator) unit.
2024-02-14 11:31:41 +08:00
atse
abf5d5f2bd
Fix formatting
2024-02-14 11:31:41 +08:00
atse
1b3f767d94
Might as well be a pass, doens't exec
2024-02-14 11:31:41 +08:00
atse
137004e6b5
Loop through trees to set them up
2024-02-14 11:31:41 +08:00
atse
5ba189d3ba
Remove unused as clause
2024-02-14 11:31:41 +08:00
Egor Savkin
928db9963d
Add paramtree view, without updates
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
Fix signal blocker argument -atse
2024-02-14 11:31:41 +08:00
atse
8383abec8c
Add explanation of report rate
2024-02-14 11:31:41 +08:00
atse
b8d0cdabd3
Swap order connected first
2024-02-14 11:31:41 +08:00
atse
04a8f5ea56
Add tooltip to fan
2024-02-14 11:31:41 +08:00
atse
6c11a0536c
Arrange context menu items to be in order
2024-02-14 11:31:41 +08:00
atse
e5b0583a91
Disable auto fan box if adjusted while auto
2024-02-14 11:31:41 +08:00
atse
71076510a2
Steal fan group and port??? Somehow
2024-02-14 11:31:41 +08:00
atse
7749459701
Max the label
2024-02-14 11:31:41 +08:00
atse
463ee4105c
Context menu by QToolButton
2024-02-14 11:31:41 +08:00
atse
1d192f50c8
Remove redundant return
2024-02-14 11:31:41 +08:00
atse
30f6c4f829
Correct order once the tec_client disconnects to
...
stop watching the client first
2024-02-14 11:31:41 +08:00
atse
1226cca6e6
Only set connecting task to None once
2024-02-14 11:31:41 +08:00
atse
8520dae93b
Update and add docstrings to aioclient
2024-02-14 11:31:41 +08:00
atse
981c28ac27
Conslidate connect & disconnect actions
2024-02-14 11:31:41 +08:00
atse
5ced33594c
Change name of button slot
2024-02-14 11:31:41 +08:00
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