From 04b85c0934d829e52c499fbc6701138fdf0b0030 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Fri, 2 Aug 2019 11:03:45 +0700 Subject: [PATCH] Register modem before init --- lib/modem.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/modem.js b/lib/modem.js index e382872..dec3460 100644 --- a/lib/modem.js +++ b/lib/modem.js @@ -39,13 +39,7 @@ const modemInfo = { let lastTs = new Date(); -const port = new SerialPort(config.modem.device, { baudRate: 115200 }, (err) => { - if (err) { - logger.warn(`Error opening modem. ${err}. Terminating modem ${config.modem.device}.`); - process.exit(1); - } -}); - +let port; const parserReadLine = new ParserReadline(); @@ -54,9 +48,6 @@ parserWaitForOK.on('data', () => { mutex.releaseLockWaitForCommand(); }); - -port.pipe(parserReadLine); - function writeToPort(data) { return new Promise((resolve) => { port.write(data, (err, bytesWritten) => { @@ -319,6 +310,16 @@ async function sendSMS(destination, msg) { } function init() { + port = new SerialPort(config.modem.device, { baudRate: 115200 }, (err) => { + if (err) { + logger.warn(`Error opening modem. ${err}. Terminating modem ${config.modem.device}.`); + process.exit(1); + } + }); + port.pipe(parserReadLine); + + registerModem(modemInfo); + setInterval(() => { if ((new Date() - lastTs) > MAX_LAST_DATA_AGE_MS) { logger.warn(`No data for more than ${MAX_LAST_DATA_AGE_MS} ms. Modem might be unresponsive. Terminating modem ${config.modem.device}.`); -- 1.9.0