Commit Graph

180 Commits

Author SHA1 Message Date
atse 1be874f6a7 Add about thermostat menu item
Meant to display hardware rev stuff, does nothing right now
2024-02-14 11:31:41 +08:00
atse 9364c9b187 Add network settings menu option
Also does nothing for now
2024-02-14 11:31:41 +08:00
atse a9c0106c46 Add DFU mode menu option
Does nothing for now
2024-02-14 11:31:41 +08:00
atse 2d341df23c Use _on_connection_changed(False) 2024-02-14 11:31:41 +08:00
atse 8f31380d52 Reset button 2024-02-14 11:31:41 +08:00
atse 998d999b59 Save the entire hw_rev data
Not just fan_pwm_recommended
2024-02-14 11:31:41 +08:00
atse ca7c64c115 Put connection details in connection button menu 2024-02-14 11:31:41 +08:00
atse a1a94a9c99 Move host selection into menu too 2024-02-14 11:31:41 +08:00
atse 9fc38d4614 Move fan throttling warning to the right 2024-02-14 11:31:41 +08:00
atse 5732bc951f Split the settings and plotting menus 2024-02-14 11:31:41 +08:00
atse cbffb8d700 Crude relocation of port spinbox from .ui file 2024-02-14 11:31:41 +08:00
atse a3d4bef68e Crude removal of fan group from .ui file 2024-02-14 11:31:41 +08:00
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 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 b8d0cdabd3 Swap order connected first 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 463ee4105c Context menu by QToolButton 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 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 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 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 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