Fix a M73 and layer number regression s (#8435)
# Description Fixed two regressions: 1. Total layer number was missing for BBL printers 2. M73 remaining info was wrong when ARC fitting is enabled. # Screenshots/Recordings/Graphs <!-- > Please attach relevant screenshots to showcase the UI changes. > Please attach images that can help explain the changes. --> ## Tests <!-- > Please describe the tests that you have conducted to verify the changes made in this PR. -->
This commit is contained in:
commit
98b396c9ea
2 changed files with 24 additions and 14 deletions
|
@ -4415,33 +4415,43 @@ void GCodeProcessor::run_post_process()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else if (line == reserved_tag(ETags::Estimated_Printing_Time_Placeholder)) {
|
||||||
else if (line == reserved_tag(ETags::Estimated_Printing_Time_Placeholder)) {
|
|
||||||
for (size_t i = 0; i < static_cast<size_t>(PrintEstimatedStatistics::ETimeMode::Count); ++i) {
|
for (size_t i = 0; i < static_cast<size_t>(PrintEstimatedStatistics::ETimeMode::Count); ++i) {
|
||||||
const TimeMachine& machine = m_time_processor.machines[i];
|
const TimeMachine& machine = m_time_processor.machines[i];
|
||||||
PrintEstimatedStatistics::ETimeMode mode = static_cast<PrintEstimatedStatistics::ETimeMode>(i);
|
PrintEstimatedStatistics::ETimeMode mode = static_cast<PrintEstimatedStatistics::ETimeMode>(i);
|
||||||
if (mode == PrintEstimatedStatistics::ETimeMode::Normal || machine.enabled) {
|
if (mode == PrintEstimatedStatistics::ETimeMode::Normal || machine.enabled) {
|
||||||
char buf[128];
|
char buf[128];
|
||||||
sprintf(buf, "; estimated printing time (%s mode) = %s\n",
|
if (!s_IsBBLPrinter)
|
||||||
(mode == PrintEstimatedStatistics::ETimeMode::Normal) ? "normal" : "silent",
|
// Orca: compatibility with klipper_estimator
|
||||||
get_time_dhms(machine.time).c_str());
|
sprintf(buf, "; estimated printing time (%s mode) = %s\n",
|
||||||
|
(mode == PrintEstimatedStatistics::ETimeMode::Normal) ? "normal" : "silent",
|
||||||
|
get_time_dhms(machine.time).c_str());
|
||||||
|
else {
|
||||||
|
sprintf(buf, "; model printing time: %s; total estimated time: %s\n",
|
||||||
|
get_time_dhms(machine.time - machine.prepare_time).c_str(), get_time_dhms(machine.time).c_str());
|
||||||
|
}
|
||||||
export_lines.append_line(buf);
|
export_lines.append_line(buf);
|
||||||
processed = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (size_t i = 0; i < static_cast<size_t>(PrintEstimatedStatistics::ETimeMode::Count); ++i) {
|
for (size_t i = 0; i < static_cast<size_t>(PrintEstimatedStatistics::ETimeMode::Count); ++i) {
|
||||||
const TimeMachine& machine = m_time_processor.machines[i];
|
const TimeMachine& machine = m_time_processor.machines[i];
|
||||||
PrintEstimatedStatistics::ETimeMode mode = static_cast<PrintEstimatedStatistics::ETimeMode>(i);
|
PrintEstimatedStatistics::ETimeMode mode = static_cast<PrintEstimatedStatistics::ETimeMode>(i);
|
||||||
if (mode == PrintEstimatedStatistics::ETimeMode::Normal || machine.enabled) {
|
if (mode == PrintEstimatedStatistics::ETimeMode::Normal || machine.enabled) {
|
||||||
char buf[128];
|
char buf[128];
|
||||||
sprintf(buf, "; estimated first layer printing time (%s mode) = %s\n",
|
sprintf(buf, "; estimated first layer printing time (%s mode) = %s\n",
|
||||||
(mode == PrintEstimatedStatistics::ETimeMode::Normal) ? "normal" : "silent",
|
(mode == PrintEstimatedStatistics::ETimeMode::Normal) ? "normal" : "silent",
|
||||||
get_time_dhms(machine.prepare_time).c_str());
|
get_time_dhms(machine.prepare_time).c_str());
|
||||||
export_lines.append_line(buf);
|
export_lines.append_line(buf);
|
||||||
processed = true;
|
processed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Orca: write total layer number, this is used by Bambu printers only as of now
|
||||||
|
else if (line == reserved_tag(ETags::Total_Layer_Number_Placeholder)) {
|
||||||
|
char buf[128];
|
||||||
|
sprintf(buf, "; total layer number: %u\n", m_layer_id);
|
||||||
|
export_lines.append_line(buf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return processed;
|
return processed;
|
||||||
|
|
|
@ -380,7 +380,7 @@ class Print;
|
||||||
EMoveType move_type{ EMoveType::Noop };
|
EMoveType move_type{ EMoveType::Noop };
|
||||||
ExtrusionRole role{ erNone };
|
ExtrusionRole role{ erNone };
|
||||||
unsigned int g1_line_id{ 0 };
|
unsigned int g1_line_id{ 0 };
|
||||||
unsigned int remaining_internal_g1_lines;
|
unsigned int remaining_internal_g1_lines{ 0 };
|
||||||
unsigned int layer_id{ 0 };
|
unsigned int layer_id{ 0 };
|
||||||
float distance{ 0.0f }; // mm
|
float distance{ 0.0f }; // mm
|
||||||
float acceleration{ 0.0f }; // mm/s^2
|
float acceleration{ 0.0f }; // mm/s^2
|
||||||
|
@ -429,7 +429,7 @@ class Print;
|
||||||
struct G1LinesCacheItem
|
struct G1LinesCacheItem
|
||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
unsigned int remaining_internal_g1_lines;
|
unsigned int remaining_internal_g1_lines{ 0 };
|
||||||
float elapsed_time;
|
float elapsed_time;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue