Fixes; additional input filtering
This commit is contained in:
parent
209959e2de
commit
7740c09375
11 changed files with 802 additions and 513 deletions
|
|
@ -41,7 +41,7 @@ void readCalibration(calibration_t &calibration) {
|
|||
}
|
||||
|
||||
void writePreset(uint8_t preset) {
|
||||
EEPROM.put(SETTINGS_OFFSET + preset * sizeof(preset_t), presets[preset]);
|
||||
EEPROM.put(SETTINGS_OFFSET + CALIBRATION_MAX_SIZE + preset * sizeof(preset_t), presets[preset]);
|
||||
}
|
||||
|
||||
void writePresets() {
|
||||
|
|
@ -326,16 +326,27 @@ void readEEPROM(const bool factoryReset, calibration_t &calibration) {
|
|||
// blank eeprom will be 0xFFFF. For a full reset, call it "version 0" so everything gets overwritten.
|
||||
if (factoryReset || settings_version == 0xffffu) {
|
||||
settings_version = 0;
|
||||
preset_t defaultPreset;
|
||||
calibration_t defaultCalibration;
|
||||
for (int i = 0; i < PRESET_COUNT; i++) {
|
||||
presets[i] = defaultPreset;
|
||||
}
|
||||
calibration = defaultCalibration;
|
||||
} else {
|
||||
readPresets();
|
||||
readCalibration(calibration);
|
||||
}
|
||||
|
||||
if(settings_version != EEPROM_VERSION) {
|
||||
// Add default settings here
|
||||
for (int i = 0; i < PRESET_COUNT; i++) {
|
||||
if (settings_version < 3) {
|
||||
presets[i].breathFilterFreq = 20;
|
||||
presets[i].spikeFilterFreq = 20;
|
||||
}
|
||||
}
|
||||
|
||||
writePresets();
|
||||
writeCalibration();
|
||||
writeCalibration(calibration);
|
||||
writeInt(EEPROM_VERSION_ADDR, EEPROM_VERSION);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue