Skip to content

PR: Add universal screw parameters to screws_tilt_adjust with backward compatibility#844

Open
GiacomoGuaresi wants to merge 24 commits intoKalicoCrew:mainfrom
gingeradditive:configurable-screw-for-tilt-adjust
Open

PR: Add universal screw parameters to screws_tilt_adjust with backward compatibility#844
GiacomoGuaresi wants to merge 24 commits intoKalicoCrew:mainfrom
gingeradditive:configurable-screw-for-tilt-adjust

Conversation

@GiacomoGuaresi
Copy link
Copy Markdown
Contributor

@GiacomoGuaresi GiacomoGuaresi commented Feb 23, 2026

This PR makes the screws_tilt_adjust module universal by allowing any screw thread pitch, instead of being limited to predefined screw types.

Previously, only specific screw types (M3, M4, M5, M6, M8) could be used via the screw_thread parameter.

What Changed

New Universal Parameters

  • screw_factor – screw thread pitch in millimeters
  • screw_direction – rotation direction (CW / CCW)

Backward Compatibility

  • The existing screw_thread parameter continues to work unchanged

Simplified Implementation

  • Removed hardcoded thread index mapping
  • Direct use of pitch and direction attributes

Documentation Updated

  • Added new parameter descriptions to Config_Reference.md

Why

The old implementation was restrictive: users with custom screw sizes (e.g. M10, M12, or non-standard thread pitches) could not use the tool.

This change enables universal screw support while maintaining full backward compatibility with all existing configurations.

Example Usage

# Legacy configuration (still works)
screw_thread: CW-M4

# New universal configuration (any screw size)
screw_factor: 1.0    # e.g. M6 thread pitch
screw_direction: CW

Checklist

  • PR title is clear and meaningful
  • Test case added (where possible)
  • New feature documented in the README / reference docs
  • CI is green
  • Tested on an actual printer

@GiacomoGuaresi
Copy link
Copy Markdown
Contributor Author

Hi @dalegaard , thanks a lot for the comments you left

I agree with everything you pointed out.
This PR is still a draft carried over from an old Klipper fork, and I still need to work on it to make it good enough for a proper review (that’s why it’s still marked as draft 😅).

In the meantime, I’ll address the issues you mentioned. If you have any other suggestions or feedback, I’m more than happy to hear them.

Thanks again for your feedback!

@GiacomoGuaresi GiacomoGuaresi marked this pull request as ready for review February 23, 2026 12:23
@GiacomoGuaresi GiacomoGuaresi marked this pull request as draft February 23, 2026 12:23
@GiacomoGuaresi
Copy link
Copy Markdown
Contributor Author

Hi @dalegaard, I wanted to let you know that I'm back to work on this PR, sorry for the wait

@GiacomoGuaresi GiacomoGuaresi marked this pull request as ready for review March 31, 2026 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants