6cd6a6a2c2
Fix warning '...not permit being left uninit..d'
...
Put SocketState initialisation logic in new. This avoids using an unsafe
and unnerving MaybeUninit::uninit().assume_init() to initialise an
array, which the compiler yells at since it causes undefined behavior.
2024-01-17 15:29:56 +08:00
b93e2fbb7b
Update rust edition
2024-01-17 15:29:56 +08:00
76b95f66e0
Use latest working stable rust
2024-01-17 15:29:41 +08:00
8008870bc1
Switch panic_handler to panic_halt
...
Move away from panic_abort as it uses intrinsics, which is nightly only.
2024-01-17 15:29:15 +08:00
7646ff9037
README: Avoid deprecated OpenOCD ST-Link config
...
The config file interface/stlink-v2-1.cfg is deprecated, and the warning
message encourages the switch to interface/stlink.cfg. Do accordingly.
2024-01-04 12:44:52 +08:00
6f81a63d12
Remove unused LED parameters
2023-09-20 15:51:37 +08:00
78012f6fdd
flake: Use rust from manifest, not from pkgs
...
Fix the rustPlatform deprecation warnings properly.
2023-09-20 11:29:38 +08:00
bb4f43fe1c
Remove stale reference to channel_state vref
2023-08-22 17:16:25 +08:00
9df0fe406f
Remove VREF in reports
...
Since VREF is an implementation detail, there shouldn't be a need to
include it in reports.
The ChannelState vref is removed along with it as its only use was to
save VREF measurements for later reporting.
2023-08-22 11:40:42 +08:00
5ba74c6d9b
README: Correct expected TEC polarity
...
Adhere to the general convention of TECs cooling down with positive
voltages.
2023-08-15 16:37:51 +08:00
6f0acc73b8
Update LED L3 for PID status on every cycle
...
Check if PID is engaged on any channel every cycle, and match the status
with LED L3.
2023-08-10 16:43:19 +08:00
f29e86310d
Update nix repos
2023-08-09 11:23:32 +08:00
b04a61c414
Turn off LED L3 only when all channels have no PID
...
Change the behaviour of LED L3 to turn off only when all channels have
PID disengaged, as opposed to when any channel disengages PID.
Otherwise, when disengaging PID on a Thermostat that has had both
channels engaged in PID, the LED would turn off, even when PID is still
engaged on the other channel.
This lets the LED better reflect the status of the Thermostat as a
whole, as it would stay on as long as PID is engaged on at least one
channel.
2023-08-07 16:09:54 +08:00
cd680dd6cd
README: Correct unit of time in reports
2023-07-20 17:45:16 +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