From 96bb8f9c7c20b0fd2496a207b5dda329175c3803 Mon Sep 17 00:00:00 2001 From: Manuel Weiser Date: Fri, 29 Aug 2025 10:58:06 +0200 Subject: [PATCH] fix: add delay to ensure proper setting of vendor and filament IDs after API state changes --- src/api.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/api.cpp b/src/api.cpp index 9345094..406e0c2 100644 --- a/src/api.cpp +++ b/src/api.cpp @@ -716,6 +716,9 @@ uint16_t checkVendor(String vendor) { while(spoolmanApiState != API_IDLE) { vTaskDelay(100 / portTICK_PERIOD_MS); } + + // Additional delay to ensure foundVendorId is properly set after API state becomes IDLE + vTaskDelay(50 / portTICK_PERIOD_MS); // Check if vendor was found if (foundVendorId == 0) { @@ -748,7 +751,7 @@ uint16_t createFilament(uint16_t vendorId, const JsonDocument& payload) { // Create JSON payload for filament creation JsonDocument filamentDoc; - filamentDoc["name"] = payload["name"].as(); + filamentDoc["name"] = payload["color_name"].as(); filamentDoc["vendor_id"] = String(vendorId); filamentDoc["material"] = payload["type"].as(); filamentDoc["density"] = (payload["density"].is() && payload["density"].as().length() > 0) ? payload["density"].as() : "1.24"; @@ -861,6 +864,9 @@ uint16_t checkFilament(uint16_t vendorId, const JsonDocument& payload) { while(spoolmanApiState != API_IDLE) { vTaskDelay(100 / portTICK_PERIOD_MS); } + + // Additional delay to ensure foundFilamentId is properly set after API state becomes IDLE + vTaskDelay(50 / portTICK_PERIOD_MS); // Check if filament was found if (foundFilamentId == 0) {