diff --git a/source/screens/FlashScreen.cpp b/source/screens/FlashScreen.cpp index 85a9027..a691057 100644 --- a/source/screens/FlashScreen.cpp +++ b/source/screens/FlashScreen.cpp @@ -121,8 +121,7 @@ bool ReattachDRC(CCRCDCDestination dest, CCRCDCDrcStateEnum targetState, BOOL un return false; } - // Not sure what state 3 is - if (state.state == CCR_CDC_DRC_STATE_UNK3) { + if (state.state == CCR_CDC_DRC_STATE_STANDALONE) { state.state = CCR_CDC_DRC_STATE_ACTIVE; } @@ -384,7 +383,7 @@ bool FlashScreen::Update(VPADStatus& input) CCRCDCSoftwareAbort(CCR_CDC_DESTINATION_DRC0); // Reattach the DRC in update mode - if (!ReattachDRC(CCR_CDC_DESTINATION_DRC0, CCR_CDC_DRC_STATE_UPDATE, FALSE)) { + if (!ReattachDRC(CCR_CDC_DESTINATION_DRC0, CCR_CDC_DRC_STATE_FWUPDATE, FALSE)) { ReattachDRC(CCR_CDC_DESTINATION_DRC0, CCR_CDC_DRC_STATE_ACTIVE, FALSE); mErrorString = "Failed to reattach DRC in update mode."; mState = STATE_ERROR; diff --git a/source/screens/MainScreen.cpp b/source/screens/MainScreen.cpp index 8523dbd..414370a 100644 --- a/source/screens/MainScreen.cpp +++ b/source/screens/MainScreen.cpp @@ -84,6 +84,10 @@ bool MainScreen::Update(VPADStatus& input) return true; } + if (mStateFailure) { + return false; + } + MochaUtilsStatus status; switch (mState) { case STATE_INIT: