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

Method SetFileFinished

src/GCodes/GCodeBuffer/GCodeBuffer.cpp:1125–1154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1123#if HAS_SBC_INTERFACE
1124
1125void GCodeBuffer::SetFileFinished() noexcept
1126{
1127 FileId macroFileId = NoFileId, printFileId = OriginalMachineState().fileId;
1128 for (GCodeMachineState *ms = machineState; ms != nullptr; ms = ms->GetPrevious())
1129 {
1130 if (macroFileId == NoFileId && ms->fileId != NoFileId && ms->fileId != printFileId && !ms->fileFinished)
1131 {
1132 // Get the next macro file being executed
1133 macroFileId = ms->fileId;
1134 }
1135
1136 if (macroFileId != NoFileId)
1137 {
1138 if (ms->fileId == macroFileId)
1139 {
1140 // Flag it (and following machine states) as finished
1141 ms->fileFinished = true;
1142 }
1143 else
1144 {
1145 break;
1146 }
1147 }
1148 }
1149
1150 if (macroFileId != NoFileId)
1151 {
1152 reprap.GetSbcInterface().EventOccurred();
1153 }
1154}
1155
1156void GCodeBuffer::SetPrintFinished() noexcept
1157{

Callers 2

DoFileMacroMethod · 0.80
ExchangeDataMethod · 0.80

Calls 2

EventOccurredMethod · 0.80
GetPreviousMethod · 0.45

Tested by

no test coverage detected