I have built a 3D printer with Marlin bugfix-2.0.x forked from github.
I am attempting to set the default value for junction deviation so that I don't have to change it through the printer's screen/interface every time I power cycle the printer, but what I thought would set it properly isn't doing the trick.
My thought was that uncommenting this in Configuration_adv.h would work:
#define JUNCTION_DEVIATION_MM 0.02
I have tried setting this define inside of and outside of the default
if block in which it appears, just to make sure the issue wasn't because I didn't have something else set, and I get the same behavior when this
define statement is either protected or unprotected by an
Also, the default
if block is this:
#if ENABLED( JUNCTION_DEVIATION ) #define JUNCTION_DEVIATION_MM 0.02 #endif
#define JUNCTION_DEVIATION leaves me with a compiler error telling me that I don't need to do that, so I'm not seeing anything that I am supposed to enable to get it to use the JUNCTION_DEVIATION_MM setting. In other words, I can't actually enable "JUNCTION_DEVIATION" any more, so I HAVE to break the JUNCTION_DEVIATION_MM setting out of the
if but it still has no effect.
After setting this parameter, when I power cycle the printer, the junction deviation is set to 0 (although one touch of the adjustment knob makes it jump to 0.010, so I think that what is displayed as "0" may actually mean "unset"), which is causing a significant stop/start jerk on every angle change until I manually set the junction deviation.
In case it matters, I'm running this on an SKR V1.3 with TMC2208 drivers at 24V.
Any ideas what I'm missing? I'm sure it's something simple, I just haven't found it.
UPDATE: Still no solution after 10 days. Here is additional information from another forum where I posted this request:
Did you run
M500after updating your firmware?
I dug into this a little more, and I am either running into a bug, or I'm simply not understanding what I'm supposed to be seeing.
I send this command:
Then verify that junction deviation is set correctly (it is) Then this:
And that responds with:
Settings Stored (616 bytes; crc 51371)
Then I send this:
And the report for M205 is missing the setting I just confirmed to have changed and been working:
M205 B20000.00 S0.00 T0.00
And power cycling or resetting the controller leads to the same result: Junction Deviation is reset to 0.
Shouldn't I see "J0.020" in the M205 line immediately after changing the setting, and verifying that it works?