From b303568a0fc2b6577806cc19ae23d9de4244b83d Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 15 Jan 2021 17:06:24 +0100 Subject: [PATCH] fix no serial data error on tracking analysis page --- static/scripts/refull.js | 8 +++++--- static/scripts/speedChart.js | 33 +++++++++++++++++++++++++-------- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/static/scripts/refull.js b/static/scripts/refull.js index 38cd459..1778c72 100644 --- a/static/scripts/refull.js +++ b/static/scripts/refull.js @@ -97,16 +97,18 @@ window.addEventListener("load", function(evt) { }).then(r => { // console.log(r.data.Data) // console.log(r.data) - findSerialDataIndex(r.data.Data.SOURCE_TCP, r.data.Data.SOURCE_SERIAL) - + if(r.data.Data.SOURCE_SERIAL > 0 && r.data.Data.SOURCE_TCP > 0) { + findSerialDataIndex(r.data.Data.SOURCE_TCP, r.data.Data.SOURCE_SERIAL) + } if ('SOURCE_TCP' in r.data.Data && r.data.Data.SOURCE_TCP.length > 0) { updateMapTCPbulk(r.data.Data.SOURCE_TCP) addTCPSpeedData(r.data.Data.SOURCE_TCP) } if ('SOURCE_SERIAL' in r.data.Data && r.data.Data.SOURCE_SERIAL.length > 0) { updateMapSERIALbulk(r.data.Data.SOURCE_SERIAL) - addSerialSpeedData() + addSerialSpeedData(r.data.Data.SOURCE_SERIAL) } + addDistances(prepareForDistanceCalc(r.data.Data)) }) } diff --git a/static/scripts/speedChart.js b/static/scripts/speedChart.js index da2afda..c496e73 100644 --- a/static/scripts/speedChart.js +++ b/static/scripts/speedChart.js @@ -63,14 +63,31 @@ let speedChart = new Chart(ctx, { * As there is less smartphone data collected, we only want the Ublox speeds that come in at the moment with the * smallest time difference between the TCP message and the Serial message. */ -function addSerialSpeedData() { - let speeds = [] +function addSerialSpeedData(sensordataList) { + let speedsSerial = [] + let times = [] - indexes.forEach(index => { - speeds.push((allSpeedsSerial[index] * 3.6).toFixed(2)) - }) - speedChart.data.datasets[0].data = speeds; - speedChart.update(); + if(indexes.length > 0){ + indexes.forEach(index => { + speedsSerial.push((allSpeedsSerial[index] * 3.6).toFixed(2)) + }) + speedChart.data.datasets[0].data = speedsSerial; + speedChart.update(); + } else { + sensordataList.forEach(sensordata => { + if (sensordata.Speed === 0) { + return; + } + let speed = sensordata.Speed + speedsSerial.push((speed * 3.6).toFixed(2)); + let time = sensordata.Timestamp + times.push(time) + + }) + speedChart.data.labels = times; + speedChart.data.datasets[0].data = speedsSerial; + speedChart.update(); + } } /** @@ -88,7 +105,7 @@ function addTCPSpeedData(sensordataList) { } let speed = sensordata.Speed speedsTCP.push((speed * 3.6).toFixed(2)); - let time = sensordata.Servertime + let time = sensordata.Timestamp times.push(time) })