Commit Graph

34 Commits

Author SHA1 Message Date
atse 790e744822 Read extra load 2024-02-14 11:31:41 +08:00
atse c3fdb105eb Add proper set fan curve coroutine method 2024-02-14 11:31:41 +08:00
atse a54773d3ae Add proper set_fan and get_fan coroutine methods 2024-02-14 11:31:41 +08:00
atse c6815950d2 Use start and end session nomenclature
Helps when we also inherit from QObject, which already has connect and
disconnect methods.
2024-02-14 11:31:41 +08:00
atse 05bc5d8809 Remove is_ prefix 2024-02-14 11:31:41 +08:00
atse ae9c34f411 Proper report 2024-02-14 11:31:41 +08:00
atse 3e20658107 Proper timeout implementation 2024-02-14 11:31:41 +08:00
atse 953e314abb Add optional channel selection for save/load 2024-02-14 11:31:41 +08:00
atse 7149fb6d85 Shield pending commands from cancellation 2024-02-14 11:31:41 +08:00
atse 2a31cdb1af Add ipv4 config 2024-02-14 11:31:41 +08:00
atse bfec9efbec Implement DFU mode 2024-02-14 11:31:41 +08:00
atse b32062d855 More elegant connection stopping 2024-02-14 11:31:41 +08:00
atse d52aafd7f6 Add timeout to connect call 2024-02-14 11:31:41 +08:00
atse 8f31380d52 Reset button 2024-02-14 11:31:41 +08:00
atse 64891231cd Report mode functionality 2024-02-14 11:31:41 +08:00
atse 1d192f50c8 Remove redundant return 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 82438ee4a5 Simplify stuff a bit 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 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 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 e71453750c fix whitespace error 2024-02-14 11:31:41 +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
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 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 97490e5e1b pytec: init 2020-09-29 02:52:46 +02:00