790b57085e
fix typo
2023-05-16 15:57:23 +08:00
474c80722e
refactor with classes
2023-05-16 15:57:23 +08:00
eb6ab2a222
add graph legends
2023-05-16 15:57:23 +08:00
ea9b9a7a90
add more graphs in 2x2 grid
2023-05-16 15:57:23 +08:00
2cfd162498
plot both channel temperatures
2023-05-16 15:57:23 +08:00
7b8d25f160
fix pyqtgraph on nixos
2023-05-16 15:57:23 +08:00
eac507e6c5
add pyqtgraph
2023-05-16 15:57:23 +08:00
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
570c0324b3
implement support for fan PWM
...
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-03-22 17:15:49 +08:00
5688b2f1bb
flake: update stm32-eth sha256 hash
2022-03-02 17:21:17 +08:00
1b2f2f3888
update code to use stm32f4xx-hal 0.10.1 API
2022-03-02 17:21:17 +08:00
e6f63ec940
cargo/nix: update rustc, stm32-eth, smoltcp
2022-03-02 17:21:17 +08:00
67446ae99e
cargo/flake: update package versions
2022-03-02 17:21:17 +08:00
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
Alex Wong
69dabf5aa1
update hash
2022-01-24 17:20:32 +08:00
a26cdfabb1
readme: update CI links
2022-01-19 11:37:01 +08:00
4d43709f76
nix flakes support ( #64 )
...
Reviewed-on: M-Labs/thermostat#64
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-01-19 11:13:47 +08:00
1c00e732fa
README: minor corrections
2022-01-05 08:22:43 +08:00
09082b24a5
README: update build instructions
2022-01-05 08:04:25 +08:00
85e8273d51
shell.nix: follow nix-scripts
2022-01-05 07:54:07 +08:00
e81c6d1692
README: fix objcopy command
2022-01-05 07:50:53 +08:00
1f644fd62c
README: fix nix-scripts folder
2021-07-14 08:43:59 +08:00
4f1d865d2b
README: fix Hydra links
2021-07-14 08:42:53 +08:00
e6a5c31db6
main.rs refactor to reduce length ( #60 )
...
Move command handling to command_handler.rs to shorten main.rs
Reviewed-on: M-Labs/thermostat#60
Co-authored-by: topquark12 <aw@m-labs.hk>
Co-committed-by: topquark12 <aw@m-labs.hk>
2021-06-07 10:07:05 +08:00
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
7cb0ed70be
Reset all TCP sockets before MCU reset ( #53 )
...
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2021-01-26 17:45:14 +08:00
6b9d61737e
docs: update docs to reflect improved stability performance
2021-01-25 13:51:50 +08:00
16844a1dc1
dac: fix inconsistent current output behavior due to repeated sampling of noisy vref
2021-01-25 13:51:50 +08:00
96f52ace8b
pytec: simpler default graphs in plot
2021-01-25 13:51:50 +08:00
a1a8efd51a
readme: update docs on max_i_neg command and heat flow directions
2021-01-25 13:51:50 +08:00
8eb3cc4307
dfu: style
2021-01-18 16:59:13 +08:00
f3661ac8e3
dfu: refactor
2021-01-18 16:45:01 +08:00
c4e3be1d05
fix pid.rs test, exclude dfu from test
2021-01-16 11:04:24 +08:00
cf3ace4d2d
flash_store: get addresses from linker
...
Reviewed-on: M-Labs/thermostat#49
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2021-01-13 17:30:12 +08:00
f6802635a4
add command to reboot into DFU
...
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2021-01-13 11:59:06 +08:00
9e4d06fdbc
clarify comment
2021-01-11 16:24:43 +08:00
3433881d0f
remove dead code
2021-01-11 14:10:50 +08:00
193d54a0a6
pid: anti-windup when compliance voltage reached
2021-01-11 14:00:52 +08:00
3067b356c5
channels: add methods to retrieve actual voltage and current of TEC
2021-01-08 16:18:20 +08:00
3ba2cc9ddc
channels: voltage measurement refalect actual voltage across TEC
2021-01-08 15:52:35 +08:00
1539b624bd
pid: more sensible default parameters
2021-01-08 11:31:33 +08:00
5c84b7438b
Integral rescaling
2021-01-08 11:25:01 +08:00
cc0126636c
report save success
...
save does not hang, it just did not report save success. Closes #33
Reviewed-on: M-Labs/thermostat#44
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2021-01-07 18:01:43 +08:00
45b7c4e669
add documentation about PID setup and using Python tools
...
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2021-01-07 14:48:39 +08:00
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
e94601f54f
pid: fix derivative calculation
...
Reviewed-on: M-Labs/thermostat#40
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2020-12-29 17:09:03 +08:00
8c9e12587f
fix simulation math, provided simulation control loop is stable and passes test, reaching simulation cycle limit before settling fails test
2020-12-28 17:38:10 +08:00
7c013ff4a4
PID fixes
...
Flipped error calculation method to correct behavior of kP and kI terms.
Added anti integral windup to integral handling.
Changed how the i and integral term is calculated, to prevent old kI settings from affecting the current i term calculation when kI is being tuned. Especially noticable when kI is set from a non-zero value to zero.
Co-Authored-By: topquark12 <aw@m-labs.hk>
Co-Committed-By: topquark12 <aw@m-labs.hk>
2020-12-26 11:47:21 +08:00
50a1b9f52d
pid: partial -> proportional
2020-12-26 11:01:40 +08:00
9852b32646
command_parser, main: implement ShowCommand::Ipv4
...
Fixes Gitea issue #30
2020-12-20 20:44:10 +01:00