mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-15 00:55:53 +08:00
#693 fix crash when using fan kickstart without fan startup time
This commit is contained in:
parent
768e7b673a
commit
8f3e0b6fb4
@ -238,14 +238,14 @@ void FanMover::_process_gcode_line(GCodeReader& reader, const GCodeReader::GCode
|
|||||||
{
|
{
|
||||||
fan_speed = get_fan_speed(line.raw(), m_writer.config.gcode_flavor);
|
fan_speed = get_fan_speed(line.raw(), m_writer.config.gcode_flavor);
|
||||||
if (fan_speed > 0 && !m_is_custom_gcode) {
|
if (fan_speed > 0 && !m_is_custom_gcode) {
|
||||||
if (!only_overhangs || current_role != ExtrusionRole::erOverhangPerimeter) {
|
if (nb_seconds_delay > 0 && (!only_overhangs || current_role != ExtrusionRole::erOverhangPerimeter)) {
|
||||||
// this M106 need to go in the past
|
// this M106 need to go in the past
|
||||||
//check if we have !( kickstart and not in slowdown )
|
//check if we have !( kickstart and not in slowdown )
|
||||||
if (kickstart <= 0 || fan_speed < m_current_fan_speed) {
|
if (kickstart <= 0 || fan_speed < m_current_fan_speed) {
|
||||||
// first erase everything lower that that value
|
// first erase everything lower that that value
|
||||||
_remove_slow_fan(fan_speed, m_buffer_time_size + 1);
|
_remove_slow_fan(fan_speed, m_buffer_time_size + 1);
|
||||||
// then write the fan command
|
// then write the fan command
|
||||||
if (m_buffer_time_size > nb_seconds_delay) {
|
if (std::abs(m_buffer_time_size - nb_seconds_delay) < EPSILON) {
|
||||||
_print_in_middle_G1(m_buffer.front(), m_buffer_time_size - nb_seconds_delay, line.raw());
|
_print_in_middle_G1(m_buffer.front(), m_buffer_time_size - nb_seconds_delay, line.raw());
|
||||||
remove_from_buffer(m_buffer.begin());
|
remove_from_buffer(m_buffer.begin());
|
||||||
} else {
|
} else {
|
||||||
@ -274,8 +274,8 @@ void FanMover::_process_gcode_line(GCodeReader& reader, const GCodeReader::GCode
|
|||||||
//found, stop
|
//found, stop
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
++it;
|
|
||||||
time_count -= it->time;
|
time_count -= it->time;
|
||||||
|
++it;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user