From b1abe391dc1814b94f619b2c2192cad6aa2580f6 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Sun, 1 Nov 2020 10:45:08 +1100 Subject: [PATCH] Hall Effect Sensitivities --- workspace/TS100/Core/Inc/Settings.h | 4 ++-- workspace/TS100/Core/Src/Settings.cpp | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/workspace/TS100/Core/Inc/Settings.h b/workspace/TS100/Core/Inc/Settings.h index 6ade2cfb..1e5bd9a4 100644 --- a/workspace/TS100/Core/Inc/Settings.h +++ b/workspace/TS100/Core/Inc/Settings.h @@ -54,8 +54,7 @@ typedef struct { uint8_t ReverseButtonTempChangeEnabled; // Change the plus and minus button assigment uint16_t TempChangeLongStep; // Change the plus and minus button assigment uint16_t TempChangeShortStep; // Change the plus and minus button assigment - uint8_t hallEffectMode; //Operating mode of the hall effect sensor - int16_t hallEffectThreshold; //Threshold of the halleffect sensor + uint8_t hallEffectSensitivity; //Operating mode of the hall effect sensor uint32_t padding; // This is here for in case we are not an even divisor so // that nothing gets cut off //MUST BE LAST @@ -67,6 +66,7 @@ extern volatile systemSettingsType systemSettings; void saveSettings(); bool restoreSettings(); uint8_t lookupVoltageLevel(uint8_t level); +uint16_t lookupHallEffectThreshold(); void resetSettings(); #endif /* SETTINGS_H_ */ diff --git a/workspace/TS100/Core/Src/Settings.cpp b/workspace/TS100/Core/Src/Settings.cpp index 77cc341f..88d135b7 100644 --- a/workspace/TS100/Core/Src/Settings.cpp +++ b/workspace/TS100/Core/Src/Settings.cpp @@ -67,7 +67,7 @@ void resetSettings() { systemSettings.autoStartMode = AUTO_START_MODE; // Auto start off for safety systemSettings.coolingTempBlink = COOLING_TEMP_BLINK; // Blink the temperature on the cooling screen when its > 50C #ifdef ENABLED_FAHRENHEIT_SUPPORT - systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0 + systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0 #endif systemSettings.descriptionScrollSpeed = DESCRIPTION_SCROLL_SPEED; // default to slow systemSettings.CalibrationOffset = CALIBRATION_OFFSET; // the adc offset in uV @@ -77,5 +77,22 @@ void resetSettings() { systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP; // systemSettings.KeepAwakePulse = POWER_PULSE_DEFAULT; systemSettings.TipGain = TIP_GAIN; + systemSettings.hallEffectSensitivity=1; saveSettings(); // Save defaults } + +uint16_t lookupHallEffectThreshold() { + // Return the threshold above which the hall effect sensor is "activated" + switch (systemSettings.hallEffectSensitivity) { + case 0: + return 0; + case 1: //Low + return 1000; + case 2: //Medium + return 500; + case 3: //High + return 100; + default: + return 0; //Off + } +}