From 2a22d7a209cd7ea7bc9201f30761702ea80db15f Mon Sep 17 00:00:00 2001 From: sergiu Date: Mon, 15 May 2023 20:44:50 +0300 Subject: [PATCH] LAPI:705: Generate GPS and voice are two separate process; Added exit function --- .gitignore | 2 - config/dev/default.sergiu.toml | 28 ++++++++++++ logs/error_dev.log | 0 logs/simulator_dev.log | 0 src/asset.js | 80 ++++++++++++++++------------------ 5 files changed, 66 insertions(+), 44 deletions(-) create mode 100644 config/dev/default.sergiu.toml create mode 100644 logs/error_dev.log create mode 100644 logs/simulator_dev.log diff --git a/.gitignore b/.gitignore index 537633c..dca6c8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ node_modules .vscode -logs/* -!logs config/default.toml certs \ No newline at end of file diff --git a/config/dev/default.sergiu.toml b/config/dev/default.sergiu.toml new file mode 100644 index 0000000..49cbe00 --- /dev/null +++ b/config/dev/default.sergiu.toml @@ -0,0 +1,28 @@ +[elogs] +name = 'dev' + +[api] +port = '' +host = 'node.dev.linx.safemobile.com/api' +use_secure = true +accept_untrusted_certs = true + +[settings] +max_fails = 3 +send_group_monitoring_before_each_call = 'false' +gps_report_interval = '' +gps_min_interval = 500 +gps_max_interval = 1000 +gps_lat_start_point = 46.217802 +gps_lng_start_point = 24.776126 +delay_between_clients = 500 +testing_duration = 10 # seconds + +[[assets]] +asset_id = 60 +group_id = 1 +generate_voice = true +generate_gps = true + +[sounds] +tracks = ['1.mp3','2.mp3','3.mp3','4.mp3','5.mp3','6.mp3','7.mp3','8.mp3','9.mp3','10.mp3','11.mp3','12.mp3','13.mp3','14.mp3','15.mp3','16.mp3','17.mp3','18.mp3','19.mp3'] diff --git a/logs/error_dev.log b/logs/error_dev.log new file mode 100644 index 0000000..e69de29 diff --git a/logs/simulator_dev.log b/logs/simulator_dev.log new file mode 100644 index 0000000..e69de29 diff --git a/src/asset.js b/src/asset.js index c9d6bd1..8e6fa7c 100644 --- a/src/asset.js +++ b/src/asset.js @@ -344,8 +344,17 @@ class Asset { } _start() { - this.generate_voice && this._makePtt(); - this.generate_gps && this._sendGPS(); + this.generate_voice && this._makePtt(); // Generate voce + this.generate_gps && this._sendGPS(); // Generate GPS + this._measuringTestTime(); // Process exit base on this.endTime and current date + } + + _measuringTestTime() { + setInterval(() => { + if(Date.now() > this.endTime + 18000) { + process.exit(0) + } + }, 1000); } _verifyRecorder(callback) { @@ -458,19 +467,12 @@ class Asset { this.pttEndSuccessfully = true; setTimeout(() => { this._sendPttRelease(); - const now = +new Date(); - if(this.endTime > now) { + if(this.endTime > +new Date()) { this._makePtt(callback); } else { - - setTimeout(() => { - utils.writeLog(`Asset: ${this.id} - STOP`) - .then(() => { - process.exit(0); - }); - }, 10000); + utils.writeLog(`Asset ${this.id} Voice sleeping...`); } - }, 1800); // Hangtime + }, 1500); // Hangtime }); // @TODO: Ugly hack for the voice to work with mp3 (The fix is to remove float32ToInt16 conversion). It is the _transform function from OpusEncoderStream class (mumble-client-codecs-node project). @@ -532,7 +534,7 @@ class Asset { }) } - _sendGPS(callback) { + _sendGPS() { let hub = this.hub; if (hub && hub.connected) { let lat = this.configs.settings.gps_lat_start_point; @@ -547,36 +549,30 @@ class Asset { interval = this.configs.settings.gps_report_interval; } - setInterval(() => { - const now = +new Date(); - if(this.endTime > now) { - var new_lat = this._randomCoordinates(lat); - var new_lng = this._randomCoordinates(lng); + const now = +new Date(); + if(this.endTime > now) { + var new_lat = this._randomCoordinates(lat); + var new_lng = this._randomCoordinates(lng); - hub.emit('gps', JSON.stringify( - { - unix_time: 1467126677000, - asset_id: this.assetProps.id, - asset_sip_id: this.assetProps.sip_id, - speed_kmh: 16, - lat: new_lat, - lng: new_lng, - accuracy: 20.3, - activity_type: "driving", - activity_confidence: 90 - } - )); - lat = new_lat; - lng = new_lng; - } else { - setTimeout(() => { - utils.writeLog(`Asset: ${this.id} - STOP`) - .then(() => { - process.exit(0); - }); - }, 11000); - } - }, interval); + hub.emit('gps', JSON.stringify( + { + unix_time: 1467126677000, + asset_id: this.assetProps.id, + asset_sip_id: this.assetProps.sip_id, + speed_kmh: 16, + lat: new_lat, + lng: new_lng, + accuracy: 20.3, + activity_type: "driving", + activity_confidence: 90 + } + )); + lat = new_lat; + lng = new_lng; + setTimeout(() => { this._sendGPS(); }, interval); + } else { + utils.writeLog(`Asset ${this.id} GPS sleeping...`); + } } }