The procedure for auto calibration and generating the bed compensation height map is important.
1) auto calibrate
2) DO NOT HOME after auto calibration - anywhere, not in your bed.g script or any special "calibration" scripts you may have created
3) do the G29
In order to test this, do it stepwise - when you auto calibrate, do you get a good Z=0 after that? If not, you need to fix that first. Check the G31 "Z" offset value. This is EXTREMELY important to a) understand and b) set correctly.
http://reprap.org/wiki/G-code#G31:_Set_ ... obe_status
For a procedure on how to determine it:
http://sublimelayers.blogspot.com/2016/ ... -duet.html and scroll down to the "Postscript" section for details.
It is also important to carefully observe probing until you are certain that there is no significant flex in your system - in particular, the bed mounting. Watch the bed and hot end while probing. If you see them move, that's not ideal. A little movement - if it is consistent across all probe points - is acceptable.
And also, I don't think you answered my question about "why are you using grid compensation?" Do you have a real or perceived issue with your printer's calibration?
Finally, to set the Z height manually in RepRapFirmware can be done several ways but the M665 command's "H" parameter is the Z height that is important. You can simply issue this command in the console and tweak it to get it right or use the paper drag test. Once you have the value set, simply do an M500 to save it to the config-override.g or edit your config.g.
Do this:
First issue an M665. This will print the current "in use" values of M665 (not necessarily what's in config.g or config-override.g if you've manually tweaked them). Find the "H" parameter. You say you are 1mm too low, so do this:
M665 H"your old value"-1
Don't do the math in the command! If your old H was H449.22 then subtract 1 from that and execute M665 H448.22. Or use the paper snag test and subtract the Z head position (upper right corner on the Machine Control tab) from the H value.
I usually just do this manually as described above as I observe my first layer. It is much quicker for me to tweak this way then rerun auto calibration or use the paper test. That came with experience but it is very easy to learn.
Note, that in the next release of RRF - v 1.18 - there will be a baby stepping feature for dynamically tweaking the first layer thickness during a print. I have a set of macros for doing that but they are not as effective as what David is implementing.