From dee2ba97ab01806e185fd42095dc842df0d7c5cf Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Tue, 3 Sep 2019 18:24:10 +0700
Subject: [PATCH] queryCOPS

---
 lib/modem-commands.js | 18 ++++++++++++++++++
 modem-tester.js       |  2 --
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/lib/modem-commands.js b/lib/modem-commands.js
index 171ff2c..a8921f3 100644
--- a/lib/modem-commands.js
+++ b/lib/modem-commands.js
@@ -18,6 +18,15 @@ function writeToPort(data) {
     });
 }
 
+exports.sleep = function sleep(ms) {
+    return new Promise((resolve) => {
+        setTimeout(() => {
+            resolve();
+        }, ms || 0);
+    });
+};
+
+
 exports.setPort = function setPort(val) {
     port = val;
 };
@@ -34,3 +43,12 @@ exports.querySignalQuality = function querySignalQuality() {
         resolve(true);
     });
 };
+
+exports.queryCOPS = function querySignalQuality() {
+    return new Promise(async (resolve) => {
+        await mutex.lock(MUTEX_COMMAND, 'queryCOPS');
+        await writeToPort('AT+COPS?\r');
+        mutex.unlock(MUTEX_COMMAND, 'queryCOPS');
+        resolve(true);
+    });
+};
diff --git a/modem-tester.js b/modem-tester.js
index 5732599..7578f22 100644
--- a/modem-tester.js
+++ b/modem-tester.js
@@ -53,10 +53,8 @@ port = new SerialPort(config.modem.device, { baudRate: 115200 }, async (err) =>
         'AT&FE0\r',
         'AT+CGSN\r',
         'AT+CIMI\r',
-        'AT+COPS?\r',
     ];
 
-
     const commandsCount = commands.length;
     // eslint-disable-next-line no-plusplus
     for (let i = 0; i < commandsCount; i++) {
-- 
1.9.0