topquark12
211e0fa1bd
fix whitespace error
2023-03-22 17:20:09 +08:00
Egor Savkin
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
mwojcik
5688b2f1bb
flake: update stm32-eth sha256 hash
2022-03-02 17:21:17 +08:00
mwojcik
1b2f2f3888
update code to use stm32f4xx-hal 0.10.1 API
2022-03-02 17:21:17 +08:00
mwojcik
e6f63ec940
cargo/nix: update rustc, stm32-eth, smoltcp
2022-03-02 17:21:17 +08:00
mwojcik
67446ae99e
cargo/flake: update package versions
2022-03-02 17:21:17 +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
Alex Wong
69dabf5aa1
update hash
2022-01-24 17:20:32 +08:00
mwojcik
a26cdfabb1
readme: update CI links
2022-01-19 11:37:01 +08:00
mwojcik
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
Sebastien Bourdeauducq
1c00e732fa
README: minor corrections
2022-01-05 08:22:43 +08:00
Sebastien Bourdeauducq
09082b24a5
README: update build instructions
2022-01-05 08:04:25 +08:00
Sebastien Bourdeauducq
85e8273d51
shell.nix: follow nix-scripts
2022-01-05 07:54:07 +08:00
Sebastien Bourdeauducq
e81c6d1692
README: fix objcopy command
2022-01-05 07:50:53 +08:00
Sebastien Bourdeauducq
1f644fd62c
README: fix nix-scripts folder
2021-07-14 08:43:59 +08:00
Sebastien Bourdeauducq
4f1d865d2b
README: fix Hydra links
2021-07-14 08:42:53 +08:00
topquark12
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
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
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
topquark12
6b9d61737e
docs: update docs to reflect improved stability performance
2021-01-25 13:51:50 +08:00
topquark12
16844a1dc1
dac: fix inconsistent current output behavior due to repeated sampling of noisy vref
2021-01-25 13:51:50 +08:00
topquark12
96f52ace8b
pytec: simpler default graphs in plot
2021-01-25 13:51:50 +08:00
topquark12
a1a8efd51a
readme: update docs on max_i_neg command and heat flow directions
2021-01-25 13:51:50 +08:00
Sebastien Bourdeauducq
8eb3cc4307
dfu: style
2021-01-18 16:59:13 +08:00
topquark12
f3661ac8e3
dfu: refactor
2021-01-18 16:45:01 +08:00
topquark12
c4e3be1d05
fix pid.rs test, exclude dfu from test
2021-01-16 11:04:24 +08:00
topquark12
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
topquark12
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
topquark12
9e4d06fdbc
clarify comment
2021-01-11 16:24:43 +08:00
topquark12
3433881d0f
remove dead code
2021-01-11 14:10:50 +08:00
topquark12
193d54a0a6
pid: anti-windup when compliance voltage reached
2021-01-11 14:00:52 +08:00
topquark12
3067b356c5
channels: add methods to retrieve actual voltage and current of TEC
2021-01-08 16:18:20 +08:00
topquark12
3ba2cc9ddc
channels: voltage measurement refalect actual voltage across TEC
2021-01-08 15:52:35 +08:00
topquark12
1539b624bd
pid: more sensible default parameters
2021-01-08 11:31:33 +08:00
topquark12
5c84b7438b
Integral rescaling
2021-01-08 11:25:01 +08:00
topquark12
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
topquark12
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
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
topquark12
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
topquark12
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
topquark12
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
Sebastien Bourdeauducq
50a1b9f52d
pid: partial -> proportional
2020-12-26 11:01:40 +08:00
Astro
9852b32646
command_parser, main: implement ShowCommand::Ipv4
...
Fixes Gitea issue #30
2020-12-20 20:44:10 +01:00
Astro
22b0c9fcad
main: don't re- set_ipv4_config every tick
2020-12-20 20:43:20 +01:00
Astro
e13ed37271
pid: fix tests
2020-12-20 20:24:24 +01:00
Astro
5987d9c881
README: rlwrap nc, 60 Hz
2020-12-18 21:27:09 +01:00
Astro
7c55e34145
pytec: remove obsolete conversions
2020-12-18 19:37:25 +01:00
Astro
b176fc2788
pid: doc parameters
2020-12-18 16:29:53 +01:00
Astro
b717ac5495
pid: update default gain parameters
2020-12-18 16:27:47 +01:00
Astro
980d27ebfc
pytec: remove client-side interval calculation
2020-12-18 15:44:11 +01:00