Adjustable Z probe offset, via custom M-code
This commit is contained in:
parent
fe4930212c
commit
b0aeac117f
2 changed files with 45 additions and 0 deletions
|
@ -459,6 +459,15 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
||||||
//=============================Additional Features===========================
|
//=============================Additional Features===========================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
|
// Custom M code points
|
||||||
|
#define CUSTOM_M_CODES
|
||||||
|
#ifdef CUSTOM_M_CODES
|
||||||
|
#define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851
|
||||||
|
#define Z_PROBE_OFFSET_RANGE_MIN -2
|
||||||
|
#define Z_PROBE_OFFSET_RANGE_MAX 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// EEPROM
|
// EEPROM
|
||||||
// The microcontroller can store settings in the EEPROM, e.g. max velocity...
|
// The microcontroller can store settings in the EEPROM, e.g. max velocity...
|
||||||
// M500 - stores parameters in EEPROM
|
// M500 - stores parameters in EEPROM
|
||||||
|
|
|
@ -2719,6 +2719,42 @@ void process_commands()
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CUSTOM_M_CODE_SET_Z_PROBE_OFFSET
|
||||||
|
case CUSTOM_M_CODE_SET_Z_PROBE_OFFSET:
|
||||||
|
{
|
||||||
|
float value;
|
||||||
|
if (code_seen('Z'))
|
||||||
|
{
|
||||||
|
value = code_value();
|
||||||
|
if ((Z_PROBE_OFFSET_RANGE_MIN <= value) && (value <= Z_PROBE_OFFSET_RANGE_MAX))
|
||||||
|
{
|
||||||
|
zprobe_zoffset = -value; // compare w/ line 278 of ConfigurationStore.cpp
|
||||||
|
SERIAL_ECHO_START;
|
||||||
|
SERIAL_ECHOLNPGM("Z probe offset has been set");
|
||||||
|
SERIAL_PROTOCOLLN("");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SERIAL_ECHO_START;
|
||||||
|
SERIAL_ECHOPGM("Invalid z-probe value. Must be between ");
|
||||||
|
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MIN);
|
||||||
|
SERIAL_ECHOPGM(" and ");
|
||||||
|
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MAX);
|
||||||
|
SERIAL_PROTOCOLLN("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SERIAL_ECHO_START;
|
||||||
|
SERIAL_ECHOLNPGM("Z probe offset is currently ");
|
||||||
|
SERIAL_ECHO(-zprobe_zoffset);
|
||||||
|
SERIAL_PROTOCOLLN("");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif // CUSTOM_M_CODE_SET_Z_PROBE_OFFSET
|
||||||
|
|
||||||
#ifdef FILAMENTCHANGEENABLE
|
#ifdef FILAMENTCHANGEENABLE
|
||||||
case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
|
case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
|
||||||
{
|
{
|
||||||
|
|
Reference in a new issue