| 1123 | #if HAS_SBC_INTERFACE |
| 1124 | |
| 1125 | void 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 | |
| 1156 | void GCodeBuffer::SetPrintFinished() noexcept |
| 1157 | { |
no test coverage detected