Results 1 to 9 of 9
-
12-15-2014, 11:50 AM #1
- Join Date
- Nov 2014
- Posts
- 19
M98 and M99 backlash compensation commands? (Marlin)
I want to try out the "M99 Xmm Ymm Zmm Emm" g-code command and see how backlash can be reduced or eliminated via software. (Yes, I'm trying everything I can in the hardware department too).
However, my firmware (Solidoodle 3 Marlin firmware, Printrboard Rev E motherboard) appears to not support that command, or it does something else.
While M99 is meant to set the backlash compensation values in mm, M98 prints out the current values.
Typing "M98" in Manual Control of Repetier-Host I get "N13 M98 *0" (13 and 0 change when I try again).
If this means my firmware doesn't support hysteresis, please tell me how I can modify the firmware source to enable it.
If I'm doing it wrong, please tell me what I'm doing wrong.
-
12-15-2014, 12:10 PM #2
I just looked in the Marlin code base. I don't see an M98 or M99 command there. Why do you think there is a command to do that?
Perhaps its an extension added by some printer maker? But it doesn't look standard to me.
-
12-15-2014, 12:55 PM #3
- Join Date
- Nov 2014
- Posts
- 19
I think it might have been removed, no idea how to add it back in. http://3dprintboard.com/showthread.p...ll=1#post40055
-
12-15-2014, 01:47 PM #4
If you get the version of the source code with the two commands... You would just add it to the current code base. If you get the two commands, I'll help you add it back in.
-
12-15-2014, 02:03 PM #5
- Join Date
- Nov 2014
- Posts
- 19
I'll try to give all the info I know. I'm not a programmer, so the answer might be obvious to some but not me.
All I know is I think this is the official repository of Marlin for Solidoodle https://github.com/mlaws/solidoodle2-marlin
and this guy here tells how he added the M98/M99 commands ( Neil Martin ): https://groups.google.com/forum/#!to...le/MNnym1MC94Y in there he also posted the modified source files which I guess would work with that version of Marlin current for that time (2012).
But looking at the latest source files, I can find the files Hysteresis.cpp and Hysteresis.h with copyright mentioning the name of Neil Martin, but not the lines he mentioned adding in other source files for this to work (Step 1 and Step 2 in his post from that link), so I just assume it was removed/deprecated.
I would just add the changes he says is needed to add that feature, but his post is from 2012 and the code might have changed for that to work the same way.
-
12-15-2014, 03:45 PM #6
It was never accepted into Erik Zalm's branch of the tree.
-
12-15-2014, 04:33 PM #7
- Join Date
- Nov 2014
- Posts
- 19
What about the one I linked to which Solidoodle uses? I'm not a programmer.
-
12-15-2014, 04:52 PM #8
The files Hysteresis.h and .cpp are in the .ZIP file from Solidoodle. But key functions defined in those such as:
void Hysteresis::SetAxis( int axis, float mm )
Are never referenced. And there is no M98 or M99 command in that set of files. It doesn't look like this was ever connected up and made to work.
-
12-15-2014, 05:13 PM #9
- Join Date
- Nov 2014
- Posts
- 19
That's odd, some other users seem to have it in their printers. http://www.soliforum.com/post/75071/#p75071
New to 3d printing looking for...
Yesterday, 12:56 AM in Tips, Tricks and Tech Help