Определение

Контроллер обычно не останавливается после каждой строки G1. Он собирает несколько движений, чтобы предугадывающий план мог выбрать ускорение и скорость на углах на их соединениях, затем передаёт мотору последовательность шагов с рассчитанным временем. Именно поэтому парсер может принять последующую команду, пока предыдущее движение всё ещё физически выполняется.

Команды, которые зависят от завершенного движения, требуют синхронизации. M400 ждет завершения очереди перемещений; G4 также выполняет синхронизацию перед удержанием на время в Marlin. Аварийная остановка, пауза и поведение хост-буфера являются отдельными механизмами с собственными правилами безопасности.

Что важно на практике

Обеспечивает плавное планирование

Просмотр нескольких сегментов вперед позволяет не рассматривать каждый угол как полную остановку.

Разбор не завершен

Последняя принятая конечная точка может находиться впереди текущего положения механизма.

Используйте явную синхронизацию

Действия, которые должны произойти после движения, должны использовать команду ожидания очереди целевой прошивки.

Пример в G-code

Подождите перед зависимым действием

G1 X100 F6000
M400
M114

M400 опустошает очередь перемещений перед запросом отчета о позиции.

Что может показать этот просмотрщик

В этом просмотрщике

Просмотрщик оценивает команды в порядке источника и оценивает временную шкалу движения. Он распознает точки синхронизации, но не эмулирует последовательные буферы, планирование задач микропрограммы или трафик хоста в реальном времени.

Первичные источники

Это объяснение опирается на документацию прошивок и на то, что видно в самом G-code. Что именно сделает станок, по-прежнему определяют настройки вашего принтера.