Merge pull request #529 from PavelSindler/M221_fix

Fix of calculate_extrusion_multipliers().
This commit is contained in:
PavelSindler 2018-03-06 13:04:49 +01:00 committed by GitHub
commit 366268412b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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() {