diff options
author | David Crocker <dcrocker@eschertech.com> | 2021-08-25 13:08:40 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2021-08-25 13:09:10 +0300 |
commit | 1b9a248dd5e1cb4c1a03c0c6159183f45de359d5 (patch) | |
tree | edb081d37e6ae148f959273be68746df6f3d0d24 | |
parent | d6a32f6a1979de5353e1cbf028b2794747b2a10d (diff) |
Fall back to /sys if wifi firmware not found in /firmware
-rw-r--r-- | src/Comms/FirmwareUpdater.cpp | 2 | ||||
-rw-r--r-- | src/GCodes/GCodes3.cpp | 2 | ||||
-rw-r--r-- | src/Networking/ESP8266WiFi/WifiFirmwareUploader.cpp | 13 | ||||
-rw-r--r-- | src/Networking/ESP8266WiFi/WifiFirmwareUploader.h | 2 |
4 files changed, 12 insertions, 7 deletions
diff --git a/src/Comms/FirmwareUpdater.cpp b/src/Comms/FirmwareUpdater.cpp index 3d7d2de7..5b671bcf 100644 --- a/src/Comms/FirmwareUpdater.cpp +++ b/src/Comms/FirmwareUpdater.cpp @@ -122,7 +122,7 @@ namespace FirmwareUpdater if (uploader != nullptr) { const char* binaryFilename = filenameRef.IsEmpty() ? WIFI_FIRMWARE_FILE : filenameRef.c_str(); - uploader->SendUpdateFile(binaryFilename, FIRMWARE_DIRECTORY, WifiFirmwareUploader::FirmwareAddress); + uploader->SendUpdateFile(binaryFilename, WifiFirmwareUploader::FirmwareAddress); } } break; diff --git a/src/GCodes/GCodes3.cpp b/src/GCodes/GCodes3.cpp index b48ae06b..4999b7d8 100644 --- a/src/GCodes/GCodes3.cpp +++ b/src/GCodes/GCodes3.cpp @@ -1177,7 +1177,7 @@ GCodeResult GCodes::UpdateFirmware(GCodeBuffer& gb, const StringRef &reply) { if (firmwareUpdateModuleMap.CountSetBits() > 1) { - reply.copy("Filename can only be provided when updating excactly one module\n"); + reply.copy("Filename can only be provided when updating exactly one module\n"); firmwareUpdateModuleMap.Clear(); return GCodeResult::error; } diff --git a/src/Networking/ESP8266WiFi/WifiFirmwareUploader.cpp b/src/Networking/ESP8266WiFi/WifiFirmwareUploader.cpp index fe38ee6d..17a922c2 100644 --- a/src/Networking/ESP8266WiFi/WifiFirmwareUploader.cpp +++ b/src/Networking/ESP8266WiFi/WifiFirmwareUploader.cpp @@ -733,14 +733,19 @@ void WifiFirmwareUploader::Spin() noexcept } // Try to upload the given file at the given address -void WifiFirmwareUploader::SendUpdateFile(const char *file, const char *dir, uint32_t address) noexcept +void WifiFirmwareUploader::SendUpdateFile(const char *file, uint32_t address) noexcept { Platform& platform = reprap.GetPlatform(); - uploadFile = platform.OpenFile(dir, file, OpenMode::read); + uploadFile = platform.OpenFile(FIRMWARE_DIRECTORY, file, OpenMode::read); if (uploadFile == nullptr) { - MessageF("Failed to open file %s\n", file); - return; + // Fall back to /sys if the wifi file wasn't found in /firmware + uploadFile = platform.OpenFile(DEFAULT_SYS_DIR, file, OpenMode::read); + if (uploadFile == nullptr) + { + MessageF("Failed to open file %s%s\n", FIRMWARE_DIRECTORY, file); + return; + } } fileSize = uploadFile->Length(); diff --git a/src/Networking/ESP8266WiFi/WifiFirmwareUploader.h b/src/Networking/ESP8266WiFi/WifiFirmwareUploader.h index 470d1328..77c60203 100644 --- a/src/Networking/ESP8266WiFi/WifiFirmwareUploader.h +++ b/src/Networking/ESP8266WiFi/WifiFirmwareUploader.h @@ -17,7 +17,7 @@ class WifiFirmwareUploader public: WifiFirmwareUploader(UARTClass& port, WiFiInterface &iface) noexcept; bool IsReady() const noexcept; - void SendUpdateFile(const char *file, const char *dir, uint32_t address) noexcept; + void SendUpdateFile(const char *file, uint32_t address) noexcept; void Spin() noexcept; static const uint32_t FirmwareAddress = 0x00000000; |