From beefe8e355ea2d138e625ba88c24a5e2c25a2d43 Mon Sep 17 00:00:00 2001 From: anschrammh Date: Tue, 27 Sep 2022 08:00:19 +0200 Subject: [PATCH] Added OTA events callbacks --- src/app/OTAManager.cpp | 27 ++++++++++++++++++++++++++- src/app/OTAManager.h | 5 +++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/app/OTAManager.cpp b/src/app/OTAManager.cpp index c68929d..8c96b5c 100644 --- a/src/app/OTAManager.cpp +++ b/src/app/OTAManager.cpp @@ -39,6 +39,11 @@ boolean OTAManager::init(void) { _isServiceEnabled = true; _otaUpdater.setLedPin(_boardConfig->getOnBoard_LED(), LOW); + _otaUpdater.onStart(std::bind(&OTAManager::updateStartedCb, this)); + _otaUpdater.onError(std::bind(&OTAManager::updateErrorCb, this, std::placeholders::_1)); + _otaUpdater.onProgress(std::bind(&OTAManager::updateProgressdCb, this, std::placeholders::_1, std::placeholders::_2)); + _otaUpdater.onEnd(std::bind(&OTAManager::updateFinishedCb, this)); + _otaUpdater.setServerAddress((*otaCfg)("OTA_SERVER_ADDRESS")->stringValue()); @@ -86,4 +91,24 @@ boolean OTAManager::isEnabled(void) const OTAUpdater& OTAManager::getOTAUpdater(void) { return _otaUpdater; -} \ No newline at end of file +} + +void OTAManager::updateStartedCb(void) +{ + Serial.println("CALLBACK: HTTP update process started"); +} + +void OTAManager::updateFinishedCb(void) +{ + Serial.println("CALLBACK: HTTP update process finished"); +} + +void OTAManager::updateProgressdCb(int cur, int total) +{ + Serial.printf("CALLBACK: HTTP update process at %d of %d bytes...\n", cur, total); +} + +void OTAManager::updateErrorCb(int err) +{ + Serial.printf("CALLBACK: HTTP update fatal error code %d\n", err); +} diff --git a/src/app/OTAManager.h b/src/app/OTAManager.h index 6def4b0..1c1fd08 100644 --- a/src/app/OTAManager.h +++ b/src/app/OTAManager.h @@ -18,6 +18,11 @@ class OTAManager OTAManager(SDCardManager &sdCardManager, const BoardConfig &boardConfig); OTAManager(); private: + void updateStartedCb(void); + void updateFinishedCb(void); + void updateProgressdCb(int cur, int total); + void updateErrorCb(int err); + OTAUpdater _otaUpdater; SDCardManager *_sdCardManager = nullptr; const BoardConfig * _boardConfig = nullptr;