Results 21 to 30 of 396
-
09-25-2014, 08:47 AM #21
So... I don't know... But my thinking is a little different. What happened is the compiler thought it was in the retract_z_probe() function. But it wasn't. It got out of sync with the code and it was missing a curly brace or a semicolon somewhere. It was reporting the error the best it could. Even though where the axis==Z_AXIS stuff was clearly outside and beyond the retract_z_probe() function to you and me... To the compiler it never closed out and finished doing the work for that function. It thought it was still in that function. So it reported that it found an error while compiling that function.
That function isn't that long, but its got all those #ifdef's in it. I don't know... My guess would be somehow those turned off a closing curly brace that was needed to close out the function and the compiler got confused.
But like I said... Short of actually seeing the code causing it to happen, and finding the fix, it is hard to say for sure. But that is kind of how my thought process works and where I would start.
Its kind of like when the compiler complains I'm missing a semicolon and tells me where it should be. If it knows where it should be, just put it there for me!!!!
-
09-25-2014, 09:59 AM #22
I have my own set of auto-bed-leveling code changes that I've been using, but I've been planning to switch over and try Roxy's. Mine have some...oddities if you run the bed leveling a second time without cycling the power.
Thanks for setting up the fork.
I'm sure it has been discussed before, but what's the story on the possibility of getting Roxy's changes merged into the main Marlin distribution? Has that conversation taken place? Feel free to just point me to the flamewar thread if there is one.
-
09-25-2014, 10:15 AM #23
I started the process of doing a 'Push' of the Enhanced G29 but ran into trouble with GitHub. I managed to get the G48 Z-Probe-Repeatability test Pushed and merged into the code base. But what ever I did that time doesn't work now. I might need help doing that. I was thinking of getting an up to date version of the code base with just the Enhanced G29 code in it. Literally... Take the most current code base off of GitHub and make the changes for Enhanced G29 to it with nothing else. And then see if somebody else can get it to 'Push' back. (Because I don't seem to be able to do that!)
But now, somebody might be merging another nice G29 enhancement into the mix. Somebody else did some work where the n x n grid that is probed is limited to the size of the print being done. That will help accuracy. If that can be merged with my G29 stuff, it would make sense to get that all working and do a single 'Push' of everything. There is some post-processing of the Slicer GCode that has to be done. Somehow that has to be done so it is fully automatic for the user. I haven't seen what or how that is done. So that actual status isn't clear right now.
Check out the start of the discussion at:
http://3dprintboard.com/showthread.p...ll=1#post27876
And then Sly20 says he has merged the two code bases:
http://3dprintboard.com/showthread.p...ll=1#post28002Last edited by Roxy; 09-25-2014 at 10:46 AM.
-
09-25-2014, 02:20 PM #24
I'm really interested in incorporating other peoples pieces into this fork, so if you have something valuable, pass it on. I do plan on adding in my changes to prevent moves to unsafe positions on the X and Y axes soon.
-
09-25-2014, 02:39 PM #25
Have you taken a look at this fork: https://github.com/ErikZalm/Marlin/pull/1022)
Sly20 said:
3 files have been changed. Is there a way to merge the code ?
If we can make that happen, I bet we can get people to figure out what changes in the Starting GCode to automatically get a print's dimensions communicated to the printer. It would be a fun group project to do here!
-
09-25-2014, 06:41 PM #26
OK, I integrated those changes into our fork: https://github.com/beckdac/Marlin/co...7dc766f4e76575
Unfortunately, that code set also has a parameter (A) for supplying the number of points to probe and those changes break Roxy's code and conflict with that enhanced G29 parameter (n). So I created an additional patch to reconcile these two: https://github.com/beckdac/Marlin/co...e9d3bcc49fd4de
I decided to keep the (n) parameter to G29 from Roxy and remove the (A) parameter. So an example G29 command could be:
Code:G29 V4 T n3 L95 F95 R105 B105
Last edited by dacb; 09-25-2014 at 10:59 PM.
-
09-25-2014, 10:55 PM #27
Did some basic testing and it looks like it works. I ran through some combinations of arguments from the full blown to the original (see below) and didn't find any problems. Then I started a print and it setup fine and is working away.
E.g. G29 V4 T n3 L95 F95 R105 B105
Code:Send: G28 X0 Y0 Z0 Recv: ok Send: G29 V4 T n3 L95 F95 R105 B105 Recv: Roxy's Enhanced G29 Auto_Bed_Leveling Code V1.01: Recv: Bed x: 95.00 y: 95.00 z: 7.95 Recv: Bed x: 100.00 y: 95.00 z: 7.90 Recv: Bed x: 105.00 y: 95.00 z: 7.92 Recv: Bed x: 95.00 y: 100.00 z: 7.84 Recv: Bed x: 100.00 y: 100.00 z: 7.86 Recv: Bed x: 105.00 y: 100.00 z: 7.93 Recv: Bed x: 95.00 y: 105.00 z: 7.89 Recv: Bed x: 100.00 y: 105.00 z: 7.88 Recv: Bed x: 105.00 y: 105.00 z: 7.89 Recv: Eqn coefficients: a: 0.00 b: -0.00 d: 8.09 Recv: Mean of sampled points: 7.895500 Recv: Recv: Bed Height Topography: Recv: --0.00600 --0.01700 --0.00500 Recv: --0.05700 --0.03425 +0.03325 Recv: +0.05875 +0.00400 +0.02325 Recv: Recv: planeNormal x: -0.00 y: 0.00 z: 1.00 Recv: Recv: Recv: Bed Level Correction Matrix: Recv: 0.999998 0.000000 0.001858 Recv: 0.000007 0.999993 -0.003800 Recv: -0.001858 0.003800 0.999991 Recv: ok Recv: echo:endstops hit: Z:7.89
Code:Send: G29 V4 T n2 Recv: Roxy's Enhanced G29 Auto_Bed_Leveling Code V1.01: Recv: Bed x: 75.00 y: 50.00 z: 8.01 Recv: Bed x: 175.00 y: 50.00 z: 8.19 Recv: Bed x: 75.00 y: 175.00 z: 7.80 Recv: Bed x: 175.00 y: 175.00 z: 7.96 Recv: Eqn coefficients: a: 0.00 b: -0.00 d: 7.97 Recv: Mean of sampled points: 7.986500 Recv: Recv: Bed Height Topography: Recv: --0.19100 --0.03075 Recv: +0.01850 +0.20325 Recv: Recv: planeNormal x: -0.00 y: 0.00 z: 1.00 Recv: Recv: Recv: Bed Level Correction Matrix: Recv: 0.999999 0.000000 0.001725 Recv: 0.000003 0.999998 -0.001774 Recv: -0.001725 0.001774 0.999997 Recv: ok Recv: echo:endstops hit: Z:7.96
Last edited by dacb; 09-25-2014 at 10:58 PM. Reason: Sentences are good, use them.
-
09-26-2014, 01:11 AM #28
Holy Cow! That is great if you merged things that easily! And actually... I have a request. I think 'n' makes sense but because Repetier can't tolerate either n or N and Pronterface can't use a capital N, we need to accommodate something else. I'll look at the merge (and re-read these posts in detail) in the morning, but I already added :
if ( code_seen('n') || code_seen('U') || code_seen('u') ) {
n_points = code_value();
if (n_points<2 || n_points>AUTO_BED_LEVELING_GRID_POINTS ) {
SERIAL_PROTOCOLPGM("?Number of probed points not plausable.\n");
break;
}
}
to my code base to help with a transition. Can we fold that into the merge? I was thinking an upside down 'N' would be easy to remember if you are using broken software that can't tolerate an 'N'.Last edited by Roxy; 09-26-2014 at 01:21 AM.
-
09-26-2014, 07:09 AM #29
Thanks. Keep up the good work.
I think the community benefits the most when valuable changes like these can be merged back and made available to everyone.
-
09-26-2014, 08:46 AM #30
Thanks, clough42. I'd love to get this merged back into Marlin trunk.
Here is the 'U'/'u' addition: https://github.com/beckdac/Marlin/co...85c9019b53b9e4
My 3D Norn Emissary print
09-13-2024, 02:28 AM in 3D Printing Gallery