シリアル通信を介して Gcode をプリンターに送信することにより、FlashForge Creator Pro (デュアル) 3D プリンターにメッセージを表示しようとしています。
ReplicatorG ソフトウェアを開いて文字列を配置すると、次のようになります。
M70 P5; Hello World.
そして、「ビルド」をクリックして、すべて正常に動作し、マシンはディスプレイを正常に表示します。ただし、コード (nodejs/node-serialport) で使用すると機能しません。
require('serialport')
var sp = new SerialPort("/dev/tty.usbmodem1441", {
baudrate: 56700,
parser: serialport.parsers.readline("\n")
});
sp.on("open", function(){
console.log('open');
sp.on('data', function(data) {
console.log('data received: ' + data);
});
sp.write("M70 P5; Hello World.", function(err, results) {
console.log('err ' + err);
console.log('results ' + results);
});
});
プリンターへの接続に使用されるボー レートは、ReplicatorG によって送信されるときにも使用される ReplicatorG The Creator Dual ドライバーから取得されています。
コンソールは、エラーなしで「open」イベントを発行します。
コマンドの最初と最後に「%」文字を追加し、「\n」を追加して行を区切ろうとしましたが、まだ成功していません。私は何を間違っていますか?