Compare commits
10 Commits
v2.0.0-bet
...
v2.0.0-bet
Author | SHA1 | Date | |
---|---|---|---|
6800c88bb2 | |||
6172242f24 | |||
7f4b3b8d90 | |||
7a15424bc7 | |||
039a29fa3c | |||
6cccf3d603 | |||
693ee839e5 | |||
0bf383ecd9 | |||
6451d91c59 | |||
8d82e221b5 |
350
CHANGELOG.md
350
CHANGELOG.md
@@ -1,5 +1,355 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [2.0.0-beta13] - 2025-08-30
|
||||||
|
### Breaking Changes
|
||||||
|
- enhance commit categorization for breaking changes
|
||||||
|
- Handling of Spools with Tags from Vendors. fix: improve get_last_tag function to handle non-beta tags and fallback to newest tag
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- enhance weight processing with filtered display and API stability checks
|
||||||
|
- implement weight stabilization functions and improve tare handling
|
||||||
|
- add fast-path JSON reading for web interface display
|
||||||
|
- add handling for successful NFC tag writes to send weight to Spoolman without auto-sending to Bambu
|
||||||
|
- implement robust page reading with error recovery for NFC tags
|
||||||
|
- enhance NFC tag reading with robust error recovery and JSON optimization for fast-path detection
|
||||||
|
- implement robust page reading and safe tag detection with error recovery
|
||||||
|
- add Manufacturer Tags support documentation in German and English
|
||||||
|
- add display delay for vendor, filament, and spool creation processes
|
||||||
|
- add progress bar updates for vendor and filament creation processes
|
||||||
|
- update vendor and filament ID handling to use NULL and add delays for stability
|
||||||
|
- add delay to ensure proper setting of vendor and filament IDs after API state changes
|
||||||
|
- enhance NDEF decoding with detailed validation and debugging output
|
||||||
|
- enhance NDEF decoding to validate structure and extract JSON payload
|
||||||
|
- add logging for decoded JSON data in NFC processing
|
||||||
|
- implement filament and spool creation in Spoolman API
|
||||||
|
- Add JSON structure comments for filament and spool creation
|
||||||
|
- Add vendor and filament management to API; implement recycling factory handling in NFC
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta13
|
||||||
|
- optimize weight stabilization parameters for improved responsiveness
|
||||||
|
- update changelog and header for version v2.0.0-beta12
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta12
|
||||||
|
- update changelog and header for version v2.0.0-beta11
|
||||||
|
- update changelog and header for version v2.0.0-beta11
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta11
|
||||||
|
- update changelog and header for version v2.0.0-beta10
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta10
|
||||||
|
- update changelog and header for version v2.0.0-beta9
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta9
|
||||||
|
- update changelog and header for version v2.0.0-beta8
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta8
|
||||||
|
- update changelog and header for version v2.0.0-beta7
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta7
|
||||||
|
- update changelog and header for version v2.0.0-beta6
|
||||||
|
- update changelog and header for version v2.0.0-beta6
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta6
|
||||||
|
- update changelog and header for version v2.0.0-beta5
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta5
|
||||||
|
- update changelog and header for version v2.0.0-beta4
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta4
|
||||||
|
- update changelog and header for version v2.0.0-beta3
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta3
|
||||||
|
- update createVendor and checkVendor functions to accept JsonDocument payload
|
||||||
|
- update changelog and header for version v2.0.0-beta2
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta2
|
||||||
|
- clarify product URL description for Manufacturer Tags in German and English documentation
|
||||||
|
- update changelog and header for version v2.0.0-beta1
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta1
|
||||||
|
- update version to 2.0.0 in platformio.ini
|
||||||
|
- update changelog and header for version v1.5.12-beta18
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta18
|
||||||
|
- update changelog and header for version v1.5.12-beta17
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta17
|
||||||
|
- optimize page limit detection and remove redundant verification code
|
||||||
|
- update changelog and header for version v1.5.12-beta16
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta16
|
||||||
|
- Refactor NFC interface handling and improve error diagnostics
|
||||||
|
- update changelog and header for version v1.5.12-beta15
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta15
|
||||||
|
- enhance NFC write operation diagnostics and improve error handling
|
||||||
|
- enhance NFC write operation handling and prevent tag operations during write
|
||||||
|
- update changelog and header for version v1.5.12-beta14
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta14
|
||||||
|
- optimize JSON payload structure and enhance NFC tag validation process
|
||||||
|
- update changelog and header for version v1.5.12-beta13
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta13
|
||||||
|
- reorganize clearUserDataArea function for improved clarity and safety
|
||||||
|
- update changelog and header for version v1.5.12-beta12
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta12
|
||||||
|
- update changelog and header for version v1.5.12-beta11
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta11
|
||||||
|
- update changelog and header for version v1.5.12-beta10
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta10
|
||||||
|
- streamline task creation in checkVendor and checkFilament functions
|
||||||
|
- update changelog and header for version v1.5.12-beta9
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta9
|
||||||
|
- update changelog and header for version v1.5.12-beta8
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta8
|
||||||
|
- update changelog and header for version v1.5.12-beta7
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta7
|
||||||
|
- update changelog and header for version v1.5.12-beta6
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta6
|
||||||
|
- improve task synchronization in vendor, filament, and spool creation functions
|
||||||
|
- update changelog and header for version v1.5.12-beta5
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta5
|
||||||
|
- update changelog and header for version v1.5.12-beta4
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta4
|
||||||
|
- update changelog and header for version v1.5.12-beta3
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta3
|
||||||
|
- update changelog and header for version v1.5.12-beta2
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta2
|
||||||
|
- update changelog and header for version v1.5.12-beta1
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta1
|
||||||
|
- Merge branch 'main' into recyclingfabrik
|
||||||
|
- Merge branch 'main' into recyclingfabrik
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- call scale.tare() in setup after starting scale
|
||||||
|
- 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
|
||||||
|
- increase delay in start_scale function for improved stability
|
||||||
|
- replace progress bar with message display for remaining weight in sendToApi function
|
||||||
|
- update vendor check to use shorthand key in payload
|
||||||
|
- reset NFC state on API send failure to allow retry
|
||||||
|
- update createdFilamentId reset value to 65535 for better task handling
|
||||||
|
- update createdVendorId reset value to 65535 for improved API handling
|
||||||
|
- update spoolman ID reset values to 65535 for better API response detection
|
||||||
|
- correct color_hex key usage and comment out unused date fields in spool creation
|
||||||
|
- improve API state handling and vendor name formatting
|
||||||
|
- enhance filament creation logic to include dynamic comments based on payload
|
||||||
|
|
||||||
|
|
||||||
|
## [2.0.0-beta12] - 2025-08-30
|
||||||
|
### Breaking Changes
|
||||||
|
- enhance commit categorization for breaking changes
|
||||||
|
- Handling of Spools with Tags from Vendors. fix: improve get_last_tag function to handle non-beta tags and fallback to newest tag
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- enhance weight processing with filtered display and API stability checks
|
||||||
|
- implement weight stabilization functions and improve tare handling
|
||||||
|
- add fast-path JSON reading for web interface display
|
||||||
|
- add handling for successful NFC tag writes to send weight to Spoolman without auto-sending to Bambu
|
||||||
|
- implement robust page reading with error recovery for NFC tags
|
||||||
|
- enhance NFC tag reading with robust error recovery and JSON optimization for fast-path detection
|
||||||
|
- implement robust page reading and safe tag detection with error recovery
|
||||||
|
- add Manufacturer Tags support documentation in German and English
|
||||||
|
- add display delay for vendor, filament, and spool creation processes
|
||||||
|
- add progress bar updates for vendor and filament creation processes
|
||||||
|
- update vendor and filament ID handling to use NULL and add delays for stability
|
||||||
|
- add delay to ensure proper setting of vendor and filament IDs after API state changes
|
||||||
|
- enhance NDEF decoding with detailed validation and debugging output
|
||||||
|
- enhance NDEF decoding to validate structure and extract JSON payload
|
||||||
|
- add logging for decoded JSON data in NFC processing
|
||||||
|
- implement filament and spool creation in Spoolman API
|
||||||
|
- Add JSON structure comments for filament and spool creation
|
||||||
|
- Add vendor and filament management to API; implement recycling factory handling in NFC
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta12
|
||||||
|
- update changelog and header for version v2.0.0-beta11
|
||||||
|
- update changelog and header for version v2.0.0-beta11
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta11
|
||||||
|
- update changelog and header for version v2.0.0-beta10
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta10
|
||||||
|
- update changelog and header for version v2.0.0-beta9
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta9
|
||||||
|
- update changelog and header for version v2.0.0-beta8
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta8
|
||||||
|
- update changelog and header for version v2.0.0-beta7
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta7
|
||||||
|
- update changelog and header for version v2.0.0-beta6
|
||||||
|
- update changelog and header for version v2.0.0-beta6
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta6
|
||||||
|
- update changelog and header for version v2.0.0-beta5
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta5
|
||||||
|
- update changelog and header for version v2.0.0-beta4
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta4
|
||||||
|
- update changelog and header for version v2.0.0-beta3
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta3
|
||||||
|
- update createVendor and checkVendor functions to accept JsonDocument payload
|
||||||
|
- update changelog and header for version v2.0.0-beta2
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta2
|
||||||
|
- clarify product URL description for Manufacturer Tags in German and English documentation
|
||||||
|
- update changelog and header for version v2.0.0-beta1
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta1
|
||||||
|
- update version to 2.0.0 in platformio.ini
|
||||||
|
- update changelog and header for version v1.5.12-beta18
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta18
|
||||||
|
- update changelog and header for version v1.5.12-beta17
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta17
|
||||||
|
- optimize page limit detection and remove redundant verification code
|
||||||
|
- update changelog and header for version v1.5.12-beta16
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta16
|
||||||
|
- Refactor NFC interface handling and improve error diagnostics
|
||||||
|
- update changelog and header for version v1.5.12-beta15
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta15
|
||||||
|
- enhance NFC write operation diagnostics and improve error handling
|
||||||
|
- enhance NFC write operation handling and prevent tag operations during write
|
||||||
|
- update changelog and header for version v1.5.12-beta14
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta14
|
||||||
|
- optimize JSON payload structure and enhance NFC tag validation process
|
||||||
|
- update changelog and header for version v1.5.12-beta13
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta13
|
||||||
|
- reorganize clearUserDataArea function for improved clarity and safety
|
||||||
|
- update changelog and header for version v1.5.12-beta12
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta12
|
||||||
|
- update changelog and header for version v1.5.12-beta11
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta11
|
||||||
|
- update changelog and header for version v1.5.12-beta10
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta10
|
||||||
|
- streamline task creation in checkVendor and checkFilament functions
|
||||||
|
- update changelog and header for version v1.5.12-beta9
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta9
|
||||||
|
- update changelog and header for version v1.5.12-beta8
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta8
|
||||||
|
- update changelog and header for version v1.5.12-beta7
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta7
|
||||||
|
- update changelog and header for version v1.5.12-beta6
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta6
|
||||||
|
- improve task synchronization in vendor, filament, and spool creation functions
|
||||||
|
- update changelog and header for version v1.5.12-beta5
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta5
|
||||||
|
- update changelog and header for version v1.5.12-beta4
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta4
|
||||||
|
- update changelog and header for version v1.5.12-beta3
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta3
|
||||||
|
- update changelog and header for version v1.5.12-beta2
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta2
|
||||||
|
- update changelog and header for version v1.5.12-beta1
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta1
|
||||||
|
- Merge branch 'main' into recyclingfabrik
|
||||||
|
- Merge branch 'main' into recyclingfabrik
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- call scale.tare() in setup after starting scale
|
||||||
|
- 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
|
||||||
|
- increase delay in start_scale function for improved stability
|
||||||
|
- replace progress bar with message display for remaining weight in sendToApi function
|
||||||
|
- update vendor check to use shorthand key in payload
|
||||||
|
- reset NFC state on API send failure to allow retry
|
||||||
|
- update createdFilamentId reset value to 65535 for better task handling
|
||||||
|
- update createdVendorId reset value to 65535 for improved API handling
|
||||||
|
- update spoolman ID reset values to 65535 for better API response detection
|
||||||
|
- correct color_hex key usage and comment out unused date fields in spool creation
|
||||||
|
- improve API state handling and vendor name formatting
|
||||||
|
- enhance filament creation logic to include dynamic comments based on payload
|
||||||
|
|
||||||
|
|
||||||
|
## [2.0.0-beta11] - 2025-08-30
|
||||||
|
### Breaking Changes
|
||||||
|
- enhance commit categorization for breaking changes
|
||||||
|
- Handling of Spools with Tags from Vendors. fix: improve get_last_tag function to handle non-beta tags and fallback to newest tag
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- implement weight stabilization functions and improve tare handling
|
||||||
|
- add fast-path JSON reading for web interface display
|
||||||
|
- add handling for successful NFC tag writes to send weight to Spoolman without auto-sending to Bambu
|
||||||
|
- implement robust page reading with error recovery for NFC tags
|
||||||
|
- enhance NFC tag reading with robust error recovery and JSON optimization for fast-path detection
|
||||||
|
- implement robust page reading and safe tag detection with error recovery
|
||||||
|
- add Manufacturer Tags support documentation in German and English
|
||||||
|
- add display delay for vendor, filament, and spool creation processes
|
||||||
|
- add progress bar updates for vendor and filament creation processes
|
||||||
|
- update vendor and filament ID handling to use NULL and add delays for stability
|
||||||
|
- add delay to ensure proper setting of vendor and filament IDs after API state changes
|
||||||
|
- enhance NDEF decoding with detailed validation and debugging output
|
||||||
|
- enhance NDEF decoding to validate structure and extract JSON payload
|
||||||
|
- add logging for decoded JSON data in NFC processing
|
||||||
|
- implement filament and spool creation in Spoolman API
|
||||||
|
- Add JSON structure comments for filament and spool creation
|
||||||
|
- Add vendor and filament management to API; implement recycling factory handling in NFC
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- update changelog and header for version v2.0.0-beta11
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta11
|
||||||
|
- update changelog and header for version v2.0.0-beta10
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta10
|
||||||
|
- update changelog and header for version v2.0.0-beta9
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta9
|
||||||
|
- update changelog and header for version v2.0.0-beta8
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta8
|
||||||
|
- update changelog and header for version v2.0.0-beta7
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta7
|
||||||
|
- update changelog and header for version v2.0.0-beta6
|
||||||
|
- update changelog and header for version v2.0.0-beta6
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta6
|
||||||
|
- update changelog and header for version v2.0.0-beta5
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta5
|
||||||
|
- update changelog and header for version v2.0.0-beta4
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta4
|
||||||
|
- update changelog and header for version v2.0.0-beta3
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta3
|
||||||
|
- update createVendor and checkVendor functions to accept JsonDocument payload
|
||||||
|
- update changelog and header for version v2.0.0-beta2
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta2
|
||||||
|
- clarify product URL description for Manufacturer Tags in German and English documentation
|
||||||
|
- update changelog and header for version v2.0.0-beta1
|
||||||
|
- update platformio.ini for beta version v2.0.0-beta1
|
||||||
|
- update version to 2.0.0 in platformio.ini
|
||||||
|
- update changelog and header for version v1.5.12-beta18
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta18
|
||||||
|
- update changelog and header for version v1.5.12-beta17
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta17
|
||||||
|
- optimize page limit detection and remove redundant verification code
|
||||||
|
- update changelog and header for version v1.5.12-beta16
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta16
|
||||||
|
- Refactor NFC interface handling and improve error diagnostics
|
||||||
|
- update changelog and header for version v1.5.12-beta15
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta15
|
||||||
|
- enhance NFC write operation diagnostics and improve error handling
|
||||||
|
- enhance NFC write operation handling and prevent tag operations during write
|
||||||
|
- update changelog and header for version v1.5.12-beta14
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta14
|
||||||
|
- optimize JSON payload structure and enhance NFC tag validation process
|
||||||
|
- update changelog and header for version v1.5.12-beta13
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta13
|
||||||
|
- reorganize clearUserDataArea function for improved clarity and safety
|
||||||
|
- update changelog and header for version v1.5.12-beta12
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta12
|
||||||
|
- update changelog and header for version v1.5.12-beta11
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta11
|
||||||
|
- update changelog and header for version v1.5.12-beta10
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta10
|
||||||
|
- streamline task creation in checkVendor and checkFilament functions
|
||||||
|
- update changelog and header for version v1.5.12-beta9
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta9
|
||||||
|
- update changelog and header for version v1.5.12-beta8
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta8
|
||||||
|
- update changelog and header for version v1.5.12-beta7
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta7
|
||||||
|
- update changelog and header for version v1.5.12-beta6
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta6
|
||||||
|
- improve task synchronization in vendor, filament, and spool creation functions
|
||||||
|
- update changelog and header for version v1.5.12-beta5
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta5
|
||||||
|
- update changelog and header for version v1.5.12-beta4
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta4
|
||||||
|
- update changelog and header for version v1.5.12-beta3
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta3
|
||||||
|
- update changelog and header for version v1.5.12-beta2
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta2
|
||||||
|
- update changelog and header for version v1.5.12-beta1
|
||||||
|
- update platformio.ini for beta version v1.5.12-beta1
|
||||||
|
- Merge branch 'main' into recyclingfabrik
|
||||||
|
- Merge branch 'main' into recyclingfabrik
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- call scale.tare() in setup after starting scale
|
||||||
|
- 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
|
||||||
|
- increase delay in start_scale function for improved stability
|
||||||
|
- replace progress bar with message display for remaining weight in sendToApi function
|
||||||
|
- update vendor check to use shorthand key in payload
|
||||||
|
- reset NFC state on API send failure to allow retry
|
||||||
|
- update createdFilamentId reset value to 65535 for better task handling
|
||||||
|
- update createdVendorId reset value to 65535 for improved API handling
|
||||||
|
- update spoolman ID reset values to 65535 for better API response detection
|
||||||
|
- correct color_hex key usage and comment out unused date fields in spool creation
|
||||||
|
- improve API state handling and vendor name formatting
|
||||||
|
- enhance filament creation logic to include dynamic comments based on payload
|
||||||
|
|
||||||
## [2.0.0-beta10] - 2025-08-30
|
## [2.0.0-beta10] - 2025-08-30
|
||||||
### Breaking Changes
|
### Breaking Changes
|
||||||
- enhance commit categorization for breaking changes
|
- enhance commit categorization for breaking changes
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
; https://docs.platformio.org/page/projectconf.html
|
; https://docs.platformio.org/page/projectconf.html
|
||||||
|
|
||||||
[common]
|
[common]
|
||||||
version = "2.0.0-beta10"
|
version = "2.0.0-beta13"
|
||||||
to_old_version = "1.5.10"
|
to_old_version = "1.5.10"
|
||||||
|
|
||||||
##
|
##
|
||||||
|
@@ -178,9 +178,11 @@ void loop() {
|
|||||||
// Ausgabe der Waage auf Display
|
// Ausgabe der Waage auf Display
|
||||||
if(pauseMainTask == 0)
|
if(pauseMainTask == 0)
|
||||||
{
|
{
|
||||||
|
// Use filtered weight for smooth display, but still check API weight for significant changes
|
||||||
|
int16_t displayWeight = getFilteredDisplayWeight();
|
||||||
if (mainTaskWasPaused || (weight != lastWeight && nfcReaderState == NFC_IDLE && (!bambuCredentials.autosend_enable || autoSetToBambuSpoolId == 0)))
|
if (mainTaskWasPaused || (weight != lastWeight && nfcReaderState == NFC_IDLE && (!bambuCredentials.autosend_enable || autoSetToBambuSpoolId == 0)))
|
||||||
{
|
{
|
||||||
(weight < 2) ? ((weight < -2) ? oledShowMessage("!! -0") : oledShowWeight(0)) : oledShowWeight(weight);
|
(displayWeight < 2) ? ((displayWeight < -2) ? oledShowMessage("!! -0") : oledShowWeight(0)) : oledShowWeight(displayWeight);
|
||||||
}
|
}
|
||||||
mainTaskWasPaused = false;
|
mainTaskWasPaused = false;
|
||||||
}
|
}
|
||||||
|
141
src/scale.cpp
141
src/scale.cpp
@@ -13,6 +13,21 @@ TaskHandle_t ScaleTask;
|
|||||||
|
|
||||||
int16_t weight = 0;
|
int16_t weight = 0;
|
||||||
|
|
||||||
|
// Weight stabilization variables
|
||||||
|
#define MOVING_AVERAGE_SIZE 8 // Reduced from 20 to 8 for faster response
|
||||||
|
#define LOW_PASS_ALPHA 0.3f // Increased from 0.15 to 0.3 for faster tracking
|
||||||
|
#define DISPLAY_THRESHOLD 0.3f // Reduced from 0.5 to 0.3g for more responsive display
|
||||||
|
#define API_THRESHOLD 1.5f // Reduced from 2.0 to 1.5g for faster API actions
|
||||||
|
#define MEASUREMENT_INTERVAL_MS 30 // Reduced from 50ms to 30ms for faster updates
|
||||||
|
|
||||||
|
float weightBuffer[MOVING_AVERAGE_SIZE];
|
||||||
|
uint8_t bufferIndex = 0;
|
||||||
|
bool bufferFilled = false;
|
||||||
|
float filteredWeight = 0.0f;
|
||||||
|
int16_t lastDisplayedWeight = 0;
|
||||||
|
int16_t lastStableWeight = 0; // For API/action triggering
|
||||||
|
unsigned long lastMeasurementTime = 0;
|
||||||
|
|
||||||
uint8_t weigthCouterToApi = 0;
|
uint8_t weigthCouterToApi = 0;
|
||||||
uint8_t scale_tare_counter = 0;
|
uint8_t scale_tare_counter = 0;
|
||||||
bool scaleTareRequest = false;
|
bool scaleTareRequest = false;
|
||||||
@@ -21,6 +36,93 @@ bool scaleCalibrated;
|
|||||||
bool autoTare = true;
|
bool autoTare = true;
|
||||||
bool scaleCalibrationActive = false;
|
bool scaleCalibrationActive = false;
|
||||||
|
|
||||||
|
// ##### Weight stabilization functions #####
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset weight filter buffer - call after tare or calibration
|
||||||
|
*/
|
||||||
|
void resetWeightFilter() {
|
||||||
|
bufferIndex = 0;
|
||||||
|
bufferFilled = false;
|
||||||
|
filteredWeight = 0.0f;
|
||||||
|
lastDisplayedWeight = 0;
|
||||||
|
lastStableWeight = 0; // Reset stable weight for API actions
|
||||||
|
|
||||||
|
// Initialize buffer with zeros
|
||||||
|
for (int i = 0; i < MOVING_AVERAGE_SIZE; i++) {
|
||||||
|
weightBuffer[i] = 0.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate moving average from weight buffer
|
||||||
|
*/
|
||||||
|
float calculateMovingAverage() {
|
||||||
|
float sum = 0.0f;
|
||||||
|
int count = bufferFilled ? MOVING_AVERAGE_SIZE : bufferIndex;
|
||||||
|
|
||||||
|
for (int i = 0; i < count; i++) {
|
||||||
|
sum += weightBuffer[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
return (count > 0) ? sum / count : 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply low-pass filter to smooth weight readings
|
||||||
|
* Uses exponential smoothing: y_new = alpha * x_new + (1-alpha) * y_old
|
||||||
|
*/
|
||||||
|
float applyLowPassFilter(float newValue) {
|
||||||
|
filteredWeight = LOW_PASS_ALPHA * newValue + (1.0f - LOW_PASS_ALPHA) * filteredWeight;
|
||||||
|
return filteredWeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process new weight reading with stabilization
|
||||||
|
* Returns stabilized weight value
|
||||||
|
*/
|
||||||
|
int16_t processWeightReading(float rawWeight) {
|
||||||
|
// Add to moving average buffer
|
||||||
|
weightBuffer[bufferIndex] = rawWeight;
|
||||||
|
bufferIndex = (bufferIndex + 1) % MOVING_AVERAGE_SIZE;
|
||||||
|
|
||||||
|
if (bufferIndex == 0) {
|
||||||
|
bufferFilled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate moving average
|
||||||
|
float avgWeight = calculateMovingAverage();
|
||||||
|
|
||||||
|
// Apply low-pass filter
|
||||||
|
float smoothedWeight = applyLowPassFilter(avgWeight);
|
||||||
|
|
||||||
|
// Round to nearest gram
|
||||||
|
int16_t newWeight = round(smoothedWeight);
|
||||||
|
|
||||||
|
// Update displayed weight if display threshold is reached
|
||||||
|
if (abs(newWeight - lastDisplayedWeight) >= DISPLAY_THRESHOLD) {
|
||||||
|
lastDisplayedWeight = newWeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update global weight for API actions only if stable threshold is reached
|
||||||
|
int16_t weightToReturn = weight; // Default: keep current weight
|
||||||
|
|
||||||
|
if (abs(newWeight - lastStableWeight) >= API_THRESHOLD) {
|
||||||
|
lastStableWeight = newWeight;
|
||||||
|
weightToReturn = newWeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
return weightToReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get current filtered weight for display purposes
|
||||||
|
* This returns the smoothed weight even if it hasn't triggered API actions
|
||||||
|
*/
|
||||||
|
int16_t getFilteredDisplayWeight() {
|
||||||
|
return lastDisplayedWeight;
|
||||||
|
}
|
||||||
|
|
||||||
// ##### Funktionen für Waage #####
|
// ##### Funktionen für Waage #####
|
||||||
uint8_t setAutoTare(bool autoTareValue) {
|
uint8_t setAutoTare(bool autoTareValue) {
|
||||||
Serial.print("Set AutoTare to ");
|
Serial.print("Set AutoTare to ");
|
||||||
@@ -39,6 +141,7 @@ uint8_t setAutoTare(bool autoTareValue) {
|
|||||||
uint8_t tareScale() {
|
uint8_t tareScale() {
|
||||||
Serial.println("Tare scale");
|
Serial.println("Tare scale");
|
||||||
scale.tare();
|
scale.tare();
|
||||||
|
resetWeightFilter(); // Reset stabilization filter after tare
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -48,7 +151,15 @@ void scale_loop(void * parameter) {
|
|||||||
Serial.println("Scale Loop started");
|
Serial.println("Scale Loop started");
|
||||||
Serial.println("++++++++++++++++++++++++++++++");
|
Serial.println("++++++++++++++++++++++++++++++");
|
||||||
|
|
||||||
|
// Initialize weight filter
|
||||||
|
resetWeightFilter();
|
||||||
|
lastMeasurementTime = millis();
|
||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
|
unsigned long currentTime = millis();
|
||||||
|
|
||||||
|
// Only measure at defined intervals to reduce noise
|
||||||
|
if (currentTime - lastMeasurementTime >= MEASUREMENT_INTERVAL_MS) {
|
||||||
if (scale.is_ready())
|
if (scale.is_ready())
|
||||||
{
|
{
|
||||||
// Waage automatisch Taren, wenn zu lange Abweichung
|
// Waage automatisch Taren, wenn zu lange Abweichung
|
||||||
@@ -56,6 +167,7 @@ void scale_loop(void * parameter) {
|
|||||||
{
|
{
|
||||||
Serial.println("Auto Tare scale");
|
Serial.println("Auto Tare scale");
|
||||||
scale.tare();
|
scale.tare();
|
||||||
|
resetWeightFilter(); // Reset filter after auto tare
|
||||||
scale_tare_counter = 0;
|
scale_tare_counter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,19 +178,34 @@ void scale_loop(void * parameter) {
|
|||||||
oledShowMessage("TARE Scale");
|
oledShowMessage("TARE Scale");
|
||||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||||
scale.tare();
|
scale.tare();
|
||||||
|
resetWeightFilter(); // Reset filter after manual tare
|
||||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||||
oledShowWeight(0);
|
oledShowWeight(0);
|
||||||
scaleTareRequest = false;
|
scaleTareRequest = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only update weight if median changed more than 1
|
// Get raw weight reading
|
||||||
int16_t newWeight = round(scale.get_units());
|
float rawWeight = scale.get_units();
|
||||||
if(abs(weight-newWeight) > 1){
|
|
||||||
weight = newWeight;
|
// Process weight with stabilization
|
||||||
|
int16_t stabilizedWeight = processWeightReading(rawWeight);
|
||||||
|
|
||||||
|
// Update global weight variable only if it changed significantly (for API actions)
|
||||||
|
if (stabilizedWeight != weight) {
|
||||||
|
weight = stabilizedWeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debug output for monitoring (can be removed in production)
|
||||||
|
static unsigned long lastDebugTime = 0;
|
||||||
|
if (currentTime - lastDebugTime > 2000) { // Print every 2 seconds
|
||||||
|
lastDebugTime = currentTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
lastMeasurementTime = currentTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vTaskDelay(pdMS_TO_TICKS(100));
|
vTaskDelay(pdMS_TO_TICKS(10)); // Shorter delay for more responsive loop
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,6 +252,9 @@ void start_scale(bool touchSensorConnected) {
|
|||||||
//vTaskDelay(pdMS_TO_TICKS(5000));
|
//vTaskDelay(pdMS_TO_TICKS(5000));
|
||||||
//scale.tare();
|
//scale.tare();
|
||||||
|
|
||||||
|
// Initialize weight stabilization filter
|
||||||
|
resetWeightFilter();
|
||||||
|
|
||||||
// Display Gewicht
|
// Display Gewicht
|
||||||
oledShowWeight(0);
|
oledShowWeight(0);
|
||||||
|
|
||||||
@@ -209,6 +339,7 @@ uint8_t calibrate_scale() {
|
|||||||
oledShowProgressBar(2, 3, "Scale Cal.", "Remove weight");
|
oledShowProgressBar(2, 3, "Scale Cal.", "Remove weight");
|
||||||
|
|
||||||
scale.set_scale(newCalibrationValue);
|
scale.set_scale(newCalibrationValue);
|
||||||
|
resetWeightFilter(); // Reset filter after calibration
|
||||||
for (uint16_t i = 0; i < 2000; i++) {
|
for (uint16_t i = 0; i < 2000; i++) {
|
||||||
yield();
|
yield();
|
||||||
vTaskDelay(pdMS_TO_TICKS(1));
|
vTaskDelay(pdMS_TO_TICKS(1));
|
||||||
|
@@ -9,6 +9,13 @@ uint8_t start_scale(bool touchSensorConnected);
|
|||||||
uint8_t calibrate_scale();
|
uint8_t calibrate_scale();
|
||||||
uint8_t tareScale();
|
uint8_t tareScale();
|
||||||
|
|
||||||
|
// Weight stabilization functions
|
||||||
|
void resetWeightFilter();
|
||||||
|
float calculateMovingAverage();
|
||||||
|
float applyLowPassFilter(float newValue);
|
||||||
|
int16_t processWeightReading(float rawWeight);
|
||||||
|
int16_t getFilteredDisplayWeight();
|
||||||
|
|
||||||
extern HX711 scale;
|
extern HX711 scale;
|
||||||
extern int16_t weight;
|
extern int16_t weight;
|
||||||
extern uint8_t weigthCouterToApi;
|
extern uint8_t weigthCouterToApi;
|
||||||
|
Reference in New Issue
Block a user