Disabled check for "G92 E0" in layer change G-code for other firmware types
than Marlin 2 and Marlin Legacy. We don't know whether other firmware
flavors are sensitive to E axis accumulation error and we know that
RepRapFirmware is not.

Fixes #7846
This commit is contained in:
Vojtech Bubnik 2022-02-14 15:11:19 +01:00
parent a062a889d8
commit 3e9e3fd102

View file

@ -659,7 +659,8 @@ std::string Print::validate(std::string* warning) const
bool layer_gcode_resets_extruder = boost::regex_search(m_config.layer_gcode.value, regex_g92e0);
if (m_config.use_relative_e_distances) {
// See GH issues #6336 #5073
if (! before_layer_gcode_resets_extruder && ! layer_gcode_resets_extruder)
if ((m_config.gcode_flavor == gcfMarlinLegacy || m_config.gcode_flavor == gcfMarlinFirmware) &&
! before_layer_gcode_resets_extruder && ! layer_gcode_resets_extruder)
return L("Relative extruder addressing requires resetting the extruder position at each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to layer_gcode.");
} else if (before_layer_gcode_resets_extruder)
return L("\"G92 E0\" was found in before_layer_gcode, which is incompatible with absolute extruder addressing.");