Improve the VREF calibration routine #132
Loading…
Reference in New Issue
No description provided.
Delete Branch "atse/thermostat:calibration-fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
VREF was incorrectly calibrated on a new v2.2.2 board, which calibrates its zero current point to be 2.2V instead of 1.5V
This PR implements a fix to the calibration problem. The fix is similar to Kirdy and calibrates VREF consistently in constant time.
This can also prevent boot-looping.
Reference from Kirdy's calibration sequence at
a512614de5/src/thermostat/thermostat.rs (L317-L344)
.@ -59,3 +59,3 @@
const HSE: MegaHertz = MegaHertz(8);
#[cfg(not(feature = "semihosting"))]
const WATCHDOG_INTERVAL: u32 = 1_000;
const WATCHDOG_INTERVAL: u32 = 2_000;
Did the change caused the watchdog to trigger?
Yes. It takes longer time and causes the watchdog to trigger.
1.5s does not work.
1.75s works.
We chose 2.0s to leave some more margin.
Why does the calibration take so long? Is that something to be expected from the component datasheet values and the target performance?