Compare commits
19 Commits
v2.0.3
...
v2.0.6-bet
Author | SHA1 | Date | |
---|---|---|---|
6bb4384852 | |||
61174273fe | |||
e604231139 | |||
e0d641c817 | |||
40fdb667fa | |||
8f6ecb350f | |||
16887f5248 | |||
a7b06c9b97 | |||
666c929483 | |||
301109c37b | |||
d43fceebbc | |||
2c435e5c98 | |||
f9aa7f2e6b | |||
f810bc5352 | |||
043c2d4fa8 | |||
f5a1debd7d | |||
37309da185 | |||
bcb7c039e2 | |||
98ec5b9846 |
37
CHANGELOG.md
37
CHANGELOG.md
@@ -1,5 +1,42 @@
|
||||
# Changelog
|
||||
|
||||
## [2.0.6-beta1] - 2025-09-03
|
||||
### Fixed
|
||||
- prevent weight display during NFC write operations
|
||||
|
||||
|
||||
## [2.0.6] - 2025-09-03
|
||||
### Fixed
|
||||
- correct progress bar message and update tare function description
|
||||
|
||||
|
||||
## [2.0.5] - 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
|
||||
|
||||
### Fixed
|
||||
- update progress bar message from 'Tare scale' to 'Searching scale'
|
||||
- Scale tare function after boot
|
||||
|
||||
|
||||
## [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
|
||||
|
@@ -9,7 +9,7 @@
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[common]
|
||||
version = "2.0.3"
|
||||
version = "2.0.6-beta1"
|
||||
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")
|
||||
|
20
src/main.cpp
20
src/main.cpp
@@ -135,7 +135,7 @@ void loop() {
|
||||
}
|
||||
|
||||
// Wenn Bambu auto set Spool aktiv
|
||||
if (bambuCredentials.autosend_enable && autoSetToBambuSpoolId > 0)
|
||||
if (bambuCredentials.autosend_enable && autoSetToBambuSpoolId > 0 && !nfcWriteInProgress)
|
||||
{
|
||||
if (!bambuDisabled && !bambu_connected)
|
||||
{
|
||||
@@ -154,7 +154,9 @@ void loop() {
|
||||
{
|
||||
autoSetToBambuSpoolId = 0;
|
||||
autoAmsCounter = 0;
|
||||
oledShowWeight(weight);
|
||||
if (!nfcWriteInProgress) {
|
||||
oledShowWeight(weight);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -176,7 +178,8 @@ void loop() {
|
||||
else
|
||||
{
|
||||
// Ausgabe der Waage auf Display
|
||||
if(pauseMainTask == 0)
|
||||
// Block weight display during NFC write operations
|
||||
if(pauseMainTask == 0 && !nfcWriteInProgress)
|
||||
{
|
||||
// Use filtered weight for smooth display, but still check API weight for significant changes
|
||||
int16_t displayWeight = getFilteredDisplayWeight();
|
||||
@@ -197,17 +200,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)
|
||||
{
|
||||
|
@@ -163,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");
|
||||
@@ -183,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
|
||||
@@ -196,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
|
||||
@@ -238,7 +242,7 @@ void start_scale(bool touchSensorConnected) {
|
||||
|
||||
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
|
||||
|
||||
oledShowProgressBar(6, 7, DISPLAY_BOOT_TEXT, "Tare scale");
|
||||
oledShowProgressBar(6, 7, DISPLAY_BOOT_TEXT, "Serching scale");
|
||||
for (uint16_t i = 0; i < 3000; i++) {
|
||||
yield();
|
||||
vTaskDelay(pdMS_TO_TICKS(1));
|
||||
|
Reference in New Issue
Block a user