1
0
forked from me/IronOS

Fixup! Hook in the init starter helper

This commit is contained in:
Ben V. Brown
2023-07-18 07:56:58 +10:00
parent 3888bdc04a
commit ae5b9e9717
3 changed files with 12 additions and 4 deletions

View File

@@ -34,10 +34,11 @@ extern "C" {
#define MOVEMENT_INACTIVITY_TIME (60 * configTICK_RATE_HZ) #define MOVEMENT_INACTIVITY_TIME (60 * configTICK_RATE_HZ)
#define BUTTON_INACTIVITY_TIME (60 * configTICK_RATE_HZ) #define BUTTON_INACTIVITY_TIME (60 * configTICK_RATE_HZ)
ButtonState buttonsAtDeviceBoot; // We record button state at startup, incase of jumping to debug modes ButtonState buttonsAtDeviceBoot; // We record button state at startup, incase of jumping to debug modes
OperatingMode currentOperatingMode = OperatingMode::InitialisationDone; // Current mode we are rendering
guiContext context; // Context passed to functions to aid in state during render passes
OperatingMode currentOperatingMode; // Current mode we are rendering OperatingMode handle_post_init_state();
guiContext context; // Context passed to functions to aid in state during render passes
void guiRenderLoop(void) { void guiRenderLoop(void) {
OLED::clearScreen(); // Clear ready for render pass OLED::clearScreen(); // Clear ready for render pass
@@ -106,6 +107,7 @@ void guiRenderLoop(void) {
case OperatingMode::SettingsMenu: case OperatingMode::SettingsMenu:
break; break;
case OperatingMode::InitialisationDone: case OperatingMode::InitialisationDone:
newMode = handle_post_init_state();
break; break;
case OperatingMode::Hibernating: case OperatingMode::Hibernating:
break; break;
@@ -134,6 +136,9 @@ void guiRenderLoop(void) {
break; break;
case TransitionAnimation::Right: case TransitionAnimation::Right:
break; break;
case TransitionAnimation::None:
default:
break; // Do nothing on unknown
} }
OLED::useSecondaryFramebuffer(false); OLED::useSecondaryFramebuffer(false);
context.transitionMode = TransitionAnimation::None; // Clear transition flag context.transitionMode = TransitionAnimation::None; // Clear transition flag
@@ -180,6 +185,7 @@ void startGUITask(void const *argument) {
bool buttonLockout = false; bool buttonLockout = false;
renderHomeScreenAssets(); renderHomeScreenAssets();
getTipRawTemp(1); // reset filter getTipRawTemp(1); // reset filter
memset(&context, 0, sizeof(context));
OLED::setRotation(getSettingValue(SettingsOptions::OrientationMode) & 1); OLED::setRotation(getSettingValue(SettingsOptions::OrientationMode) & 1);
buttonsAtDeviceBoot = getButtonState(); buttonsAtDeviceBoot = getButtonState();
@@ -197,6 +203,7 @@ void startGUITask(void const *argument) {
// currentTempTargetDegC = min(sleepTempDegC, 75); // currentTempTargetDegC = min(sleepTempDegC, 75);
// } // }
// TODO // TODO
TickType_t startRender = xTaskGetTickCount(); TickType_t startRender = xTaskGetTickCount();
for (;;) { for (;;) {
guiRenderLoop(); guiRenderLoop();

View File

@@ -60,6 +60,7 @@ OperatingMode handleHomeButtons(const ButtonState buttons, guiContext *cxt) {
default: default:
break; break;
} }
return OperatingMode::HomeScreen;
} }
void drawDetailedHomeScreen(uint32_t tipTemp) { void drawDetailedHomeScreen(uint32_t tipTemp) {

View File

@@ -2,7 +2,7 @@
OperatingMode gui_SolderingSleepingMode(const ButtonState buttons, guiContext *cxt) { OperatingMode gui_SolderingSleepingMode(const ButtonState buttons, guiContext *cxt) {
#ifdef NO_SLEEP_MODE #ifdef NO_SLEEP_MODE
return OperatingMode::SolderingMode; return OperatingMode::Soldering;
#endif #endif
// Drop to sleep temperature and display until movement or button press // Drop to sleep temperature and display until movement or button press