MCPcopy Create free account
hub / github.com/Duet3D/RepRapFirmware / WaitingForAllMovesFinished

Method WaitingForAllMovesFinished

src/Movement/Move.cpp:839–867  ·  view source on GitHub ↗

Tell the lookahead ring we are waiting for it to empty and return true if it is

Source from the content-addressed store, hash-verified

837
838// Tell the lookahead ring we are waiting for it to empty and return true if it is
839bool Move::WaitingForAllMovesFinished(MovementSystemNumber msNumber
840#if SUPPORT_ASYNC_MOVES
841 , LogicalDrivesBitmap logicalDrivesOwned
842#endif
843 ) noexcept
844{
845 if (!rings[msNumber].SetWaitingToEmpty())
846 {
847 return false;
848 }
849
850 // If input shaping is enabled then movement may continue for a little while longer
851#if SUPPORT_ASYNC_MOVES
852 return logicalDrivesOwned.IterateWhile([this](unsigned int axisOrExtruder, unsigned int) noexcept -> bool
853 {
854 return !dms[axisOrExtruder].MotionPending();
855 }
856 );
857#else
858 for (size_t drive = 0; drive < MaxAxesPlusExtruders; ++drive)
859 {
860 if (dms[drive].MotionPending())
861 {
862 return false;
863 }
864 }
865#endif
866 return true;
867}
868
869// Return the number of actually probed probe points
870unsigned int Move::GetNumProbedProbePoints() const noexcept

Calls 3

SetWaitingToEmptyMethod · 0.80
IterateWhileMethod · 0.80
MotionPendingMethod · 0.80

Tested by

no test coverage detected