Fix of calculate_extrusion_multipliers().

This is a fix of a bug made in the previous commit.
This commit is contained in:
bubnikv 2018-03-05 21:31:31 +01:00 committed by PavelSindler
parent 54749cbcba
commit 2b7e50e45b
2 changed files with 9 additions and 6 deletions

View file

@ -378,8 +378,8 @@ bool Config_RetrieveSettings(uint16_t offset, uint8_t level)
EEPROM_READ_VAR(i, extruder_advance_k);
EEPROM_READ_VAR(i, advance_ed_ratio);
}
calculate_volumetric_multipliers();
#endif //LIN_ADVANCE
calculate_extruder_multipliers();
// Call updatePID (similar to when we have processed M301)
updatePID();

View file

@ -7021,11 +7021,14 @@ void save_statistics(unsigned long _total_filament_used, unsigned long _total_pr
}
float calculate_extruder_multiplier(float diameter) {
bool enabled = volumetric_enabled && diameter > 0;
float area = enabled ? (M_PI * pow(diameter * .5, 2)) : 0;
return (extrudemultiply == 100) ?
(enabled ? (1.f / area) : 1.f) :
(enabled ? ((float(extrudemultiply) * 0.01f) / area) : 1.f);
float out = 1.f;
if (volumetric_enabled && diameter > 0.f) {
float area = M_PI * diameter * diameter * 0.25;
out = 1.f / area;
}
if (extrudemultiply != 100)
out *= float(extrudemultiply) * 0.01f;
return out;
}
void calculate_extruder_multipliers() {