Collapse Boost temp enable into setting

Work for #642
This commit is contained in:
Ben V. Brown
2020-09-06 16:04:41 +10:00
parent feec35be7a
commit 99ba13525a
30 changed files with 53 additions and 260 deletions

View File

@@ -63,7 +63,6 @@ void resetSettings() {
systemSettings.sensitivity = SENSITIVITY; // Default high sensitivity
systemSettings.voltageDiv = VOLTAGE_DIV; // Default divider from schematic
systemSettings.ShutdownTime = SHUTDOWN_TIME; // How many minutes until the unit turns itself off
systemSettings.boostModeEnabled = BOOST_MODE_ENABLED; // Default to having boost mode on as most people prefer it
systemSettings.BoostTemp = BOOST_TEMP; // default to 400C
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

View File

@@ -46,8 +46,6 @@ static bool settings_setPowerLimit(void);
static void settings_displayPowerLimit(void);
static bool settings_setDisplayRotation(void);
static void settings_displayDisplayRotation(void);
static bool settings_setBoostModeEnabled(void);
static void settings_displayBoostModeEnabled(void);
static bool settings_setBoostTemp(void);
static void settings_displayBoostTemp(void);
static bool settings_setAutomaticStartMode(void);
@@ -130,7 +128,7 @@ const menuitem rootSettingsMenu[] {
{ (const char*) SettingsDescriptions[0], settings_setInputVRange,
settings_displayInputVRange }, /*Voltage input*/
#else
{ (const char*) SettingsDescriptions[20], settings_setInputPRange,
{ (const char*) SettingsDescriptions[19], settings_setInputPRange,
settings_displayInputPRange }, /*Voltage input*/
#endif
{ (const char*) NULL, settings_enterSolderingMenu,
@@ -150,15 +148,13 @@ const menuitem solderingMenu[] = {
* Temp change short step
* Temp change long step
*/
{ (const char*) SettingsDescriptions[8], settings_setBoostModeEnabled,
settings_displayBoostModeEnabled }, /*Enable Boost*/
{ (const char*) SettingsDescriptions[9], settings_setBoostTemp,
{ (const char*) SettingsDescriptions[8], settings_setBoostTemp,
settings_displayBoostTemp }, /*Boost Temp*/
{ (const char*) SettingsDescriptions[10], settings_setAutomaticStartMode,
{ (const char*) SettingsDescriptions[9], settings_setAutomaticStartMode,
settings_displayAutomaticStartMode }, /*Auto start*/
{ (const char*) SettingsDescriptions[23], settings_setTempChangeShortStep,
{ (const char*) SettingsDescriptions[22], settings_setTempChangeShortStep,
settings_displayTempChangeShortStep }, /*Temp change short step*/
{ (const char*) SettingsDescriptions[24], settings_setTempChangeLongStep,
{ (const char*) SettingsDescriptions[23], settings_setTempChangeLongStep,
settings_displayTempChangeLongStep }, /*Temp change long step*/
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
};
@@ -177,12 +173,12 @@ const menuitem UIMenu[] = {
#endif
{ (const char*) SettingsDescriptions[7], settings_setDisplayRotation,
settings_displayDisplayRotation }, /*Display Rotation*/
{ (const char*) SettingsDescriptions[11],
{ (const char*) SettingsDescriptions[10],
settings_setCoolingBlinkEnabled,
settings_displayCoolingBlinkEnabled }, /*Cooling blink warning*/
{ (const char*) SettingsDescriptions[16], settings_setScrollSpeed,
{ (const char*) SettingsDescriptions[15], settings_setScrollSpeed,
settings_displayScrollSpeed }, /*Scroll Speed for descriptions*/
{ (const char*) SettingsDescriptions[22],
{ (const char*) SettingsDescriptions[21],
settings_setReverseButtonTempChangeEnabled,
settings_displayReverseButtonTempChangeEnabled }, /* Reverse Temp change buttons + - */
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
@@ -215,21 +211,21 @@ const menuitem advancedMenu[] = {
* Reset Settings
* Power Pulse
*/
{ (const char*) SettingsDescriptions[21], settings_setPowerLimit,
{ (const char*) SettingsDescriptions[20], settings_setPowerLimit,
settings_displayPowerLimit }, /*Power limit*/
{ (const char*) SettingsDescriptions[6], settings_setAdvancedIDLEScreens,
settings_displayAdvancedIDLEScreens }, /* Advanced idle screen*/
{ (const char*) SettingsDescriptions[15], settings_setAdvancedSolderingScreens,
{ (const char*) SettingsDescriptions[14], settings_setAdvancedSolderingScreens,
settings_displayAdvancedSolderingScreens }, /* Advanced soldering screen*/
{ (const char*) SettingsDescriptions[13], settings_setResetSettings,
{ (const char*) SettingsDescriptions[12], settings_setResetSettings,
settings_displayResetSettings }, /*Resets settings*/
{ (const char*) SettingsDescriptions[12], settings_setCalibrate,
{ (const char*) SettingsDescriptions[11], settings_setCalibrate,
settings_displayCalibrate }, /*Calibrate tip*/
{ (const char*) SettingsDescriptions[14], settings_setCalibrateVIN,
{ (const char*) SettingsDescriptions[13], settings_setCalibrateVIN,
settings_displayCalibrateVIN }, /*Voltage input cal*/
{ (const char*) SettingsDescriptions[25], settings_setPowerPulse,
{ (const char*) SettingsDescriptions[24], settings_setPowerPulse,
settings_displayPowerPulse }, /*Power Pulse adjustment */
{ (const char*) SettingsDescriptions[26], settings_setTipGain,
{ (const char*) SettingsDescriptions[25], settings_setTipGain,
settings_displayTipGain }, /*TipGain*/
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
};
@@ -346,7 +342,7 @@ static bool settings_setInputPRange(void) {
static void settings_displayInputPRange(void) {
printShortDescription(0, 5);
//0 = 9V, 1=12V (Fixed Voltages, these imply 1.5A limits)
/// TODO TS80P
// These are only used in QC3.0 modes
switch (systemSettings.cutoutSetting) {
case 0:
OLED::printNumber(9, 2);
@@ -481,7 +477,7 @@ static bool settings_setAdvancedSolderingScreens(void) {
}
static void settings_displayAdvancedSolderingScreens(void) {
printShortDescription(15, 7);
printShortDescription(14, 7);
OLED::drawCheckbox(systemSettings.detailedSoldering);
}
@@ -505,7 +501,7 @@ static bool settings_setPowerLimit(void) {
}
static void settings_displayPowerLimit(void) {
printShortDescription(21, 5);
printShortDescription(20, 5);
if (systemSettings.powerLimit == 0) {
OLED::print(OffString);
} else {
@@ -523,7 +519,7 @@ static bool settings_setScrollSpeed(void) {
}
static void settings_displayScrollSpeed(void) {
printShortDescription(16, 7);
printShortDescription(15, 7);
OLED::print(
(systemSettings.descriptionScrollSpeed) ?
SettingFastChar : SettingSlowChar);
@@ -567,39 +563,43 @@ static void settings_displayDisplayRotation(void) {
}
}
static bool settings_setBoostModeEnabled(void) {
systemSettings.boostModeEnabled = !systemSettings.boostModeEnabled;
return false;
}
static void settings_displayBoostModeEnabled(void) {
printShortDescription(8, 7);
OLED::drawCheckbox(systemSettings.boostModeEnabled);
}
static bool settings_setBoostTemp(void) {
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) {
systemSettings.BoostTemp += 20; // Go up 20F at a time
if (systemSettings.BoostTemp == 0) {
systemSettings.BoostTemp = 480; // loop back at 480
} else {
systemSettings.BoostTemp += 20; // Go up 20F at a time
}
if (systemSettings.BoostTemp > 850) {
systemSettings.BoostTemp = 480;
systemSettings.BoostTemp = 0; // jump to off
}
return systemSettings.BoostTemp == 840;
} else
#endif
{
systemSettings.BoostTemp += 10; // Go up 10C at a time
if (systemSettings.BoostTemp > 450) {
if (systemSettings.BoostTemp == 0) {
systemSettings.BoostTemp = 250; // loop back at 250
} else {
systemSettings.BoostTemp += 10; // Go up 10C at a time
}
if (systemSettings.BoostTemp > 450) {
systemSettings.BoostTemp = 0; //Go to off state
}
return systemSettings.BoostTemp == 450;
}
}
static void settings_displayBoostTemp(void) {
printShortDescription(9, 5);
OLED::printNumber(systemSettings.BoostTemp, 3);
printShortDescription(8, 5);
if (systemSettings.BoostTemp) {
OLED::printNumber(systemSettings.BoostTemp, 3);
} else {
OLED::print(OffString);
}
}
static bool settings_setAutomaticStartMode(void) {
@@ -609,7 +609,7 @@ static bool settings_setAutomaticStartMode(void) {
}
static void settings_displayAutomaticStartMode(void) {
printShortDescription(10, 7);
printShortDescription(9, 7);
switch (systemSettings.autoStartMode) {
case 0:
@@ -636,7 +636,7 @@ static bool settings_setCoolingBlinkEnabled(void) {
}
static void settings_displayCoolingBlinkEnabled(void) {
printShortDescription(11, 7);
printShortDescription(10, 7);
OLED::drawCheckbox(systemSettings.coolingTempBlink);
}
@@ -656,7 +656,7 @@ static bool settings_setResetSettings(void) {
}
static void settings_displayResetSettings(void) {
printShortDescription(13, 7);
printShortDescription(12, 7);
}
static void setTipOffset() {
@@ -702,7 +702,7 @@ static bool settings_setCalibrate(void) {
}
static void settings_displayCalibrate(void) {
printShortDescription(12, 5);
printShortDescription(11, 5);
}
static bool settings_setCalibrateVIN(void) {
@@ -809,7 +809,7 @@ static bool settings_setTipGain(void) {
}
static void settings_displayTipGain(void) {
printShortDescription(26, 5);
printShortDescription(25, 5);
}
static bool settings_setReverseButtonTempChangeEnabled(void) {
@@ -819,7 +819,7 @@ static bool settings_setReverseButtonTempChangeEnabled(void) {
}
static void settings_displayReverseButtonTempChangeEnabled(void) {
printShortDescription(22, 7);
printShortDescription(21, 7);
OLED::drawCheckbox(systemSettings.ReverseButtonTempChangeEnabled);
}
@@ -832,7 +832,7 @@ static bool settings_setTempChangeShortStep(void) {
}
static void settings_displayTempChangeShortStep(void) {
printShortDescription(23, 6);
printShortDescription(22, 6);
OLED::printNumber(systemSettings.TempChangeShortStep, 2);
}
@@ -845,7 +845,7 @@ static bool settings_setTempChangeLongStep(void) {
}
static void settings_displayTempChangeLongStep(void) {
printShortDescription(24, 6);
printShortDescription(23, 6);
OLED::printNumber(systemSettings.TempChangeLongStep, 2);
}
@@ -856,13 +856,13 @@ static bool settings_setPowerPulse(void) {
return systemSettings.KeepAwakePulse == POWER_PULSE_MAX - 1;
}
static void settings_displayPowerPulse(void) {
printShortDescription(25, 5);
printShortDescription(24, 5);
if (systemSettings.KeepAwakePulse) {
OLED::printNumber(systemSettings.KeepAwakePulse / 10, 1);
OLED::print(SymbolDot);
OLED::printNumber(systemSettings.KeepAwakePulse % 10, 1);
} else {
OLED::drawCheckbox(false);
OLED::print(OffString);
}
}
@@ -880,7 +880,7 @@ static void displayMenu(size_t index) {
}
static void settings_displayCalibrateVIN(void) {
printShortDescription(14, 5);
printShortDescription(13, 5);
}
static void settings_displaySolderingMenu(void) {
displayMenu(0);