Allow more precise input voltage divider calibration. (#359)
Finer input voltage calibration Settings divisor is stored as uint16_t, not uint8_t. * Allow more precise input voltage divider calibration. The existing code changed the input voltage by multiple tenths of a volt per adjustment, which is way too coarse. This commit simply multiplies the ADC value (and its divisor) by 4, which allows for finer calibration adjustments. Unfortunately, for safety reasons this requires a settings version bump. While old stored divider values can be detected and multiplied by 4 on startup to update them, if the user downgrades firmware it will happily read the new higher value and cause all sorts of problems (which could be either reading higher *or* lower depending on how getInputVoltageX10's parameter wraps around in old firmware due to incorrect type.
This commit is contained in:
committed by
Ben V. Brown
parent
54ec20cd9f
commit
0c7be326e5
@@ -83,7 +83,7 @@ void resetSettings() {
|
||||
systemSettings.detailedIDLE = 0;// Detailed idle screen (off for first time users)
|
||||
systemSettings.OrientationMode = 2; //Default to automatic
|
||||
systemSettings.sensitivity = 7; //Default high sensitivity
|
||||
systemSettings.voltageDiv = 117; //Default divider from schematic
|
||||
systemSettings.voltageDiv = 467; //Default divider from schematic
|
||||
systemSettings.ShutdownTime = 10;//How many minutes until the unit turns itself off
|
||||
systemSettings.boostModeEnabled = 1;//Default to safe, with no boost mode
|
||||
systemSettings.BoostTemp = 420; //default to 400C
|
||||
|
||||
Reference in New Issue
Block a user