Skip to content

Commit 70d0e62

Browse files
committed
multiple station support per frame
1 parent 587e1c9 commit 70d0e62

File tree

1 file changed

+32
-9
lines changed

1 file changed

+32
-9
lines changed

js/tracker.js

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,6 +1209,7 @@ function updateVehicleInfo(vcallsign, newPosition) {
12091209
}
12101210

12111211
var callsign_list = [];
1212+
12121213
if($.type(newPosition.callsign) === "string"){
12131214
// Single callsign entry, as a string (chase cars)
12141215
callsign_list = newPosition.callsign;
@@ -1695,18 +1696,24 @@ function mapInfoBox_handle_path_fetch(id,vehicle) {
16951696

16961697
html += "<hr style='margin:0px;margin-top:5px'>";
16971698
html += "<div style='font-size:11px;'>"
1699+
16981700
var callsign_list = [];
1699-
_new_call = vehicle.callsign;
1700-
if(data.hasOwnProperty('snr')) {
1701-
_new_call += " (" + data.snr.toFixed(0) + " dB)";
1702-
callsign_list.push(_new_call)
1703-
} else if(data.hasOwnProperty('rssi')) {
1704-
_new_call += " (" + data.rssi.toFixed(0) + " dBm)";
1705-
callsign_list.push(_new_call)
1706-
} else {
1707-
callsign_list.push(_new_call)
1701+
1702+
for (var i = 0; i < data.uploaders.length; i++) {
1703+
_new_call = data.uploaders[i].uploader_callsign;
1704+
if(data.uploaders[i].hasOwnProperty('snr')) {
1705+
_new_call += " (" + data.uploaders[i].snr.toFixed(0) + " dB)";
1706+
callsign_list.push(_new_call)
1707+
} else if(data.uploaders[i].hasOwnProperty('rssi')) {
1708+
_new_call += " (" + data.uploaders[i].rssi.toFixed(0) + " dBm)";
1709+
callsign_list.push(_new_call)
1710+
} else {
1711+
callsign_list.push(_new_call)
1712+
}
17081713
}
1714+
17091715
callsign_list = callsign_list.join("<br /> ");
1716+
17101717
html += callsign_list + "</div>";
17111718

17121719
div.innerHTML = html;
@@ -2646,6 +2653,22 @@ function formatData(data, live) {
26462653
var dataTempEntry = {};
26472654
var station = data.uploader_callsign;
26482655
dataTempEntry.callsign = {};
2656+
//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;
2667+
}
2668+
}
2669+
}
2670+
}
2671+
}
26492672
dataTempEntry.callsign[station] = {};
26502673
if (data.snr) {
26512674
dataTempEntry.callsign[station].snr = data.snr;

0 commit comments

Comments
 (0)