Scurve-pa branch

I was using your scurve-pa branch which was going well but alas it had a hiccup at about the 5 hour mark.
I have included the log

any chance you may update your extr-is-compress branch?
Or if you have a branch you want tested let me know. (2.2 MB)

Cheers from

Hi! Any reason you were using that branch?

FWIW, it was just something I put together for quick experimentation with PA and S-Curves. Alas, the results were not what I thought I may achieve, so I abandoned it for now. If you post the GCode you was printing, I could take a look, cause otherwise I cannot really reproduce the issue, and my code has quite a few rough edges that could potentially cause problems. But I’m not sure if you should be using that branch for long-term. So, is it beneficial somehow?

I was a fan of scurve when you first implemented way back and I liked that the stepper motors while printing seem quiet and printer smoother not a scientific answer.
I wasn’t sure if it was ok to use but had to have a play hehe.
Thanks for you work but from what you have said I will just leave it alone.

If you feel like it, you could give a try to ‘input smoothers’ implemented in my advanced-features branch. Unlike regular discrete input shapers, they are polynomial smooth functions, and so they may provide a similar-to-s-curve acceleration profile, although not exactly the same, since they have fixed timing rather than S-Curve spanning the whole acceleration/deceleration. These smoothers are somewhat more effective vs corresponding discrete input shaper (though give a tad more smoothing). Alas, they are more expensive computationally, so I’d say RPi3 is a minimum required hardware (e.g. runs fine on Ender 3 up to speeds ~250 mm/sec with 127 msteps on RPi3b+), but ideally RPI4/OrangePi4/etc. There’s some support for them in scripts/ in that branch for better overview of what’s available.

They can be configured similarly (though smoother_freq_? parameter isn’t exactly the same as before - it corresponds to the minimum frequency that the smoother cancels, or, more precisely, equals to the smallest frequency of the pole it cancels; this makes a difference for smooth_ei and smooth_2hump_ei for instance; hopefully, it is more straightforward that way):

shaper_type_x = smooth_ei
smoother_freq_x = 50
shaper_type_y = smooth_mzv
smoother_freq_y = 40

Thanks hopefully I will get time today to give it a try. if not today asap.


I finished a print with no issues.
Anecdotally I would say it is similar to what I recal s-curve was like, I have the voron sitting on a Ikea Lack table which is far from solid so any harsh movement in the printer rocks the table like a boat in the ocean.
I noticed when doing solid infil over short distances normally the table was be rocking back and forth but with your branch it is stable or moving ever so slightly.
I will be doing some more prints over the next few days hopefully so I will keep you up to date if any problems arise.

Cheers Mate.