profile mode is optional

This commit is contained in:
Laura Klünder
2023-04-23 18:36:07 +02:00
parent 5c69458f1a
commit 448e5c8ad1
4 changed files with 27 additions and 1 deletions

View File

@@ -155,6 +155,8 @@
#define ACCEL_SC7 #define ACCEL_SC7
#define ACCEL_MSA #define ACCEL_MSA
#define PROFILE_MODE
#define POW_PD 1 #define POW_PD 1
#define TEMP_NTC #define TEMP_NTC
#define I2C_SOFT #define I2C_SOFT

View File

@@ -52,6 +52,8 @@ static void displayDisplayRotation(void);
static bool setBoostTemp(void); static bool setBoostTemp(void);
static void displayBoostTemp(void); static void displayBoostTemp(void);
#ifdef PROFILE_MODE
static bool setProfilePreheatTemp(); static bool setProfilePreheatTemp();
static bool setProfilePhase1Temp(); static bool setProfilePhase1Temp();
static bool setProfilePhase2Temp(); static bool setProfilePhase2Temp();
@@ -77,6 +79,8 @@ static bool showProfilePhase2Options(void);
static bool showProfilePhase3Options(void); static bool showProfilePhase3Options(void);
static bool showProfilePhase4Options(void); static bool showProfilePhase4Options(void);
static bool showProfilePhase5Options(void); static bool showProfilePhase5Options(void);
#endif
static void displayAutomaticStartMode(void); static void displayAutomaticStartMode(void);
static void displayLockingMode(void); static void displayLockingMode(void);
static void displayCoolingBlinkEnabled(void); static void displayCoolingBlinkEnabled(void);
@@ -244,6 +248,7 @@ const menuitem solderingMenu[] = {
{SETTINGS_DESC(SettingsItemIndex::TempChangeLongStep), nullptr, displayTempChangeLongStep, nullptr, SettingsOptions::TempChangeLongStep, SettingsItemIndex::TempChangeLongStep, {SETTINGS_DESC(SettingsItemIndex::TempChangeLongStep), nullptr, displayTempChangeLongStep, nullptr, SettingsOptions::TempChangeLongStep, SettingsItemIndex::TempChangeLongStep,
6}, /*Temp change long step*/ 6}, /*Temp change long step*/
{SETTINGS_DESC(SettingsItemIndex::LockingMode), nullptr, displayLockingMode, nullptr, SettingsOptions::LockingMode, SettingsItemIndex::LockingMode, 7}, /*Locking Mode*/ {SETTINGS_DESC(SettingsItemIndex::LockingMode), nullptr, displayLockingMode, nullptr, SettingsOptions::LockingMode, SettingsItemIndex::LockingMode, 7}, /*Locking Mode*/
#ifdef PROFILE_MODE
{SETTINGS_DESC(SettingsItemIndex::ProfilePhases), nullptr, displayProfilePhases, nullptr, SettingsOptions::ProfilePhases, SettingsItemIndex::ProfilePhases, 5}, /*Boost Temp*/ {SETTINGS_DESC(SettingsItemIndex::ProfilePhases), nullptr, displayProfilePhases, nullptr, SettingsOptions::ProfilePhases, SettingsItemIndex::ProfilePhases, 5}, /*Boost Temp*/
{SETTINGS_DESC(SettingsItemIndex::ProfilePreheatTemp), setProfilePreheatTemp, displayProfilePreheatTemp, showProfileOptions, SettingsOptions::ProfilePreheatTemp, SettingsItemIndex::ProfilePreheatTemp, 5}, /*Boost Temp*/ {SETTINGS_DESC(SettingsItemIndex::ProfilePreheatTemp), setProfilePreheatTemp, displayProfilePreheatTemp, showProfileOptions, SettingsOptions::ProfilePreheatTemp, SettingsItemIndex::ProfilePreheatTemp, 5}, /*Boost Temp*/
{SETTINGS_DESC(SettingsItemIndex::ProfilePreheatSpeed), nullptr, displayProfilePreheatSpeed, showProfileOptions, SettingsOptions::ProfilePreheatSpeed, SettingsItemIndex::ProfilePreheatSpeed, 5}, /*Boost Temp*/ {SETTINGS_DESC(SettingsItemIndex::ProfilePreheatSpeed), nullptr, displayProfilePreheatSpeed, showProfileOptions, SettingsOptions::ProfilePreheatSpeed, SettingsItemIndex::ProfilePreheatSpeed, 5}, /*Boost Temp*/
@@ -259,6 +264,7 @@ const menuitem solderingMenu[] = {
{SETTINGS_DESC(SettingsItemIndex::ProfilePhase1Duration), nullptr, displayProfilePhase5Duration, showProfilePhase5Options, SettingsOptions::ProfilePhase5Duration, SettingsItemIndex::ProfilePhase5Duration, 5}, /*Boost Temp*/ {SETTINGS_DESC(SettingsItemIndex::ProfilePhase1Duration), nullptr, displayProfilePhase5Duration, showProfilePhase5Options, SettingsOptions::ProfilePhase5Duration, SettingsItemIndex::ProfilePhase5Duration, 5}, /*Boost Temp*/
{SETTINGS_DESC(SettingsItemIndex::ProfileCooldownSpeed), nullptr, displayProfileCooldownSpeed, showProfileOptions, SettingsOptions::ProfileCooldownSpeed, SettingsItemIndex::ProfileCooldownSpeed, 5}, /*Boost Temp*/ {SETTINGS_DESC(SettingsItemIndex::ProfileCooldownSpeed), nullptr, displayProfileCooldownSpeed, showProfileOptions, SettingsOptions::ProfileCooldownSpeed, SettingsItemIndex::ProfileCooldownSpeed, 5}, /*Boost Temp*/
{0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::NUM_ITEMS, 0} // end of menu marker. DO NOT REMOVE {0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::NUM_ITEMS, 0} // end of menu marker. DO NOT REMOVE
#endif
}; };
const menuitem PowerSavingMenu[] = { const menuitem PowerSavingMenu[] = {
/* /*
@@ -518,6 +524,8 @@ static void displayLockingMode(void) {
} }
} }
#ifdef PROFILE_MODE
static void displayProfilePhases(void) { static void displayProfilePhases(void) {
if (getSettingValue(SettingsOptions::ProfilePhases)) { if (getSettingValue(SettingsOptions::ProfilePhases)) {
OLED::printNumber(getSettingValue(SettingsOptions::ProfilePhases), 1, FontStyle::LARGE); OLED::printNumber(getSettingValue(SettingsOptions::ProfilePhases), 1, FontStyle::LARGE);
@@ -574,6 +582,8 @@ static bool showProfilePhase5Options(void) { return getSettingValue(SettingsOpti
static void displaySensitivity(void) { OLED::printNumber(getSettingValue(SettingsOptions::Sensitivity), 1, FontStyle::LARGE, false); } static void displaySensitivity(void) { OLED::printNumber(getSettingValue(SettingsOptions::Sensitivity), 1, FontStyle::LARGE, false); }
static bool showSleepOptions(void) { return getSettingValue(SettingsOptions::Sensitivity) > 0; } static bool showSleepOptions(void) { return getSettingValue(SettingsOptions::Sensitivity) > 0; }
#endif
#ifndef NO_SLEEP_MODE #ifndef NO_SLEEP_MODE
static bool setSleepTemp(void) { static bool setSleepTemp(void) {
@@ -649,12 +659,14 @@ static bool setTempF(void) {
#ifndef NO_SLEEP_MODE #ifndef NO_SLEEP_MODE
setTempF(SettingsOptions::SleepTemp); setTempF(SettingsOptions::SleepTemp);
#endif #endif
#ifdef PROFILE_MODE
setTempF(SettingsOptions::ProfilePreheatTemp); setTempF(SettingsOptions::ProfilePreheatTemp);
setTempF(SettingsOptions::ProfilePhase1Temp); setTempF(SettingsOptions::ProfilePhase1Temp);
setTempF(SettingsOptions::ProfilePhase2Temp); setTempF(SettingsOptions::ProfilePhase2Temp);
setTempF(SettingsOptions::ProfilePhase3Temp); setTempF(SettingsOptions::ProfilePhase3Temp);
setTempF(SettingsOptions::ProfilePhase4Temp); setTempF(SettingsOptions::ProfilePhase4Temp);
setTempF(SettingsOptions::ProfilePhase5Temp); setTempF(SettingsOptions::ProfilePhase5Temp);
#endif
return res; return res;
} }

View File

@@ -55,8 +55,12 @@ void drawHomeScreen(bool buttonLockout) {
showDebugMenu(); showDebugMenu();
break; break;
case BUTTON_F_LONG: case BUTTON_F_LONG:
#ifdef PROFILE_MODE
// todo: add profile mode
#else
gui_solderingTempAdjust(); gui_solderingTempAdjust();
saveSettings(); saveSettings();
#endif
break; break;
case BUTTON_F_SHORT: case BUTTON_F_SHORT:
if (!isTipDisconnected()) { if (!isTipDisconnected()) {

View File

@@ -4,23 +4,31 @@ void gui_solderingTempAdjust(void) {
currentTempTargetDegC = 0; // Turn off heater while adjusting temp currentTempTargetDegC = 0; // Turn off heater while adjusting temp
TickType_t autoRepeatTimer = 0; TickType_t autoRepeatTimer = 0;
uint8_t autoRepeatAcceleration = 0; uint8_t autoRepeatAcceleration = 0;
#ifndef PROFILE_MODE
bool waitForRelease = false; bool waitForRelease = false;
ButtonState buttons = getButtonState(); ButtonState buttons = getButtonState();
if (buttons != BUTTON_NONE) { if (buttons != BUTTON_NONE) {
// Temp adjust entered by long-pressing F button. // Temp adjust entered by long-pressing F button.
waitForRelease = true; waitForRelease = true;
} }
#else
ButtonState buttons;
#endif
for (;;) { for (;;) {
OLED::setCursor(0, 0); OLED::setCursor(0, 0);
OLED::clearScreen(); OLED::clearScreen();
buttons = getButtonState(); buttons = getButtonState();
if (buttons) { if (buttons) {
lastChange = xTaskGetTickCount();
#ifndef PROFILE_MODE
if (waitForRelease) { if (waitForRelease) {
buttons = BUTTON_NONE; buttons = BUTTON_NONE;
} }
lastChange = xTaskGetTickCount();
} else { } else {
waitForRelease = false; waitForRelease = false;
#endif
} }
int16_t delta = 0; int16_t delta = 0;
switch (buttons) { switch (buttons) {