diff --git a/js/tracker.js b/js/tracker.js index 1045406..0231d8c 100644 --- a/js/tracker.js +++ b/js/tracker.js @@ -718,8 +718,8 @@ function launchSitePredictions(times, station, properties, marker) { var completed = 0; for (var i = 0; i < dates.length; i++) { var lon = ((360 + (position[1] % 360)) % 360) - //var url = "https://predict.cusf.co.uk/api/v1/?launch_latitude=" + position[0] + "&launch_longitude=" + lon + "&launch_datetime=" + dates[i] + "&ascent_rate=" + properties[0] + "&burst_altitude=" + properties[2] + "&descent_rate=" + properties[1]; - var url = "https://api.v2.sondehub.org/tawhiri?launch_latitude=" + position[0] + "&launch_longitude=" + lon + "&launch_datetime=" + dates[i] + "&ascent_rate=" + properties[0] + "&burst_altitude=" + properties[2] + "&descent_rate=" + properties[1]; + var url = "https://predict.cusf.co.uk/api/v1/?launch_latitude=" + position[0] + "&launch_longitude=" + lon + "&launch_datetime=" + dates[i] + "&ascent_rate=" + properties[0] + "&burst_altitude=" + properties[2] + "&descent_rate=" + properties[1]; + //var url = "https://api.v2.sondehub.org/tawhiri?launch_latitude=" + position[0] + "&launch_longitude=" + lon + "&launch_datetime=" + dates[i] + "&ascent_rate=" + properties[0] + "&burst_altitude=" + properties[2] + "&descent_rate=" + properties[1]; showPrediction(url).done(handleData).fail(handleError); } function handleData(data) { @@ -1051,7 +1051,8 @@ function habitat_data(jsondata, alternative) { "sats": "GNSS SVs Used", "humidity": "Relative Humidity", "subtype": "Sonde Sub-type", - "frequency": "TX Frequency", + "frequency": "Frequency", + "frequency_tx": "TX Frequency", "manufacturer": "Manufacturer", "type": "Sonde Type", "burst_timer": "Burst Timer", @@ -1092,6 +1093,7 @@ function habitat_data(jsondata, alternative) { "light_intensity": " lx", "humidity": " %", "frequency": " MHz", + "frequency_tx": " MHz", "spam": "" }; @@ -1102,11 +1104,18 @@ function habitat_data(jsondata, alternative) { var data = (typeof jsondata === "string") ? $.parseJSON(jsondata) : jsondata; var array = []; var output = ""; + var txFreq = false if(Object.keys(data).length === 0) return ""; + if ("frequency_tx" in data) { + txFreq = true + } + for(var key in data) { - array.push([key, data[key]]); + if (key === "frequency" && txFreq) {} else { + array.push([key, data[key]]); + } } array.sort(function(a, b) { @@ -1580,21 +1589,26 @@ function updateVehicleInfo(vcallsign, newPosition) { for(var rxcall in newPosition.callsign){ if(newPosition.callsign.hasOwnProperty(rxcall)) { _new_call = rxcall; + tempFields = []; if(newPosition.callsign[rxcall].hasOwnProperty('snr')){ if(newPosition.callsign[rxcall].snr){ - _new_call += " (" + newPosition.callsign[rxcall].snr.toFixed(0) + " dB)"; - callsign_list.push(_new_call) - continue; + tempFields.push(newPosition.callsign[rxcall].snr.toFixed(0) + " dB"); } } if(newPosition.callsign[rxcall].hasOwnProperty('rssi')){ if(newPosition.callsign[rxcall].rssi){ - _new_call += " (" + newPosition.callsign[rxcall].rssi.toFixed(0) + " dBm)"; - callsign_list.push(_new_call) - continue; + tempFields.push(newPosition.callsign[rxcall].rssi.toFixed(0) + " dBm"); } } - callsign_list.push(_new_call); // catch cases where there is no SNR or RSSI + if(newPosition.callsign[rxcall].hasOwnProperty('frequency')){ + if(newPosition.callsign[rxcall].frequency){ + tempFields.push(newPosition.callsign[rxcall].frequency + " MHz"); + } + } + if(tempFields.length > 0) { + _new_call += " (" + tempFields.join(", ") + ")"; + } + callsign_list.push(_new_call); // catch cases where there are no fields } } callsign_list = callsign_list.join(", "); @@ -2087,8 +2101,10 @@ function mapInfoBox_handle_path_fetch(id,vehicle) { if (data.hasOwnProperty("batt")) { html += "
Battery Voltage: " + data.batt + " V
"; }; - if (data.hasOwnProperty("frequency")) { - html += "
TX Frequency: " + data.frequency + " MHz
"; + if (data.hasOwnProperty("tx_frequency")) { + html += "
TX Frequency: " + data.tx_frequency + " MHz
"; + } else if (data.hasOwnProperty("frequency")) { + html += "
Frequency: " + data.frequency + " MHz
"; }; if (data.hasOwnProperty("humidity")) { html += "
Relative Humidity: " + data.humidity + " %
"; @@ -2121,15 +2137,20 @@ function mapInfoBox_handle_path_fetch(id,vehicle) { for (var i = 0; i < data.uploaders.length; i++) { _new_call = data.uploaders[i].uploader_callsign; + tempFields = []; if(data.uploaders[i].hasOwnProperty('snr')) { - _new_call += " (" + data.uploaders[i].snr.toFixed(0) + " dB)"; - callsign_list.push(_new_call) - } else if(data.uploaders[i].hasOwnProperty('rssi')) { - _new_call += " (" + data.uploaders[i].rssi.toFixed(0) + " dBm)"; - callsign_list.push(_new_call) - } else { - callsign_list.push(_new_call) + tempFields.push(data.uploaders[i].snr.toFixed(0) + " dB"); + } + if(data.uploaders[i].hasOwnProperty('rssi')) { + tempFields.push(data.uploaders[i].rssi.toFixed(0) + " dBm"); + } + if(data.uploaders[i].hasOwnProperty('frequency')) { + tempFields.push(data.uploaders[i].frequency + " MHz"); + } + if(tempFields.length > 0) { + _new_call += " (" + tempFields.join(", ") + ")"; } + callsign_list.push(_new_call); // catch cases where there are no fields } callsign_list = callsign_list.join("
"); @@ -3093,6 +3114,9 @@ function formatData(data, live) { if (vehicles[data[entry].serial].curr_position.callsign[key].hasOwnProperty("rssi")) { dataTempEntry.callsign[key].rssi = vehicles[data[entry].serial].curr_position.callsign[key].rssi; } + if (vehicles[data[entry].serial].curr_position.callsign[key].hasOwnProperty("frequency")) { + dataTempEntry.callsign[key].frequency = vehicles[data[entry].serial].curr_position.callsign[key].frequency; + } } } } @@ -3105,6 +3129,9 @@ function formatData(data, live) { if (data[entry].rssi) { dataTempEntry.callsign[station].rssi = data[entry].rssi; } + if (data[entry].frequency) { + dataTempEntry.callsign[station].frequency = data[entry].frequency; + } dataTempEntry.gps_alt = data[entry].alt; dataTempEntry.gps_lat = data[entry].lat; dataTempEntry.gps_lon = data[entry].lon; @@ -3125,6 +3152,9 @@ function formatData(data, live) { if (data[entry].frequency) { dataTempEntry.data.frequency = data[entry].frequency; } + if (data[entry].tx_frequency) { + dataTempEntry.data.frequency_tx = data[entry].tx_frequency; + } if (data[entry].humidity) { dataTempEntry.data.humidity = data[entry].humidity; } @@ -3172,6 +3202,9 @@ function formatData(data, live) { if (vehicles[data.serial].curr_position.callsign[key].hasOwnProperty("rssi")) { dataTempEntry.callsign[key].rssi = vehicles[data.serial].curr_position.callsign[key].rssi; } + if (vehicles[data.serial].curr_position.callsign[key].hasOwnProperty("frequency")) { + dataTempEntry.callsign[key].frequency = vehicles[data.serial].curr_position.callsign[key].frequency; + } } } } @@ -3184,6 +3217,9 @@ function formatData(data, live) { if (data.rssi) { dataTempEntry.callsign[station].rssi = data.rssi; } + if (data.frequency) { + dataTempEntry.callsign[station].frequency = data.frequency; + } dataTempEntry.gps_alt = data.alt; dataTempEntry.gps_lat = data.lat; dataTempEntry.gps_lon = data.lon; @@ -3204,6 +3240,9 @@ function formatData(data, live) { if (data.frequency) { dataTempEntry.data.frequency = data.frequency; } + if (data.tx_frequency) { + dataTempEntry.data.frequency_tx = data.tx_frequency; + } if (data.humidity) { dataTempEntry.data.humidity = data.humidity; } @@ -3249,6 +3288,9 @@ function formatData(data, live) { if (data[key][i].rssi) { dataTempEntry.callsign[station].rssi = data[key][i].rssi; } + if (data[key][i].frequency) { + dataTempEntry.callsign[station].frequency = data[key][i].frequency; + } dataTempEntry.gps_alt = data[key][i].alt; dataTempEntry.gps_lat = data[key][i].lat; dataTempEntry.gps_lon = data[key][i].lon; @@ -3269,6 +3311,9 @@ function formatData(data, live) { if (data[key][i].frequency) { dataTempEntry.data.frequency = data[key][i].frequency; } + if (data[key][i].tx_frequency) { + dataTempEntry.data.frequency_tx = data[key][i].tx_frequency; + } if (data[key][i].humidity) { dataTempEntry.data.humidity = data[key][i].humidity; } @@ -3335,6 +3380,9 @@ function formatData(data, live) { if (data[i].rssi) { dataTempEntry.callsign[station].rssi = data[i].rssi; } + if (data[i].frequency) { + dataTempEntry.callsign[station].frequency = data[i].frequency; + } dataTempEntry.gps_alt = data[i].alt; dataTempEntry.gps_lat = data[i].lat; dataTempEntry.gps_lon = data[i].lon; @@ -3355,6 +3403,9 @@ function formatData(data, live) { if (data[i].frequency) { dataTempEntry.data.frequency = data[i].frequency; } + if (data[i].tx_frequency) { + dataTempEntry.data.frequency_tx = data[i].tx_frequency; + } if (data[i].humidity) { dataTempEntry.data.humidity = data[i].humidity; }