-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set hybrid edit range to 999 #27473
Set hybrid edit range to 999 #27473
Conversation
The description from ChatGPT is below. In practice, Marlin uses the values specified by the TMCStepper library and not necessarily the native range of the stepper drivers. So we need to look first at how TMCStepper interprets these values for all the stepper drivers that it supports, and then adjust the code so it can adapt to the type of stepper drivers that are installed. The Hybrid Threshold on Trinamic stepper drivers determines the speed at which the driver switches between stealthChop (quiet mode) and spreadCycle (performance mode). Different models of Trinamic drivers have different ranges for this parameter. Here is a summary of the ranges for some common Trinamic drivers:
The specific threshold values you set depend on the application, such as the speed and torque requirements of your setup. Higher thresholds keep the motor in stealthChop longer, which is quieter but less powerful, while lower thresholds switch to spreadCycle earlier, providing more torque at higher speeds. |
But in Marlin this parameter is just speed, isn't it? So it could be in any reasonable speed value (zero means disabled according ro datasheet).
|
Yes, it does appear that the value is transformed.
…however it doesn't appear to be scaled based on the driver type. If the driver type has a range from 0 to 65535, then presumably the value should be scaled to that range as well before sending it to |
Co-authored-by: Scott Lahteine <[email protected]>
Currently TMC hybrid threshold is edited as uint8. This PR uses unit16 and range up to 999.
P.S. Should min value be >0?