Compare commits

...

7 Commits

Author SHA1 Message Date
40cb835e51 docs: update changelog and header for version v1.5.12-beta8
All checks were successful
Release Workflow / detect-provider (push) Successful in 4s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 3m31s
2025-08-29 11:03:11 +02:00
eb9d9e74f4 docs: update platformio.ini for beta version v1.5.12-beta8 2025-08-29 11:03:11 +02:00
d8af3f45e5 fix: correct color_hex key usage and comment out unused date fields in spool creation 2025-08-29 11:03:05 +02:00
96bb8f9c7c fix: add delay to ensure proper setting of vendor and filament IDs after API state changes 2025-08-29 10:58:06 +02:00
b8b6893cd0 docs: update changelog and header for version v1.5.12-beta7
All checks were successful
Release Workflow / detect-provider (push) Successful in 5s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 3m40s
2025-08-29 10:32:32 +02:00
0a246c1fe4 docs: update platformio.ini for beta version v1.5.12-beta7 2025-08-29 10:32:31 +02:00
965ea5da1e fix: improve API state handling and vendor name formatting 2025-08-29 10:31:26 +02:00
3 changed files with 36 additions and 8 deletions

View File

@@ -1,5 +1,24 @@
# Changelog # Changelog
## [1.5.12-beta8] - 2025-08-29
### Added
- add delay to ensure proper setting of vendor and filament IDs after API state changes
### Changed
- update platformio.ini for beta version v1.5.12-beta8
### Fixed
- correct color_hex key usage and comment out unused date fields in spool creation
## [1.5.12-beta7] - 2025-08-29
### Changed
- update platformio.ini for beta version v1.5.12-beta7
### Fixed
- improve API state handling and vendor name formatting
## [1.5.12-beta6] - 2025-08-29 ## [1.5.12-beta6] - 2025-08-29
### Changed ### Changed
- update platformio.ini for beta version v1.5.12-beta6 - update platformio.ini for beta version v1.5.12-beta6

View File

@@ -9,7 +9,7 @@
; https://docs.platformio.org/page/projectconf.html ; https://docs.platformio.org/page/projectconf.html
[common] [common]
version = "1.5.12-beta6" version = "1.5.12-beta8"
to_old_version = "1.5.0" to_old_version = "1.5.0"
## ##

View File

