diff --git a/src/utility/ota/OTALogic.cpp b/src/utility/ota/OTALogic.cpp index 5bd7ec62e..3d2e86d33 100644 --- a/src/utility/ota/OTALogic.cpp +++ b/src/utility/ota/OTALogic.cpp @@ -141,7 +141,7 @@ OTAState OTALogic::handle_Idle() OTAState OTALogic::handle_StartDownload() { - if(_ota_storage->open("UPDATE.BIN.TMP")) { + if(_ota_storage->open()) { return OTAState::WaitForHeader; } else { _ota_error = OTAError::StorageOpenFailed; @@ -232,7 +232,7 @@ OTAState OTALogic::handle_Verify() if(_ota_bin_data.crc32 == _ota_bin_data.hdr_crc32) { return OTAState::Rename; } else { - _ota_storage->remove("UPDATE.BIN.TMP"); + _ota_storage->remove(); _ota_error = OTAError::ChecksumMismatch; return OTAState::Error; } @@ -240,7 +240,7 @@ OTAState OTALogic::handle_Verify() OTAState OTALogic::handle_Rename() { - if(_ota_storage->rename("UPDATE.BIN.TMP", "UPDATE.BIN")) { + if(_ota_storage->rename()) { _ota_storage->deinit(); return OTAState::Reset; } diff --git a/src/utility/ota/OTAStorage.h b/src/utility/ota/OTAStorage.h index fb99b3f6d..4029f81dd 100644 --- a/src/utility/ota/OTAStorage.h +++ b/src/utility/ota/OTAStorage.h @@ -38,11 +38,11 @@ class OTAStorage virtual bool init () = 0; - virtual bool open (char const * file_name) = 0; + virtual bool open () = 0; virtual size_t write (uint8_t const * const buf, size_t const num_bytes) = 0; virtual void close () = 0; - virtual void remove(char const * file_name) = 0; - virtual bool rename(char const * old_file_name, char const * new_file_name) = 0; + virtual void remove() = 0; + virtual bool rename() = 0; virtual void deinit() = 0; }; diff --git a/src/utility/ota/OTAStorage_SFU.cpp b/src/utility/ota/OTAStorage_SFU.cpp index be52b74fe..c5046d595 100644 --- a/src/utility/ota/OTAStorage_SFU.cpp +++ b/src/utility/ota/OTAStorage_SFU.cpp @@ -26,6 +26,13 @@ #include +/****************************************************************************** + * CONSTANTS + ******************************************************************************/ + +static char const SFU_UPDATE_FILENAME[] = "UPDATE.BIN"; +static char const SFU_TEMP_UPDATE_FILENAME[] = "UPDATE.BIN.TMP"; + /****************************************************************************** * CTOR/DTOR ******************************************************************************/ @@ -56,10 +63,10 @@ bool OTAStorage_SFU::init() return true; } -bool OTAStorage_SFU::open(char const * file_name) +bool OTAStorage_SFU::open() { filesystem.clearerr(); - _file = new File(filesystem.open(file_name, CREATE | WRITE_ONLY| TRUNCATE)); + _file = new File(filesystem.open(SFU_TEMP_UPDATE_FILENAME, CREATE | WRITE_ONLY| TRUNCATE)); if(SPIFFS_OK != filesystem.err()) { DBG_ERROR("OTAStorage_SFU::open - open() failed with error code %d", filesystem.err()); delete _file; @@ -79,14 +86,14 @@ void OTAStorage_SFU::close() delete _file; } -void OTAStorage_SFU::remove(char const * file_name) +void OTAStorage_SFU::remove() { - filesystem.remove(file_name); + filesystem.remove(SFU_TEMP_UPDATE_FILENAME); } -bool OTAStorage_SFU::rename(char const * old_file_name, char const * new_file_name) +bool OTAStorage_SFU::rename() { - return (SPIFFS_OK == filesystem.rename(old_file_name, new_file_name)); + return (SPIFFS_OK == filesystem.rename(SFU_TEMP_UPDATE_FILENAME, SFU_UPDATE_FILENAME)); } void OTAStorage_SFU::deinit() diff --git a/src/utility/ota/OTAStorage_SFU.h b/src/utility/ota/OTAStorage_SFU.h index a5004265a..c22099bee 100644 --- a/src/utility/ota/OTAStorage_SFU.h +++ b/src/utility/ota/OTAStorage_SFU.h @@ -44,11 +44,11 @@ class OTAStorage_SFU : public OTAStorage virtual bool init () override; - virtual bool open (char const * file_name) override; + virtual bool open () override; virtual size_t write (uint8_t const * const buf, size_t const num_bytes) override; virtual void close () override; - virtual void remove(char const * file_name) override; - virtual bool rename(char const * old_file_name, char const * new_file_name) override; + virtual void remove() override; + virtual bool rename() override; virtual void deinit() override; diff --git a/src/utility/ota/OTAStorage_SNU.cpp b/src/utility/ota/OTAStorage_SNU.cpp index e2a86da2d..c3325b11b 100644 --- a/src/utility/ota/OTAStorage_SNU.cpp +++ b/src/utility/ota/OTAStorage_SNU.cpp @@ -47,7 +47,7 @@ bool OTAStorage_SNU::init() return true; } -bool OTAStorage_SNU::open(char const * /* file_name */) +bool OTAStorage_SNU::open() { /* There's no need to explicitly open the file * because when writing to it the file will always @@ -83,12 +83,12 @@ void OTAStorage_SNU::close() /* Files are closed after each file operation on the nina side. */ } -void OTAStorage_SNU::remove(char const * /* file_name */) +void OTAStorage_SNU::remove() { WiFiStorage.remove(SNU_TEMP_UPDATE_FILENAME); } -bool OTAStorage_SNU::rename(char const * /* old_file_name */, char const * /* new_file_name */) +bool OTAStorage_SNU::rename() { return WiFiStorage.rename(SNU_TEMP_UPDATE_FILENAME, SNU_UPDATE_FILENAME); } diff --git a/src/utility/ota/OTAStorage_SNU.h b/src/utility/ota/OTAStorage_SNU.h index 19dae7b65..c9fbc2619 100644 --- a/src/utility/ota/OTAStorage_SNU.h +++ b/src/utility/ota/OTAStorage_SNU.h @@ -41,11 +41,11 @@ class OTAStorage_SNU : public OTAStorage virtual bool init () override; - virtual bool open (char const * file_name) override; + virtual bool open () override; virtual size_t write (uint8_t const * const buf, size_t const num_bytes) override; virtual void close () override; - virtual void remove(char const * file_name) override; - virtual bool rename(char const * old_file_name, char const * new_file_name) override; + virtual void remove() override; + virtual bool rename() override; virtual void deinit() override; }; diff --git a/src/utility/ota/OTAStorage_SSU.cpp b/src/utility/ota/OTAStorage_SSU.cpp index 0a6a9d617..a8023ac1d 100644 --- a/src/utility/ota/OTAStorage_SSU.cpp +++ b/src/utility/ota/OTAStorage_SSU.cpp @@ -49,7 +49,7 @@ bool OTAStorage_SSU::init() return false; } -bool OTAStorage_SSU::open(char const * /* file_name */) +bool OTAStorage_SSU::open() { return true; } @@ -65,12 +65,12 @@ void OTAStorage_SSU::close() /* Nothing to do */ } -void OTAStorage_SSU::remove(char const * /* file_name */) +void OTAStorage_SSU::remove() { _fileUtils.deleteFile(SSU_UPDATE_FILENAME); } -bool OTAStorage_SSU::rename(char const * /* old_file_name */, char const * /* new_file_name */) +bool OTAStorage_SSU::rename() { /* Create a file 'UPDATE.OK' which is used by the SSU * 2nd stage bootloader to recognise that the update diff --git a/src/utility/ota/OTAStorage_SSU.h b/src/utility/ota/OTAStorage_SSU.h index d6a3cd8f5..99f1bf6ec 100644 --- a/src/utility/ota/OTAStorage_SSU.h +++ b/src/utility/ota/OTAStorage_SSU.h @@ -43,11 +43,11 @@ class OTAStorage_SSU : public OTAStorage virtual bool init () override; - virtual bool open (char const * file_name) override; + virtual bool open () override; virtual size_t write (uint8_t const * const buf, size_t const num_bytes) override; virtual void close () override; - virtual void remove(char const * file_name) override; - virtual bool rename(char const * old_file_name, char const * new_file_name) override; + virtual void remove() override; + virtual bool rename() override; virtual void deinit() override; private: