Skip to content

v3.0.0

Latest
Compare
Choose a tag to compare
@Frix-x Frix-x released this 29 Apr 08:46
· 1 commit to main since this release
47770e2

Shake&Tune v3.0.0

This new version introduces a small breaking change with the macro names, which have changed to better reflect their usage. They are now COMPARE_BELTS_RESPONSES, AXES_SHAPER_CALIBRATION, and CREATE_VIBRATIONS_PROFILE.

New Features

  • Significantly improved the vibration measurement tool to increase its accuracy and make it really useful. It's a long work that has been going on for several months now with the community! Thanks to everyone who helped! I'm quite happy with the results, because now it's able to measure at the same speed range, but also extrapolate how the motors will behave at all angles! So the recommended speed ranges for your slicer will take this into account. Documentation is available here
  • Due to a major change in Klipper in February, S&T v2.6 was released to accommodate the change. It also provided a way to use SCV and the real damping ratio in the filter recommendations, but it also broke compatibility with older Klipper versions... Now with Shake&Tune v3.0.0 you have a "compatibility mode" that uses the old mechanism to calculate the filter recommendations if an older Klipper version is detected. This also has the side effect of making Shake&Tune compatible with the DangerKlipper bleeding edge branch again!
  • Macro names have been changed to better reflect their use, as noted in the first line of this changelog. They are now COMPARE_BELTS_RESPONSES, AXES_SHAPER_CALIBRATION and CREATE_VIBRATIONS_PROFILE.

Fixes

  • Updated the way the damping ratio is calculated to fix a potential crash when the signal is not perfect to calculate it (main spike near 0Hz). Now, if the damping ratio is not computable, the script will not crash and will take this into account when generating graphs.
  • Numerous fixes for permission errors, parameter handling bugs, etc.
  • Fixed a bug related to CSV format expectations that could happen in some edge cases.

Code Quality and Maintenance

  • Changed repository architecture to decouple Python and Klipper macros. A lot of refactoring and code cleaning was done at the same time to use proper OOP code with Python modules. This is a first step towards a real Klipper plugin in the future.
  • Added a pyproject.toml and set up linting and formatting rules using the Ruff formatter. Numerous refactoring and linting passes were done, targeting Python >=3.9 to avoid compatibility issues and have a cleaner and more consistent code.
  • Complete move to pathlib for better path management throughout the project. This should provide a more robust implementation of all file handling parts of Shake&Tune.
  • Improved error handling throughout the system to provide easier to understand errors in most cases.