AnyCubic Kossel 3D プリンタで Repetier のファームウェアをつかっている. Rostock MAX のファームウェア (こちらも Repetier) もそうだが,印刷中は Windows のスケジュールがみだれるとすぐに印刷がとまってしまう. この問題を解決するために GCODE_BUFFER_SIZE の値を 1 から増加させてみた. 値をいくつにすればよいかは,もうしばらくつかって,きめる必要があるだろう.
#define GCODE_BUFFER_SIZE 1
このパラメタは G-code のコマンドを何個バッファできるかをきめているとかんがえられる. 値が 1 だと,ホストからのコマンドの転送がおくれるとすぐにプリンタがとまってしまうことになる. ウィルス対策ソフトが動作したり,なにかのインストーラが動作したりすると,印刷がよごれる. コマンド送信頻度がたかいときには,Emacs でコントロール・キーをおすだけでも,とまってしまう. AnyCubic Kossel のためのファームウェアではこの値は Repetier.h というファイルで定義されているが,とりあえずその値を 2 にしてみた. Rostock MAX のファームウェアも Repetier ベースだが,こちらは Configuration.h のなかで GCODE_BUFFER_SIZE が定義されていて,はじめからその値は 2 になっている. つまり,すくなくとも Rostock MAX のばあいは 2 でも十分でない. Kossel についてはどうだか,まだわからない. しばらくは 2 でためしてみようとおもう.
2016-8-24 追記: 2 から 10 にしてみたら,プリンタが発狂した. 突然ヘッドが下方にうごきだしたので,あわてて非常停止した. どこかのバッファがオーバフローしたのだろう. 7 までは異常なしで動作した. しかし,2 でも 7 でも,あまり動作にかわりはない. ホスト側で処理がおくれると,プリンタが停止してしまう.