Egor Savkin
a645bfb6e8
Remove all tacho/status related logic
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-01-05 15:30:07 +08:00
Egor Savkin
33070abd81
Make commands more consistent
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-01-05 13:04:21 +08:00
Egor Savkin
21fc244eac
Fan status via quadratic regression
...
* statuses: detect slow fan via quadratic regression and halts (hard stops) with constant threshold
* remove unsafe channels' copy and make FanCtrl own the channels
* scale fan values so that they would fit 0.05-1.0 PWM at all times
* rename fan-restore to fcurve-restore
* style, names and docs adjustments
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-01-05 11:57:21 +08:00
Egor Savkin
630635486e
Polish minor issues
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-23 13:23:18 +08:00
Egor Savkin
ea2eb51b27
Add fan warnings
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-23 13:13:33 +08:00
Egor Savkin
58650d37f1
Refactor and coefficients implemented
...
Move all the fan logic to the separate file. Add controls for controlling curve.
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-22 17:28:08 +08:00
Egor Savkin
66143d2373
Implemented auto fan control
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-21 14:59:49 +08:00
Egor Savkin
583d06a78b
Make fan cmd show the stats
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-20 12:58:00 +08:00
Egor Savkin
d117c784d9
Draft hw rev support and fan command
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-19 17:15:33 +08:00
Egor Savkin
4223f7a4ad
Draft tacho support
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-15 16:47:52 +08:00
Egor Savkin
30350a3651
Draft support fan pwm settings
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-14 17:25:29 +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: #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: #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: #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: #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: #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: #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: #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