Skip to content

Commit 461d5c6

Browse files
committed
fix(UI): show average extrusion multiplier of all extruders when no tool selected
1 parent 7234119 commit 461d5c6

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/UI/Widgets/Status/PrintInfo/PrintInfoPresenter.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,24 @@ namespace UI
8383
auto tool = OM::GetCurrentTool();
8484
if (tool == nullptr)
8585
{
86-
m_view->updateFlowMultiplier(100);
86+
uint32_t extruderCount = 0;
87+
uint32_t flowMultiplier = 0;
88+
OM::Move::IterateExtruderAxesWhile(
89+
[&](OM::Move::ExtruderAxisPtr extruder, size_t)
90+
{
91+
flowMultiplier += static_cast<uint32_t>(std::lround(100 * extruder->factor));
92+
extruderCount++;
93+
return true;
94+
});
95+
m_view->updateFlowMultiplier(extruderCount > 0 ? flowMultiplier / extruderCount : 100);
8796
return;
8897
}
8998
// TODO show all extruder multipliers
9099
int32_t extruderMaxSpeed = 1;
91100
uint32_t extruderCount = 0;
92101
uint32_t flowMultiplier = 0;
93102
tool->IterateExtruders(
94-
[&](std::shared_ptr<OM::Move::ExtruderAxis> extruder, size_t /* index */)
103+
[&](OM::Move::ExtruderAxisPtr extruder, size_t /* index */)
95104
{
96105
flowMultiplier += static_cast<uint32_t>(std::lround(100 * extruder->factor));
97106
extruderCount++;

0 commit comments

Comments
 (0)