Quote Originally Posted by Roxy View Post
It is that way because the G28 and G29 should be self contained and do everything they each need. But if you want to change it, you can just call the routine to probe the point in the G28 and tell it not to retract the probe.



You already said up above that the line:

//#define EEPROM_SETTINGS

is commented out. If that is what you are really building, the EEPROM isn't the source of your problem. But the problems you are having sure sound like the kind of thing you would experience if you had a bad value in the EEPROM that was getting used.

Arduino can be very confusing about what project it is loading and compiling. Are you sure you are building the code in the directory you think you are? It might not hurt to go edit a file there so it has a syntax error and then bring up Arduino and verify that the compiler says you have an error where you changed things.



I "think" it is loading and compiling the marlin.ino file from the directory I am working in. I don't see it loading any other way? How would I verify if it is compiling other code?

I am pretty sure it is compiling and uploading the code I am telling it. If I change my z offset in marlin.ino, and upload it, I immediately see the new Z offset on my LCD display once it is finished uploading. It all seems to work just fine until I go to print and then the z offset, although numerically the same, is physically off by a few millimeters.

Yes //#define EEPROM_SETTINGS is commented out. So I am not sure where the bad value is coming from, if it is that at all. Could this be something else? Have we looked at all possible ways for this to happen?