Skip to content

Commit abac20a

Browse files
authored
Merge pull request #67 from LukePrior/testing
a few fixes
2 parents 709ec00 + 99652d5 commit abac20a

File tree

1 file changed

+36
-33
lines changed

1 file changed

+36
-33
lines changed

js/tracker.js

Lines changed: 36 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ function clean_refresh(text, force, history_step) {
344344

345345
if (clientActive) {
346346
clientActive = false;
347+
$("#stText").text("");
347348
}
348349

349350
// reset mode if, invalid mode is specified
@@ -535,6 +536,7 @@ function load() {
535536
});
536537

537538
startAjax();
539+
liveData();
538540
};
539541

540542
map.whenReady(callBack);
@@ -2654,16 +2656,18 @@ function formatData(data, live) {
26542656
var station = data.uploader_callsign;
26552657
dataTempEntry.callsign = {};
26562658
//check if other stations also received this packet
2657-
if (data.datetime == vehicles[data.serial].curr_position.gps_time) {
2658-
for (let key in vehicles[data.serial].curr_position.callsign) {
2659-
if (vehicles[data.serial].curr_position.callsign.hasOwnProperty(key)) {
2660-
if (key != station) {
2661-
dataTempEntry.callsign[key] = {};
2662-
if (vehicles[data.serial].curr_position.callsign[key].hasOwnProperty("snr")) {
2663-
dataTempEntry.callsign[key].snr = vehicles[data.serial].curr_position.callsign[key].snr;
2664-
}
2665-
if (vehicles[data.serial].curr_position.callsign[key].hasOwnProperty("rssi")) {
2666-
dataTempEntry.callsign[key].rssi = vehicles[data.serial].curr_position.callsign[key].rssi;
2659+
if (vehicles.hasOwnProperty(data.serial)) {
2660+
if (data.datetime == vehicles[data.serial].curr_position.gps_time) {
2661+
for (let key in vehicles[data.serial].curr_position.callsign) {
2662+
if (vehicles[data.serial].curr_position.callsign.hasOwnProperty(key)) {
2663+
if (key != station) {
2664+
dataTempEntry.callsign[key] = {};
2665+
if (vehicles[data.serial].curr_position.callsign[key].hasOwnProperty("snr")) {
2666+
dataTempEntry.callsign[key].snr = vehicles[data.serial].curr_position.callsign[key].snr;
2667+
}
2668+
if (vehicles[data.serial].curr_position.callsign[key].hasOwnProperty("rssi")) {
2669+
dataTempEntry.callsign[key].rssi = vehicles[data.serial].curr_position.callsign[key].rssi;
2670+
}
26672671
}
26682672
}
26692673
}
@@ -2930,13 +2934,7 @@ function refresh() {
29302934
if (!ajax_inprogress_single) {
29312935
document.getElementById("timeperiod").disabled = false;
29322936
}
2933-
if (wvar.query == "" || sondePrefix.indexOf(wvar.query) > -1) {
2934-
if (!clientConnected) {
2935-
liveData();
2936-
} else if (clientConnected) {
2937-
clientActive = true;
2938-
}
2939-
}
2937+
clientActive = true;
29402938
clearTimeout(periodical);
29412939
ajax_inprogress = false;
29422940
}
@@ -2947,48 +2945,53 @@ function liveData() {
29472945
client.onConnectionLost = onConnectionLost;
29482946
client.onMessageArrived = onMessageArrived;
29492947

2950-
client.connect({onSuccess:onConnect,onFailure:connectionError,timeout:10,reconnect:false});
2948+
client.connect({onSuccess:onConnect,onFailure:connectionError,reconnect:true});
29512949

29522950
function onConnect() {
29532951
client.subscribe("#");
29542952
clientConnected = true;
29552953
clientActive = true;
2954+
$("#stText").text("websocket |");
29562955
};
29572956

29582957
function connectionError(error) {
29592958
$("#stText").text("error |");
2960-
console.log(error);
29612959
clientConnected = false;
29622960
clientActive = false;
29632961
refresh();
29642962
};
29652963

29662964
function onConnectionLost(responseObject) {
29672965
if (responseObject.errorCode !== 0) {
2968-
console.log(responseObject);
29692966
clientConnected = false;
29702967
clientActive = false;
29712968
refresh();
29722969
}
29732970
};
29742971

29752972
function onMessageArrived(message) {
2976-
if (clientActive) {
2977-
var frame = JSON.parse(message.payloadString.toString());
2978-
if ((new Date().getTime() - new Date(frame.time_received).getTime()) < 30000) {
2979-
var test = formatData(frame, true);
2980-
if (clientActive) {
2981-
update(test);
2973+
var dateNow = new Date().getTime();
2974+
try {
2975+
if (clientActive) {
2976+
var frame = JSON.parse(message.payloadString.toString());
2977+
if (wvar.query == "" || sondePrefix.indexOf(wvar.query) > -1 || wvar.query == frame.serial) {
2978+
if ((dateNow - new Date(frame.time_received).getTime()) < 30000) {
2979+
var test = formatData(frame, true);
2980+
if (clientActive) {
2981+
update(test);
2982+
}
2983+
$("#stTimer").attr("data-timestamp", dateNow);
2984+
$("#stText").text("websocket |");
2985+
} else if ((dateNow - new Date(frame.time_received).getTime()) > 150000) {
2986+
$("#stText").text("error |");
2987+
refresh();
2988+
} else {
2989+
$("#stText").text("error |");
2990+
}
29822991
}
2983-
$("#stTimer").attr("data-timestamp", new Date().getTime());
2984-
$("#stText").text("websocket |");
2985-
} else if ((new Date().getTime() - new Date(frame.time_received).getTime()) > 150000) {
2986-
$("#stText").text("error |");
2987-
refresh();
2988-
} else {
2989-
$("#stText").text("error |");
29902992
}
29912993
}
2994+
catch(err) {}
29922995
};
29932996
}
29942997

0 commit comments

Comments
 (0)