Compare commits
	
		
			32 Commits
		
	
	
		
			v2.0.2
			...
			v2.0.4-bet
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 301109c37b | |||
| d43fceebbc | |||
| 2c435e5c98 | |||
| f9aa7f2e6b | |||
| f810bc5352 | |||
| 043c2d4fa8 | |||
| f5a1debd7d | |||
| 37309da185 | |||
| bcb7c039e2 | |||
| 98ec5b9846 | |||
| f0d1692ae1 | |||
| 10587276c2 | |||
| e74f6076b2 | |||
| 2ee60ce430 | |||
| 5db80d3670 | |||
| 2b195ed9ea | |||
| 45a623cff6 | |||
| b4a06d0f2a | |||
| 85cff3923c | |||
| d9469eaa42 | |||
| 16c3a65cca | |||
| 51335456e3 | |||
| 77fbacc681 | |||
| b4f1fc3b0a | |||
| 3a82175bb6 | |||
| b80184bf23 | |||
| 0f63880d1f | |||
| 0baa1d286e | |||
| 100328b1d6 | |||
| 9ec5bca652 | |||
| 1dba2b2f23 | |||
| cca0bd9dbe | 
							
								
								
									
										156
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										156
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,5 +1,161 @@ | ||||
| # Changelog | ||||
|  | ||||
| ## [2.0.4-beta2] - 2025-09-03 | ||||
| ### Changed | ||||
| - adjust auto tare counter threshold and reposition tare check in scale loop | ||||
| - improve auto tare logic and reset conditions in scale handling | ||||
|  | ||||
|  | ||||
| ## [2.0.4-beta1] - 2025-09-03 | ||||
| ### Changed | ||||
| - improve auto tare logic and reset conditions in scale handling | ||||
|  | ||||
|  | ||||
| ## [2.0.4] - 2025-09-02 | ||||
| ### Changed | ||||
| - filter out automatic release documentation commits in changelog categorization | ||||
| - disable auto tare and weight filter reset in scale loop | ||||
|  | ||||
|  | ||||
| ## [2.0.3] - 2025-09-02 | ||||
| ### Added | ||||
| - add updateOctoSpoolId for OctoPrint integration and change autoSetToBambuSpoolId type to uint16_t | ||||
|  | ||||
| ### Changed | ||||
| - update platformio.ini for version v2.0.3 | ||||
| - update changelog and header for version v2.0.2-beta6 | ||||
| - update platformio.ini for beta version v2.0.2-beta6 | ||||
| - update changelog and header for version v2.0.2-beta5 | ||||
| - update platformio.ini for beta version v2.0.2-beta5 | ||||
| - update changelog and header for version v2.0.2-beta4 | ||||
| - update platformio.ini for beta version v2.0.2-beta4 | ||||
| - update changelog and header for version v2.0.2-beta3 | ||||
| - update platformio.ini for beta version v2.0.2-beta3 | ||||
| - update changelog and header for version v2.0.2-beta2 | ||||
| - update platformio.ini for beta version v2.0.2-beta2 | ||||
| - update changelog and header for version v2.0.2-beta1 | ||||
| - update platformio.ini for beta version v2.0.2-beta1 | ||||
|  | ||||
| ### Fixed | ||||
| - set scale tare request to true in setup function | ||||
| - correct assignment operator in scale tare request handling | ||||
| - correct tare scale request handling in tareScale function | ||||
| - reset weight filter after tare scale operation | ||||
| - correct tare scale function to set scaleTareRequest flag | ||||
| - reset weight counter logic and update spool ID in loop function | ||||
| - reduce delay in start_scale function and reset weight after tare | ||||
|  | ||||
|  | ||||
| ## [2.0.2-beta6] - 2025-09-02 | ||||
| ### Added | ||||
| - add updateOctoSpoolId for OctoPrint integration and change autoSetToBambuSpoolId type to uint16_t | ||||
|  | ||||
| ### Changed | ||||
| - update platformio.ini for beta version v2.0.2-beta6 | ||||
| - update changelog and header for version v2.0.2-beta5 | ||||
| - update platformio.ini for beta version v2.0.2-beta5 | ||||
| - update changelog and header for version v2.0.2-beta4 | ||||
| - update platformio.ini for beta version v2.0.2-beta4 | ||||
| - update changelog and header for version v2.0.2-beta3 | ||||
| - update platformio.ini for beta version v2.0.2-beta3 | ||||
| - update changelog and header for version v2.0.2-beta2 | ||||
| - update platformio.ini for beta version v2.0.2-beta2 | ||||
| - update changelog and header for version v2.0.2-beta1 | ||||
| - update platformio.ini for beta version v2.0.2-beta1 | ||||
|  | ||||
| ### Fixed | ||||
| - set scale tare request to true in setup function | ||||
| - correct assignment operator in scale tare request handling | ||||
| - correct tare scale request handling in tareScale function | ||||
| - reset weight filter after tare scale operation | ||||
| - correct tare scale function to set scaleTareRequest flag | ||||
| - reset weight counter logic and update spool ID in loop function | ||||
| - reduce delay in start_scale function and reset weight after tare | ||||
|  | ||||
|  | ||||
| ## [2.0.2-beta5] - 2025-09-02 | ||||
| ### Added | ||||
| - add updateOctoSpoolId for OctoPrint integration and change autoSetToBambuSpoolId type to uint16_t | ||||
|  | ||||
| ### Changed | ||||
| - update platformio.ini for beta version v2.0.2-beta5 | ||||
| - update changelog and header for version v2.0.2-beta4 | ||||
| - update platformio.ini for beta version v2.0.2-beta4 | ||||
| - update changelog and header for version v2.0.2-beta3 | ||||
| - update platformio.ini for beta version v2.0.2-beta3 | ||||
| - update changelog and header for version v2.0.2-beta2 | ||||
| - update platformio.ini for beta version v2.0.2-beta2 | ||||
| - update changelog and header for version v2.0.2-beta1 | ||||
| - update platformio.ini for beta version v2.0.2-beta1 | ||||
|  | ||||
| ### Fixed | ||||
| - correct tare scale request handling in tareScale function | ||||
| - reset weight filter after tare scale operation | ||||
| - correct tare scale function to set scaleTareRequest flag | ||||
| - reset weight counter logic and update spool ID in loop function | ||||
| - reduce delay in start_scale function and reset weight after tare | ||||
|  | ||||
|  | ||||
| ## [2.0.2-beta4] - 2025-09-02 | ||||
| ### Added | ||||
| - add updateOctoSpoolId for OctoPrint integration and change autoSetToBambuSpoolId type to uint16_t | ||||
|  | ||||
| ### Changed | ||||
| - update platformio.ini for beta version v2.0.2-beta4 | ||||
| - update changelog and header for version v2.0.2-beta3 | ||||
| - update platformio.ini for beta version v2.0.2-beta3 | ||||
| - update changelog and header for version v2.0.2-beta2 | ||||
| - update platformio.ini for beta version v2.0.2-beta2 | ||||
| - update changelog and header for version v2.0.2-beta1 | ||||
| - update platformio.ini for beta version v2.0.2-beta1 | ||||
|  | ||||
| ### Fixed | ||||
| - reset weight filter after tare scale operation | ||||
| - correct tare scale function to set scaleTareRequest flag | ||||
| - reset weight counter logic and update spool ID in loop function | ||||
| - reduce delay in start_scale function and reset weight after tare | ||||
|  | ||||
|  | ||||
| ## [2.0.2-beta3] - 2025-09-02 | ||||
| ### Added | ||||
| - add updateOctoSpoolId for OctoPrint integration and change autoSetToBambuSpoolId type to uint16_t | ||||
|  | ||||
| ### Changed | ||||
| - update platformio.ini for beta version v2.0.2-beta3 | ||||
| - update changelog and header for version v2.0.2-beta2 | ||||
| - update platformio.ini for beta version v2.0.2-beta2 | ||||
| - update changelog and header for version v2.0.2-beta1 | ||||
| - update platformio.ini for beta version v2.0.2-beta1 | ||||
|  | ||||
| ### Fixed | ||||
| - correct tare scale function to set scaleTareRequest flag | ||||
| - reset weight counter logic and update spool ID in loop function | ||||
| - reduce delay in start_scale function and reset weight after tare | ||||
|  | ||||
|  | ||||
| ## [2.0.2-beta2] - 2025-09-02 | ||||
| ### Added | ||||
| - add updateOctoSpoolId for OctoPrint integration and change autoSetToBambuSpoolId type to uint16_t | ||||
|  | ||||
| ### Changed | ||||
| - update platformio.ini for beta version v2.0.2-beta2 | ||||
| - update changelog and header for version v2.0.2-beta1 | ||||
| - update platformio.ini for beta version v2.0.2-beta1 | ||||
|  | ||||
| ### Fixed | ||||
| - reset weight counter logic and update spool ID in loop function | ||||
| - reduce delay in start_scale function and reset weight after tare | ||||
|  | ||||
|  | ||||
| ## [2.0.2-beta1] - 2025-09-02 | ||||
| ### Changed | ||||
| - update platformio.ini for beta version v2.0.2-beta1 | ||||
|  | ||||
| ### Fixed | ||||
| - reset weight counter logic and update spool ID in loop function | ||||
| - reduce delay in start_scale function and reset weight after tare | ||||
|  | ||||
|  | ||||
| ## [2.0.2] - 2025-09-01 | ||||
| ### Added | ||||
| - add weight check and update spool weight in writeJsonToTag function | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
| ; https://docs.platformio.org/page/projectconf.html | ||||
|  | ||||
| [common] | ||||
| version = "2.0.2" | ||||
| version = "2.0.4-beta2" | ||||
| to_old_version = "1.5.10" | ||||
|  | ||||
| ## | ||||
|   | ||||
| @@ -42,6 +42,12 @@ def categorize_commit(commit_msg): | ||||
|     """Categorize commit messages based on conventional commits""" | ||||
|     lower_msg = commit_msg.lower() | ||||
|      | ||||
|     # Filter out automatic release documentation commits | ||||
|     if ('docs:' in lower_msg and  | ||||
|         ('update changelog and header for version' in lower_msg or  | ||||
|          'update platformio.ini for' in lower_msg)): | ||||
|         return None  # Skip these commits | ||||
|      | ||||
|     # Check for breaking changes first | ||||
|     if ('!' in commit_msg and any(x in lower_msg for x in ['feat!', 'fix!', 'chore!', 'refactor!'])) or \ | ||||
|        'breaking change' in lower_msg or 'breaking:' in lower_msg: | ||||
| @@ -77,11 +83,12 @@ def get_changes_from_git(): | ||||
|         for commit in commits: | ||||
|             if commit: | ||||
|                 category = categorize_commit(commit) | ||||
|                 # Clean up commit message | ||||
|                 clean_msg = re.sub(r'^(feat|fix|chore|docs|style|refactor|perf|test)(\(.*\))?!?:', '', commit).strip() | ||||
|                 # Remove BREAKING CHANGE prefix if present | ||||
|                 clean_msg = re.sub(r'^breaking change:\s*', '', clean_msg, flags=re.IGNORECASE).strip() | ||||
|                 changes[category].append(clean_msg) | ||||
|                 if category is not None:  # Skip commits that return None (filtered out) | ||||
|                     # Clean up commit message | ||||
|                     clean_msg = re.sub(r'^(feat|fix|chore|docs|style|refactor|perf|test)(\(.*\))?!?:', '', commit).strip() | ||||
|                     # Remove BREAKING CHANGE prefix if present | ||||
|                     clean_msg = re.sub(r'^breaking change:\s*', '', clean_msg, flags=re.IGNORECASE).strip() | ||||
|                     changes[category].append(clean_msg) | ||||
|                  | ||||
|     except subprocess.CalledProcessError: | ||||
|         print("Error: Failed to get git commits") | ||||
|   | ||||
| @@ -21,6 +21,7 @@ uint16_t foundVendorId = 0;    // Store ID of found vendor | ||||
| uint16_t foundFilamentId = 0;  // Store ID of found filament | ||||
| uint16_t createdFilamentId = 0;  // Store ID of newly created filament | ||||
| uint16_t createdSpoolId = 0;  // Store ID of newly created spool | ||||
| uint16_t updateOctoSpoolId = 0; // Store spool ID for OctoPrint update | ||||
| bool spoolmanConnected = false; | ||||
| bool spoolmanExtraFieldsChecked = false; | ||||
| TaskHandle_t* apiTask; | ||||
|   | ||||
| @@ -33,6 +33,7 @@ extern bool sendOctoUpdate; | ||||
| extern String octoUrl; | ||||
| extern String octoToken; | ||||
| extern bool spoolmanConnected; | ||||
| extern uint16_t updateOctoSpoolId; | ||||
|  | ||||
| bool checkSpoolmanInstance(); | ||||
| bool saveSpoolmanUrl(const String& url, bool octoOn, const String& octoWh, const String& octoTk); | ||||
|   | ||||
| @@ -21,7 +21,7 @@ TaskHandle_t BambuMqttTask; | ||||
| bool bambuDisabled = false; | ||||
|  | ||||
| bool bambu_connected = false; | ||||
| int autoSetToBambuSpoolId = 0; | ||||
| uint16_t autoSetToBambuSpoolId = 0; | ||||
|  | ||||
| BambuCredentials bambuCredentials; | ||||
|  | ||||
|   | ||||
| @@ -37,7 +37,7 @@ extern bool bambu_connected; | ||||
| extern int ams_count; | ||||
| extern AMSData ams_data[MAX_AMS]; | ||||
| //extern bool autoSendToBambu; | ||||
| extern int autoSetToBambuSpoolId; | ||||
| extern uint16_t autoSetToBambuSpoolId; | ||||
| extern bool bambuDisabled; | ||||
| extern BambuCredentials bambuCredentials; | ||||
|  | ||||
|   | ||||
							
								
								
									
										19
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								src/main.cpp
									
									
									
									
									
								
							| @@ -59,6 +59,7 @@ void setup() { | ||||
|  | ||||
|   // Scale | ||||
|   start_scale(touchSensorConnected); | ||||
|   scaleTareRequest = true; | ||||
|  | ||||
|   // WDT initialisieren mit 10 Sekunden Timeout | ||||
|   bool panic = true; // Wenn true, löst ein WDT-Timeout einen System-Panik aus | ||||
| @@ -196,17 +197,6 @@ void loop() { | ||||
|     { | ||||
|       lastWeightReadTime = currentMillis; | ||||
|  | ||||
|       // Prüfen ob die Waage korrekt genullt ist | ||||
|       // Abweichung von 2g ignorieren | ||||
|       if (autoTare && (weight > 2 && weight < 7) || weight < -2) | ||||
|       { | ||||
|         scale_tare_counter++; | ||||
|       } | ||||
|       else | ||||
|       { | ||||
|         scale_tare_counter = 0; | ||||
|       } | ||||
|  | ||||
|       // Prüfen ob das Gewicht gleich bleibt und dann senden | ||||
|       if (abs(weight - lastWeight) <= 2 && weight > 5) | ||||
|       { | ||||
| @@ -220,7 +210,6 @@ void loop() { | ||||
|     } | ||||
|  | ||||
|     // reset weight counter after writing tag | ||||
|     // TBD: what exactly is the logic behind this? | ||||
|     if (currentMillis - lastWeightReadTime >= weightReadInterval && nfcReaderState != NFC_IDLE && nfcReaderState != NFC_READ_SUCCESS) | ||||
|     { | ||||
|       weigthCouterToApi = 0; | ||||
| @@ -243,6 +232,10 @@ void loop() { | ||||
|         { | ||||
|           autoSetToBambuSpoolId = activeSpoolId.toInt(); | ||||
|         } | ||||
|         if (octoEnabled)  | ||||
|         { | ||||
|           updateOctoSpoolId = activeSpoolId.toInt(); | ||||
|         } | ||||
|       } | ||||
|       else | ||||
|       { | ||||
| @@ -272,7 +265,7 @@ void loop() { | ||||
|  | ||||
|     if(octoEnabled && sendOctoUpdate && spoolmanApiState == API_IDLE) | ||||
|     { | ||||
|       updateSpoolOcto(autoSetToBambuSpoolId); | ||||
|       updateSpoolOcto(updateOctoSpoolId); | ||||
|       sendOctoUpdate = false; | ||||
|     } | ||||
|   } | ||||
|   | ||||
| @@ -141,7 +141,7 @@ uint8_t setAutoTare(bool autoTareValue) { | ||||
| uint8_t tareScale() { | ||||
|   Serial.println("Tare scale"); | ||||
|   scale.tare(); | ||||
|   resetWeightFilter(); // Reset stabilization filter after tare | ||||
|   resetWeightFilter(); | ||||
|    | ||||
|   return 1; | ||||
| } | ||||
| @@ -151,6 +151,7 @@ void scale_loop(void * parameter) { | ||||
|   Serial.println("Scale Loop started"); | ||||
|   Serial.println("++++++++++++++++++++++++++++++"); | ||||
|  | ||||
|   //scaleTareRequest == true; | ||||
|   // Initialize weight filter | ||||
|   resetWeightFilter(); | ||||
|   lastMeasurementTime = millis(); | ||||
| @@ -162,17 +163,8 @@ void scale_loop(void * parameter) { | ||||
|     if (currentTime - lastMeasurementTime >= MEASUREMENT_INTERVAL_MS) { | ||||
|       if (scale.is_ready())  | ||||
|       { | ||||
|         // Waage automatisch Taren, wenn zu lange Abweichung | ||||
|         if (autoTare && scale_tare_counter >= 5)  | ||||
|         { | ||||
|           Serial.println("Auto Tare scale"); | ||||
|           scale.tare(); | ||||
|           resetWeightFilter(); // Reset filter after auto tare | ||||
|           scale_tare_counter = 0; | ||||
|         } | ||||
|  | ||||
|         // Waage manuell Taren | ||||
|         if (scaleTareRequest == true)  | ||||
|         if (scaleTareRequest == true || (autoTare && scale_tare_counter >= 20))  | ||||
|         { | ||||
|           Serial.println("Re-Tare scale"); | ||||
|           oledShowMessage("TARE Scale"); | ||||
| @@ -182,6 +174,8 @@ void scale_loop(void * parameter) { | ||||
|           vTaskDelay(pdMS_TO_TICKS(1000)); | ||||
|           oledShowWeight(0); | ||||
|           scaleTareRequest = false; | ||||
|           scale_tare_counter = 0; | ||||
|           weight = 0; // Reset global weight variable after tare | ||||
|         } | ||||
|  | ||||
|         // Get raw weight reading | ||||
| @@ -195,6 +189,17 @@ void scale_loop(void * parameter) { | ||||
|           weight = stabilizedWeight; | ||||
|         } | ||||
|          | ||||
|         // Prüfen ob die Waage korrekt genullt ist | ||||
|         // Abweichung von 2g ignorieren | ||||
|         if (autoTare && (rawWeight > 2 && rawWeight < 7) || rawWeight < -2) | ||||
|         { | ||||
|           scale_tare_counter++; | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|           scale_tare_counter = 0; | ||||
|         } | ||||
|  | ||||
|         // Debug output for monitoring (can be removed in production) | ||||
|         static unsigned long lastDebugTime = 0; | ||||
|         if (currentTime - lastDebugTime > 2000) { // Print every 2 seconds | ||||
| @@ -257,9 +262,6 @@ void start_scale(bool touchSensorConnected) { | ||||
|   // Display Gewicht | ||||
|   oledShowWeight(0); | ||||
|  | ||||
|   vTaskDelay(1000 / portTICK_PERIOD_MS); | ||||
|   scale.tare(); | ||||
|  | ||||
|   Serial.println("starte Scale Task"); | ||||
|   BaseType_t result = xTaskCreatePinnedToCore( | ||||
|     scale_loop, /* Function to implement the task */ | ||||
|   | ||||
| @@ -81,7 +81,9 @@ void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventTyp | ||||
|         else if (doc["type"] == "scale") { | ||||
|             uint8_t success = 0; | ||||
|             if (doc["payload"] == "tare") { | ||||
|                 success = tareScale(); | ||||
|                 scaleTareRequest = true; | ||||
|                 success = 1; | ||||
|                 //success = tareScale(); | ||||
|             } | ||||
|  | ||||
|             if (doc["payload"] == "calibrate") { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user