Compare commits
10 Commits
v2.0.0-bet
...
recyclingf
Author | SHA1 | Date | |
---|---|---|---|
bc51956793 | |||
5666a58da2 | |||
a35f15eca5 | |||
f28b34e427 | |||
9215560558 | |||
7f6bce1699 | |||
2a4f8bb679 | |||
480e2da23e | |||
ba22602767 | |||
b2c68d5aac |
23
CHANGELOG.md
23
CHANGELOG.md
@@ -1,5 +1,28 @@
|
||||
# Changelog
|
||||
|
||||
## [2.0.0-beta5] - 2025-08-30
|
||||
### Changed
|
||||
- update platformio.ini for beta version v2.0.0-beta5
|
||||
|
||||
### Fixed
|
||||
- call scale.tare() in setup after starting scale
|
||||
|
||||
|
||||
## [2.0.0-beta4] - 2025-08-29
|
||||
### Changed
|
||||
- update platformio.ini for beta version v2.0.0-beta4
|
||||
|
||||
### Fixed
|
||||
- update createVendor function to use external_id as comment instead of static text
|
||||
- update to_old_version in platformio.ini to reflect correct previous version
|
||||
|
||||
|
||||
## [2.0.0-beta3] - 2025-08-29
|
||||
### Changed
|
||||
- update platformio.ini for beta version v2.0.0-beta3
|
||||
- update createVendor and checkVendor functions to accept JsonDocument payload
|
||||
|
||||
|
||||
## [2.0.0-beta2] - 2025-08-29
|
||||
### Added
|
||||
- add Manufacturer Tags support documentation in German and English
|
||||
|
@@ -9,8 +9,8 @@
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[common]
|
||||
version = "2.0.0-beta2"
|
||||
to_old_version = "2.0.0"
|
||||
version = "2.0.0-beta5"
|
||||
to_old_version = "1.5.10"
|
||||
|
||||
##
|
||||
[env:esp32dev]
|
||||
|
33
src/api.cpp
33
src/api.cpp
@@ -603,7 +603,7 @@ bool updateSpoolBambuData(String payload) {
|
||||
}
|
||||
|
||||
// #### Brand Filament
|
||||
uint16_t createVendor(String vendor) {
|
||||
uint16_t createVendor(const JsonDocument& payload) {
|
||||
oledShowProgressBar(2, 5, "New Brand", "Create new Vendor");
|
||||
|
||||
// Create new vendor in Spoolman database using task system
|
||||
@@ -617,9 +617,24 @@ uint16_t createVendor(String vendor) {
|
||||
|
||||
// Create JSON payload for vendor creation
|
||||
JsonDocument vendorDoc;
|
||||
vendorDoc["name"] = vendor;
|
||||
vendorDoc["comment"] = "automatically generated";
|
||||
vendorDoc["external_id"] = vendor;
|
||||
vendorDoc["name"] = payload["b"].as<String>();
|
||||
|
||||
// Extract domain from URL if present, otherwise use brand name
|
||||
String externalId = "";
|
||||
if (payload["u"].is<String>()) {
|
||||
String url = payload["u"].as<String>();
|
||||
// Extract domain from URL (e.g., "https://www.blubb.de/f1234/?suche=irgendwas" -> "https://www.blubb.de")
|
||||
int protocolEnd = url.indexOf("://");
|
||||
if (protocolEnd != -1) {
|
||||
int pathStart = url.indexOf("/", protocolEnd + 3);
|
||||
externalId = (pathStart != -1) ? url.substring(0, pathStart) : url;
|
||||
} else {
|
||||
externalId = url; // No protocol found, use as is
|
||||
}
|
||||
} else {
|
||||
externalId = payload["b"].as<String>();
|
||||
}
|
||||
vendorDoc["comment"] = externalId;
|
||||
|
||||
String vendorPayload;
|
||||
serializeJson(vendorDoc, vendorPayload);
|
||||
@@ -668,13 +683,13 @@ uint16_t createVendor(String vendor) {
|
||||
return createdVendorId;
|
||||
}
|
||||
|
||||
uint16_t checkVendor(String vendor) {
|
||||
uint16_t checkVendor(const JsonDocument& payload) {
|
||||
oledShowProgressBar(1, 5, "New Brand", "Check Vendor");
|
||||
|
||||
// Check if vendor exists using task system
|
||||
foundVendorId = 65535; // Reset to invalid value to detect when API response is received
|
||||
|
||||
String vendorName = vendor;
|
||||
String vendorName = payload["b"].as<String>();
|
||||
vendorName.trim();
|
||||
vendorName.replace(" ", "+");
|
||||
String spoolsUrl = spoolmanUrl + apiUrl + "/vendor?name=" + vendorName;
|
||||
@@ -716,7 +731,7 @@ uint16_t checkVendor(String vendor) {
|
||||
// Check if vendor was found
|
||||
if (foundVendorId == 0) {
|
||||
Serial.println("Vendor not found, creating new vendor...");
|
||||
uint16_t vendorId = createVendor(vendor);
|
||||
uint16_t vendorId = createVendor(payload);
|
||||
if (vendorId == 0) {
|
||||
Serial.println("Failed to create vendor, returning 0.");
|
||||
return 0; // Failed to create vendor
|
||||
@@ -725,7 +740,7 @@ uint16_t checkVendor(String vendor) {
|
||||
return vendorId;
|
||||
}
|
||||
} else {
|
||||
Serial.println("Vendor found: " + vendor);
|
||||
Serial.println("Vendor found: " + payload["b"].as<String>());
|
||||
Serial.print("Vendor ID: ");
|
||||
Serial.println(foundVendorId);
|
||||
return foundVendorId;
|
||||
@@ -966,7 +981,7 @@ uint16_t createSpool(uint16_t vendorId, uint16_t filamentId, JsonDocument& paylo
|
||||
}
|
||||
|
||||
bool createBrandFilament(JsonDocument& payload, String uidString) {
|
||||
uint16_t vendorId = checkVendor(payload["b"].as<String>());
|
||||
uint16_t vendorId = checkVendor(payload);
|
||||
if (vendorId == 0) {
|
||||
Serial.println("ERROR: Failed to create/find vendor");
|
||||
return false;
|
||||
|
@@ -59,6 +59,7 @@ void setup() {
|
||||
|
||||
// Scale
|
||||
start_scale(touchSensorConnected);
|
||||
scale.tare();
|
||||
|
||||
// WDT initialisieren mit 10 Sekunden Timeout
|
||||
bool panic = true; // Wenn true, löst ein WDT-Timeout einen System-Panik aus
|
||||
|
@@ -122,8 +122,8 @@ void start_scale(bool touchSensorConnected) {
|
||||
}
|
||||
|
||||
scale.set_scale(calibrationValue);
|
||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
scale.tare();
|
||||
//vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
//scale.tare();
|
||||
|
||||
// Display Gewicht
|
||||
oledShowWeight(0);
|
||||
|
Reference in New Issue
Block a user