Add option to enable/disable autoretract altogether (#11904)

This commit is contained in:
Victor Tseng
2018-09-29 05:52:56 +08:00
committed by Scott Lahteine
parent ad21a4f07b
commit 93839e2f73
63 changed files with 392 additions and 197 deletions

View File

@ -672,13 +672,19 @@ void MarlinSettings::postprocess() {
#endif
EEPROM_WRITE(lcd_contrast);
const bool autoretract_enabled =
#if DISABLED(FWRETRACT_AUTORETRACT)
false
#else
fwretract.autoretract_enabled
#endif
;
EEPROM_WRITE(autoretract_enabled);
#if DISABLED(FWRETRACT)
const bool autoretract_enabled = false;
const float autoretract_defaults[] = { 3, 45, 0, 0, 0, 13, 0, 8 };
EEPROM_WRITE(autoretract_enabled);
EEPROM_WRITE(autoretract_defaults);
#else
EEPROM_WRITE(fwretract.autoretract_enabled);
EEPROM_WRITE(fwretract.retract_length);
EEPROM_WRITE(fwretract.retract_feedrate_mm_s);
EEPROM_WRITE(fwretract.retract_zlift);
@ -1070,7 +1076,7 @@ void MarlinSettings::postprocess() {
}
else {
float dummy = 0;
#if DISABLED(AUTO_BED_LEVELING_UBL) || DISABLED(FWRETRACT) || ENABLED(NO_VOLUMETRICS)
#if DISABLED(AUTO_BED_LEVELING_UBL) || DISABLED(FWRETRACT) || DISABLED(FWRETRACT_AUTORETRACT) || ENABLED(NO_VOLUMETRICS)
bool dummyb;
#endif
@ -1374,7 +1380,11 @@ void MarlinSettings::postprocess() {
//
#if ENABLED(FWRETRACT)
EEPROM_READ(fwretract.autoretract_enabled);
#if DISABLED(FWRETRACT_AUTORETRACT)
EEPROM_READ(dummyb);
#else
EEPROM_READ(fwretract.autoretract_enabled);
#endif
EEPROM_READ(fwretract.retract_length);
EEPROM_READ(fwretract.retract_feedrate_mm_s);
EEPROM_READ(fwretract.retract_zlift);
@ -2620,12 +2630,16 @@ void MarlinSettings::reset(PORTARG_SOLO) {
SERIAL_ECHOPAIR_P(port, " W", LINEAR_UNIT(fwretract.swap_retract_recover_length));
SERIAL_ECHOLNPAIR_P(port, " F", MMS_TO_MMM(LINEAR_UNIT(fwretract.retract_recover_feedrate_mm_s)));
if (!forReplay) {
#if ENABLED(FWRETRACT_AUTORETRACT)
if (!forReplay) {
CONFIG_ECHO_START;
SERIAL_ECHOLNPGM_P(port, "Auto-Retract: S=0 to disable, 1 to interpret E-only moves as retract/recover");
}
CONFIG_ECHO_START;
SERIAL_ECHOLNPGM_P(port, "Auto-Retract: S=0 to disable, 1 to interpret E-only moves as retract/recover");
}
CONFIG_ECHO_START;
SERIAL_ECHOLNPAIR_P(port, " M209 S", fwretract.autoretract_enabled ? 1 : 0);
SERIAL_ECHOLNPAIR_P(port, " M209 S", fwretract.autoretract_enabled ? 1 : 0);
#endif // FWRETRACT_AUTORETRACT
#endif // FWRETRACT