定義

コントローラは通常、G1 の各行で停止しません。複数の移動を集め、先読みで接合部の加速度とコーナー速度を決めてから、時間調整したステップをモーターへ送ります。そのため、先行移動がまだ物理的に進行中でも、パーサーは後続コマンドを受け付けられます。

移動完了に依存するコマンドには同期が必要です。M400 はキュー内移動の完了を待ち、Marlin の G4 も同期後に指定時間だけ保持します。緊急停止、一時停止、ホストバッファの挙動は別の仕組みで、それぞれ安全規則があります。

実際に重要なこと

滑らかな計画を可能にする

複数セグメントを先読みすることで、すべての角を完全停止として扱わずに済みます。

解析済みは完了済みではない

最後に受け付けた終点が、現在の機構位置より先に進んでいる場合があります。

明示的に同期

移動後に実行する必要がある処理には、対象ファームウェアのキュー待機コマンドを使います。

G-code での例

依存する処理の前に待機

G1 X100 F6000
M400
M114

M400 が移動キューを空にしてから、位置報告を要求します。

このビューアーで確認できること

このビューアーでは

ビューアはソース順にコマンドを評価して移動タイムラインを推定し、同期点も認識します。シリアルバッファ、ファームウェアのタスクスケジューリング、リアルタイムのホスト通信は再現しません。

一次資料

この説明は、ファームウェア資料と G-code から直接確認できる情報に基づきます。実機の最終動作はプリンター設定によって決まります。