@@ -121,7 +121,7 @@ void sendToApi(void *parameter) {
// Wait until API is IDLE // Wait until API is IDLE
while(spoolmanApiState != API_IDLE){ while(spoolmanApiState != API_IDLE){
Serial.println("Waiting!"); vTaskDelay(100 / portTICK_PERIOD_MS);
yield(); yield();
} }
spoolmanApiState = API_TRANSMITTING; spoolmanApiState = API_TRANSMITTING;
@@ -678,7 +678,10 @@ uint16_t checkVendor(String vendor) {
// Check if vendor exists using task system // Check if vendor exists using task system
foundVendorId = 0; // Reset previous value foundVendorId = 0; // Reset previous value
String spoolsUrl = spoolmanUrl + apiUrl + "/vendor?name=" + vendor; String vendorName = vendor;
vendorName.trim();
vendorName.replace(" ", "+");
String spoolsUrl = spoolmanUrl + apiUrl + "/vendor?name=" + vendorName;
Serial.print("Check vendor with URL: "); Serial.print("Check vendor with URL: ");
Serial.println(spoolsUrl); Serial.println(spoolsUrl);
@@ -714,6 +717,9 @@ uint16_t checkVendor(String vendor) {
vTaskDelay(100 / portTICK_PERIOD_MS); 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 // Check if vendor was found
if (foundVendorId == 0) { if (foundVendorId == 0) {
Serial.println("Vendor not found, creating new vendor..."); Serial.println("Vendor not found, creating new vendor...");
@@ -745,12 +751,12 @@ uint16_t createFilament(uint16_t vendorId, const JsonDocument& payload) {
// Create JSON payload for filament creation // Create JSON payload for filament creation
JsonDocument filamentDoc; JsonDocument filamentDoc;
filamentDoc["name"] = payload["name"].as<String>(); filamentDoc["name"] = payload["color_name"].as<String>();
filamentDoc["vendor_id"] = String(vendorId); filamentDoc["vendor_id"] = String(vendorId);
filamentDoc["material"] = payload["type"].as<String>(); filamentDoc["material"] = payload["type"].as<String>();
filamentDoc["density"] = (payload["density"].is<String>() && payload["density"].as<String>().length() > 0) ? payload["density"].as<String>() : "1.24"; filamentDoc["density"] = (payload["density"].is<String>() && payload["density"].as<String>().length() > 0) ? payload["density"].as<String>() : "1.24";
filamentDoc["diameter"] = (payload["diameter"].is<String>() && payload["diameter"].as<String>().length() > 0) ? payload["diameter"].as<String>() : "1.75"; filamentDoc["diameter"] = (payload["diameter"].is<String>() && payload["diameter"].as<String>().length() > 0) ? payload["diameter"].as<String>() : "1.75";
filamentDoc["weight"] = payload["weight"].as<String>(); filamentDoc["weight"] = String(weight);
filamentDoc["spool_weight"] = payload["spool_weight"].as<String>(); filamentDoc["spool_weight"] = payload["spool_weight"].as<String>();
filamentDoc["article_number"] = payload["artnr"].as<String>(); filamentDoc["article_number"] = payload["artnr"].as<String>();
filamentDoc["extruder_temp"] = payload["extruder_temp"].is<String>() ? payload["extruder_temp"].as<String>() : ""; filamentDoc["extruder_temp"] = payload["extruder_temp"].is<String>() ? payload["extruder_temp"].as<String>() : "";
@@ -772,7 +778,7 @@ uint16_t createFilament(uint16_t vendorId, const JsonDocument& payload) {
} }
else else
{ {
filamentDoc["color_hex"] = (payload["color"].is<String>() && payload["color"].as<String>().length() >= 6) ? payload["color"].as<String>() : "FFFFFF"; filamentDoc["color_hex"] = (payload["color_hex"].is<String>() && payload["color_hex"].as<String>().length() >= 6) ? payload["color_hex"].as<String>() : "FFFFFF";
} }
String filamentPayload; String filamentPayload;
@@ -859,6 +865,9 @@ uint16_t checkFilament(uint16_t vendorId, const JsonDocument& payload) {
vTaskDelay(100 / portTICK_PERIOD_MS); 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 // Check if filament was found
if (foundFilamentId == 0) { if (foundFilamentId == 0) {
Serial.println("Filament not found, creating new filament..."); Serial.println("Filament not found, creating new filament...");
@@ -891,8 +900,8 @@ uint16_t createSpool(uint16_t vendorId, uint16_t filamentId, JsonDocument& paylo
// Create JSON payload for spool creation // Create JSON payload for spool creation
JsonDocument spoolDoc; JsonDocument spoolDoc;
spoolDoc["first_used"] = String(currentDate); //spoolDoc["first_used"] = String(currentDate);
spoolDoc["last_used"] = String(currentDate); //spoolDoc["last_used"] = String(currentDate);
spoolDoc["filament_id"] = String(filamentId); spoolDoc["filament_id"] = String(filamentId);
spoolDoc["initial_weight"] = weight > 10 ? String(weight) : "1000"; spoolDoc["initial_weight"] = weight > 10 ? String(weight) : "1000";
spoolDoc["spool_weight"] = (payload["spool_weight"].is<String>() && payload["spool_weight"].as<String>().length() > 0) ? payload["spool_weight"].as<String>() : "180"; spoolDoc["spool_weight"] = (payload["spool_weight"].is<String>() && payload["spool_weight"].as<String>().length() > 0) ? payload["spool_weight"].as<String>() : "180";