Mejoras generales
This commit is contained in:
21
main.js
21
main.js
@@ -15,12 +15,25 @@ import config from './config.js';
|
||||
const port = new SerialPort({
|
||||
path: config.serial.path,
|
||||
baudRate: config.serial.baudRate,
|
||||
autoOpen: true
|
||||
autoOpen: false
|
||||
});
|
||||
|
||||
// Le establecemos que procese los datos recibidos con el parser de readline y le decimos que diferencie las líneas por saltos de línea
|
||||
const parser = port.pipe(new ReadlineParser({ delimiter: '\n' }));
|
||||
|
||||
// Función para (re)conectar al puerto serie con reintentos cada 1 segundo
|
||||
function connectPort() {
|
||||
port.open(err => {
|
||||
if (err) {
|
||||
console.error(`Error al conectar al puerto ${config.serial.path}:`, err.message);
|
||||
setTimeout(connectPort, 1000);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Iniciar primer intento de conexión
|
||||
connectPort();
|
||||
|
||||
// Esperamos a que se abra el puerto y cuando lo haga ejecutamos un console log para indicar que se ha abierto correctamente
|
||||
port.on('open', () => {
|
||||
console.log(`Puerto ${config.serial.path} conectado correctamente.`);
|
||||
@@ -35,4 +48,10 @@ parser.on('data', async (data) => {
|
||||
// Si hay un error en el puerto, lo mostramos en la consola
|
||||
port.on('error', (err) => {
|
||||
console.error('Error en el puerto:', err.message);
|
||||
});
|
||||
|
||||
// Si el puerto se cierra, reintentamos después de 1 segundo
|
||||
port.on('close', () => {
|
||||
console.warn(`Puerto ${config.serial.path} cerrado. Reintentando en 1 segundo...`);
|
||||
setTimeout(connectPort, 1000);
|
||||
});
|
||||
Reference in New Issue
Block a user