-
-
Notifications
You must be signed in to change notification settings - Fork 19.4k
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
Fixed Time Motion: Fix switching on or off FTM when printing #27335
Fixed Time Motion: Fix switching on or off FTM when printing #27335
Conversation
That should be fixed instead of using a workaround/disabling it. cc: @ulendoalex |
I agree but actually you can't switch on or off FTM when you print via the tune menu (which is a good idea). Blocking |
How you define "during the print"? From the human perspective, "print" is something that produces physical part. But:
I don't think you can clearly define concept of "print" given that it's just a stateless stream of commands. At least not without assumptions that will break in one or all of the cases I mentioned |
The printer may not be sentient yet, but Marlin/Marlin/src/MarlinCore.cpp Lines 327 to 329 in 0ec1a54
...and Marlin/Marlin/src/MarlinCore.cpp Lines 336 to 339 in 0ec1a54
So there are ways to tell if the machine is doing something. |
From what I see, So, it is not a very reliable method which will only work for a subset of printers AND subset of printing sources. |
When I say during a print, it means when the effective print has begun.
Applying these changes allows enabling |
After some tests and searches, the call to |
c792921
to
37fb26b
Compare
if (flag.reset_ft) { | ||
stepper.ftMotion_syncPosition(); | ||
ftMotion.reset(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we certain that changing any of the above parameters does/will not require ftMotion.reset()
to recalculate something/anything based on the updated parameter(s)?
@@ -423,15 +416,8 @@ void GcodeSuite::M493() { | |||
|
|||
#endif // HAS_Y_AXIS | |||
|
|||
planner.synchronize(); | |||
|
|||
if (flag.update) ftMotion.update_shaping_params(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like a smart idea to synchronize before modifying the parameters that ftMotion
uses to do its motion. Are we certain it is / will always be safe to call update_shaping_params
while a move is still ongoing?
95f8d5f
to
eaa9ed4
Compare
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Description
Changing motion system during a print is a bad idea but a long time ago, switching on or off FTM was possible. Now it's broken and the printer freezes.
As we can't switch on or off FTM via the tune menu, we need to disable
M493 S0
orM493 S1
when printing .Requirements
Benefits
Configurations
Related Issues