Определение
Контроллер обычно не останавливается после каждой строки G1. Он собирает несколько движений, чтобы предугадывающий план мог выбрать ускорение и скорость на углах на их соединениях, затем передаёт мотору последовательность шагов с рассчитанным временем. Именно поэтому парсер может принять последующую команду, пока предыдущее движение всё ещё физически выполняется.
Команды, которые зависят от завершенного движения, требуют синхронизации. M400 ждет завершения очереди перемещений; G4 также выполняет синхронизацию перед удержанием на время в Marlin. Аварийная остановка, пауза и поведение хост-буфера являются отдельными механизмами с собственными правилами безопасности.
Что важно на практике
Обеспечивает плавное планирование
Просмотр нескольких сегментов вперед позволяет не рассматривать каждый угол как полную остановку.
Разбор не завершен
Последняя принятая конечная точка может находиться впереди текущего положения механизма.
Используйте явную синхронизацию
Действия, которые должны произойти после движения, должны использовать команду ожидания очереди целевой прошивки.
Пример в G-code
Подождите перед зависимым действием
G1 X100 F6000
M400
M114M400 опустошает очередь перемещений перед запросом отчета о позиции.
Что может показать этот просмотрщик
Просмотрщик оценивает команды в порядке источника и оценивает временную шкалу движения. Он распознает точки синхронизации, но не эмулирует последовательные буферы, планирование задач микропрограммы или трафик хоста в реальном времени.
Первичные источники
Это объяснение опирается на документацию прошивок и на то, что видно в самом G-code. Что именно сделает станок, по-прежнему определяют настройки вашего принтера.