Index: sources/update/UiProtocol.cpp =================================================================== diff -u -r110fa8df5fc77830fa05d04af55b349dd8f9c6d9 -r7cf31f6cfef97bb564a103c263821a3b722c8a2b --- sources/update/UiProtocol.cpp (.../UiProtocol.cpp) (revision 110fa8df5fc77830fa05d04af55b349dd8f9c6d9) +++ sources/update/UiProtocol.cpp (.../UiProtocol.cpp) (revision 7cf31f6cfef97bb564a103c263821a3b722c8a2b) @@ -15,10 +15,10 @@ */ #include "UiProtocol.h" -#include "UiSwUpdate.h" #include "IDataProvider.h" - +#include "IEnterBootLoader.h" #include "Logger.h" +#include "UiSwUpdate.h" #include #include @@ -62,8 +62,9 @@ _retries(0), _lastRx{(uint8)0}, _link(KBPS_WIRE), - _pThread(nullptr), - _completedOk(false) + _pThread(nullptr), + _completedOk(false), + _pEnterBL(nullptr) { ; // NOP. } @@ -253,7 +254,13 @@ // Reset the transfered counter. _transfered = 0; _link.resetRetries(); - + + // If enterbootloader exists, use it. + if (_pEnterBL != nullptr) { + _pEnterBL->sendEnterBootloader( + (_target == HD) || (_target == HDFPGA)); + } + // Send start. _state = UpdateState::Starting; bool ok = _sendCommand(SwUpdateCmdEnum::Start);