Slight optimization of the filament_start_gcode insertion:

It is not needed between the purging towers and the wipe tower brim.
This commit is contained in:
bubnikv 2017-11-30 17:55:39 +01:00
parent a617e02ae6
commit cecaf6eabc
2 changed files with 1 additions and 8 deletions

View File

@ -229,13 +229,6 @@ std::string WipeTowerIntegration::prime(GCode &gcodegen)
// A phony move to the end position at the wipe tower. // A phony move to the end position at the wipe tower.
gcodegen.writer().travel_to_xy(Pointf(m_priming.end_pos.x, m_priming.end_pos.y)); gcodegen.writer().travel_to_xy(Pointf(m_priming.end_pos.x, m_priming.end_pos.y));
gcodegen.set_last_pos(wipe_tower_point_to_object_point(gcodegen, m_priming.end_pos)); gcodegen.set_last_pos(wipe_tower_point_to_object_point(gcodegen, m_priming.end_pos));
// Append the filament start G-code, so the linear advance value will be restored.
const std::string &start_filament_gcode = gcodegen.config().start_filament_gcode.get_at(current_extruder_id);
if (! start_filament_gcode.empty()) {
// Process the start_filament_gcode for the active filament only to restore the linear advance value.
gcode += gcodegen.placeholder_parser().process(start_filament_gcode, current_extruder_id);
check_add_eol(gcode);
}
// Prepare a future wipe. // Prepare a future wipe.
gcodegen.m_wipe.path.points.clear(); gcodegen.m_wipe.path.points.clear();
// Start the wipe at the current position. // Start the wipe at the current position.

View File

@ -556,9 +556,9 @@ static inline int hex_digit_to_int(const char c)
static inline bool parse_color(const std::string &scolor, unsigned char *rgb_out) static inline bool parse_color(const std::string &scolor, unsigned char *rgb_out)
{ {
rgb_out[0] = rgb_out[1] = rgb_out[2] = 0; rgb_out[0] = rgb_out[1] = rgb_out[2] = 0;
const char *c = scolor.data() + 1;
if (scolor.size() != 7 || scolor.front() != '#') if (scolor.size() != 7 || scolor.front() != '#')
return false; return false;
const char *c = scolor.data() + 1;
for (size_t i = 0; i < 3; ++ i) { for (size_t i = 0; i < 3; ++ i) {
int digit1 = hex_digit_to_int(*c ++); int digit1 = hex_digit_to_int(*c ++);
int digit2 = hex_digit_to_int(*c ++); int digit2 = hex_digit_to_int(*c ++);