This article details how I added support for the M117 GCode that I used for the Auto Bed Leveling approach. The standard Gen6 firmware doesn't support this GCode.
This is more for my own recollection in case I need to add it to future builds.
process_g_code.pde: Line 680 (in the switch statement after case 116)
Handle the M117 GCode and return the data in the appropriate format.
case 117:
Serial.print("C: X");
Serial.print(zeroHit.x);
Serial.print(" Y");
Serial.print(zeroHit.y);
Serial.print(" Z");
Serial.print(zeroHit.z);
Serial.print(" E");
Serial.println(zeroHit.e);
break;
cartesian_dda.pde: Line 391 (in the if (read_switch(min_pin, inv) ) statement)
When an end-stop is hit, store the current step count.
if (min_pin == X_MIN_PIN)
zeroHit.x = current;
if (min_pin == Y_MIN_PIN)
zeroHit.y = current;
if (min_pin == Z_MIN_PIN)
zeroHit.z = current;
configuration.h: Line 329 (just before #endif)
Increase the variables scope.
extern LongPoint zeroHit;
FiveD-GCode_Interpreter.pde: Line 121 (after FloatPoint where_i_am;)
Variable declaration.
That's all there is to it, a quick recompile and upload later and the Gen6 hardware should now support M117.