Commit Graph

312 Commits

Author SHA1 Message Date
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
22b0c9fcad main: don't re- set_ipv4_config every tick 2020-12-20 20:43:20 +01:00
e13ed37271 pid: fix tests 2020-12-20 20:24:24 +01:00
5987d9c881 README: rlwrap nc, 60 Hz 2020-12-18 21:27:09 +01:00
7c55e34145 pytec: remove obsolete conversions 2020-12-18 19:37:25 +01:00
b176fc2788 pid: doc parameters 2020-12-18 16:29:53 +01:00
b717ac5495 pid: update default gain parameters 2020-12-18 16:27:47 +01:00
980d27ebfc pytec: remove client-side interval calculation 2020-12-18 15:44:11 +01:00
e9e46b29cf pid: integrate time_delta to free gain parameters from sampling period
Fixes Gitea issue #22
2020-12-18 15:40:05 +01:00
b7e6cdbec2 pytec: measure interval 2020-12-16 22:14:21 +01:00
93ea46d512 README: doc postfilter
Fixes Gitea issue #21
2020-12-16 20:47:18 +01:00
dc41473493 update dependencies 2020-12-16 19:21:23 +01:00
7a28cb1cd4 shell.nix: use rustPlaform from <nix-scripts> by default
Fixes Gitea issue #25
2020-12-13 20:42:29 +01:00
c3dd03dcf3 update cargoSha256 2020-12-13 02:41:58 +01:00
b2f455b2cf config: save/store pid_engaged
Fixes Gitea issue #17
2020-12-13 02:33:59 +01:00
2e7be3fe01 shell.nix: add df-util 2020-12-13 02:31:19 +01:00
ff91dd7baa Cargo.toml: obtain sfkv and stm32f4xx-hal via git 2020-12-13 02:29:35 +01:00
ecc00a6aeb init_log: delint 2020-12-13 02:24:29 +01:00
97813f917d flash_store: get to a working state 2020-12-13 01:17:03 +01:00
880a887c40 new flash-based ipv4 config with additional mask_len, gateway 2020-12-12 23:44:16 +01:00
383ebcd8e4 rewrite config for sfkv-based flash_store 2020-12-12 01:25:07 +01:00
088bd6eb76 README: cleanup build and flashing instructions 2020-12-09 10:16:40 +08:00
35d1e2e205 Revert "not yet ready note"
This reverts commit 7af5d8582d.

M-Labs/thermostat#23 (comment)
2020-12-09 10:02:36 +08:00
1090d0f5b5 Merge pull request 'flashing with dfu-util' (#20) from jbqubit/thermostat:flashdoc into master
Update based on two issues.
M-Labs/thermostat#10
https://github.com/sinara-hw/Thermostat/issues/87/

Reviewed-on: M-Labs/thermostat#20
2020-12-09 08:16:45 +08:00
23d0c470e5 pytec: rename test.py to example.py 2020-12-09 01:08:34 +01:00
5c8bb47e11 command_parser: require the explicit i_set symbol 2020-12-09 01:07:08 +01:00
b92a5f18cd README: fix units 2020-12-09 00:56:17 +01:00
c125e20bdb shell.nix: init 2020-12-09 00:46:31 +01:00
7af5d8582d not yet ready note 2020-12-08 12:00:00 -05:00
fca2de665c flashing with dfu-util 2020-12-08 11:07:48 -05:00
ffcc3f661b README: add pid units 2020-12-07 23:18:44 +01:00