Commit e509607c54ae1d6684ef4cca01ed398af9f97609
1 parent
d87943efc5
Exists in
master
MODEM-COMMANDS: CSQ
Showing 2 changed files with 39 additions and 3 deletions Side-by-side Diff
lib/modem-commands.js
... | ... | @@ -0,0 +1,36 @@ |
1 | +const MUTEX_COMMAND = 'COMMAND'; | |
2 | +// const MUTEX_SUBCOMMAND = 'SUBCOMMAND'; | |
3 | + | |
4 | +const logger = require('komodo-sdk/logger'); | |
5 | +const mutex = require('./mutex-common'); | |
6 | +// const parsers = require('./serialport-parsers'); | |
7 | + | |
8 | +let port; | |
9 | + | |
10 | +function writeToPort(data) { | |
11 | + return new Promise((resolve) => { | |
12 | + port.write(data, (err, bytesWritten) => { | |
13 | + if (err) logger.warn(`ERROR: ${err.toString()}`); | |
14 | + | |
15 | + logger.verbose('OUTGOING', { bytesWritten, data: data.toString() }); | |
16 | + resolve(bytesWritten); | |
17 | + }); | |
18 | + }); | |
19 | +} | |
20 | + | |
21 | +exports.setPort = function setPort(val) { | |
22 | + port = val; | |
23 | +}; | |
24 | + | |
25 | +exports.querySignalQuality = function querySignalQuality() { | |
26 | + return new Promise(async (resolve) => { | |
27 | + if (!mutex.tryLock(MUTEX_COMMAND, 'querySignalQuality')) { | |
28 | + resolve(false); | |
29 | + return; | |
30 | + } | |
31 | + | |
32 | + await writeToPort('AT+CSQ\r'); | |
33 | + mutex.unlock(MUTEX_COMMAND, 'querySignalQuality'); | |
34 | + resolve(true); | |
35 | + }); | |
36 | +}; |
modem-tester.js
... | ... | @@ -7,6 +7,7 @@ const logger = require('komodo-sdk/logger'); |
7 | 7 | const ParserInterByteTimeout = require('@serialport/parser-inter-byte-timeout'); |
8 | 8 | |
9 | 9 | const parsers = require('./lib/serialport-parsers'); |
10 | +const modemCommands = require('./lib/modem-commands'); | |
10 | 11 | |
11 | 12 | const parserInterByteTimeout = new ParserInterByteTimeout({ interval: 1000 }); |
12 | 13 | parserInterByteTimeout.on('data', (data) => { |
... | ... | @@ -53,7 +54,6 @@ port = new SerialPort(config.modem.device, { baudRate: 115200 }, async (err) => |
53 | 54 | 'AT+CGSN\r', |
54 | 55 | 'AT+CIMI\r', |
55 | 56 | 'AT+COPS?\r', |
56 | - 'AT+CSQ\r', | |
57 | 57 | ]; |
58 | 58 | |
59 | 59 | |
... | ... | @@ -75,8 +75,8 @@ port = new SerialPort(config.modem.device, { baudRate: 115200 }, async (err) => |
75 | 75 | } |
76 | 76 | |
77 | 77 | setInterval(() => { |
78 | - writeToPort('AT+CSQ\r'); | |
79 | - }, 60000); | |
78 | + modemCommands.querySignalQuality(); | |
79 | + }, 30000); | |
80 | 80 | }); |
81 | 81 | |
82 | 82 | parsers.setPort(port); |