Hall Effect Sensitivities

This commit is contained in:
Ben V. Brown
2020-11-01 10:45:08 +11:00
parent e612c4751f
commit b1abe391dc
2 changed files with 20 additions and 3 deletions

View File

@@ -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_ */

View File

@@ -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
}
}