定義
コントローラは通常、G1 の各行で停止しません。複数の移動を集め、先読みで接合部の加速度とコーナー速度を決めてから、時間調整したステップをモーターへ送ります。そのため、先行移動がまだ物理的に進行中でも、パーサーは後続コマンドを受け付けられます。
移動完了に依存するコマンドには同期が必要です。M400 はキュー内移動の完了を待ち、Marlin の G4 も同期後に指定時間だけ保持します。緊急停止、一時停止、ホストバッファの挙動は別の仕組みで、それぞれ安全規則があります。
実際に重要なこと
滑らかな計画を可能にする
複数セグメントを先読みすることで、すべての角を完全停止として扱わずに済みます。
解析済みは完了済みではない
最後に受け付けた終点が、現在の機構位置より先に進んでいる場合があります。
明示的に同期
移動後に実行する必要がある処理には、対象ファームウェアのキュー待機コマンドを使います。
G-code での例
依存する処理の前に待機
G1 X100 F6000
M400
M114M400 が移動キューを空にしてから、位置報告を要求します。
このビューアーで確認できること
このビューアーでは
ビューアはソース順にコマンドを評価して移動タイムラインを推定し、同期点も認識します。シリアルバッファ、ファームウェアのタスクスケジューリング、リアルタイムのホスト通信は再現しません。
一次資料
この説明は、ファームウェア資料と G-code から直接確認できる情報に基づきます。実機の最終動作はプリンター設定によって決まります。