Updated wipe logic to respect retraction speed during wiping (#3094)

* Wipe retraction adjusted based on available wipe distance and retraction speed

* Wipe Improvements: Removed debug code, removed retract before wipe and made the respect retract speed an option.

* Wipe improvements: Spelling & grammar

* Revert "Wipe improvements: Spelling & grammar"

This reverts commit c8f8612b3f.

* Revert "Wipe Improvements: Removed debug code, removed retract before wipe and made the respect retract speed an option."

This reverts commit ba515ffb62.

* Wipe improvements: Using retraction before wipe parameter to judge when to do excess retraction

* Wipe Improvements: Floating point comparison check

* Wipe Improvements: Refactoring the code

* Wipe Improvements: Updated Wipe Distance tool tip

* Wipe Improvements: Removed redundant code

* Wipe Improvements: Use unscale_
This commit is contained in:
Ioannis Giannakas 2023-12-16 13:54:03 +00:00 committed by GitHub
parent 7b6dbfdbcc
commit 712c28251c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 77 additions and 19 deletions

View file

@ -55,11 +55,16 @@ class Wipe {
public:
bool enable;
Polyline path;
struct RetractionValues{
double retractLengthBeforeWipe;
double retractLengthDuringWipe;
};
Wipe() : enable(false) {}
bool has_path() const { return !this->path.points.empty(); }
void reset_path() { this->path = Polyline(); }
std::string wipe(GCode &gcodegen, bool toolchange = false, bool is_last = false);
std::string wipe(GCode &gcodegen, double length, bool toolchange = false, bool is_last = false);
RetractionValues calculateWipeRetractionLengths(GCode& gcodegen, bool toolchange);
};
class WipeTowerIntegration {