// comSender.js const { SerialPort } = require('serialport'); module.exports = class ComSender { constructor(comPort = '/dev/ttyS0', baudRate = 115200) { this.comPort = comPort; this.baudRate = baudRate; this.port = null; } async init() { return new Promise((resolve, reject) => { this.port = new SerialPort( { path: this.comPort, baudRate: this.baudRate, dataBits: 8, stopBits: 1, parity: 'none', autoOpen: true, }, (err) => (err ? reject(err) : resolve()) ); }); } moveTo(mOld, mNew) { if (!this.port || !this.port.isOpen) { console.error('Serial port not open. Call init() first.'); return; } const msg = 'Hello from Node at ' + this.baudRate + ' baud\r\n'; this.port.write(msg, (err) => { if (err) return console.error('Write error:', err); this.port.drain(() => console.log('Wrote to ' + this.comPort)); }); } }