diff --git a/htdocs/lib/MessagePanel.js b/htdocs/lib/MessagePanel.js index 988f1453..6ba7525d 100644 --- a/htdocs/lib/MessagePanel.js +++ b/htdocs/lib/MessagePanel.js @@ -741,6 +741,21 @@ Vdl2MessagePanel.prototype.pushMessage = function(message) { } } } + if ('adsc_v2' in cotp) { + var adsc_v2 = cotp['adsc_v2'] + details = '

ADS-C v2 Frame

'; + if ('adsc_report' in adsc_v2) { + var adsc_report = adsc_v2['adsc_report']; + var data = adsc_report['data']; + if ('periodic_report' in data) { + details += '
Periodic report
'; + details += this.processReport(data['periodic_report']); + } else if ('event_report' in data) { + details += '
Event report
'; + details += this.processReport(data['event_report']); + } + } + } } } } else { @@ -769,6 +784,20 @@ Vdl2MessagePanel.prototype.pushMessage = function(message) { this.scrollToBottom(); }; +Vdl2MessagePanel.prototype.processReport = function(report) { + var details = ''; + if ('position' in report) { + var lat = position['lat'] + var lon = position['lon'] + details += '
Position: ' + + lat['deg'] + '° ' + lat['min'] + '\' ' + lat['sec'] + '" ' + lat['dir'] + ',' + + lon['deg'] + '° ' + lat['min'] + '\' ' + lat['sec'] + '" ' + lat['dir'] + + '
'; + details += '
Altitude: ' + position['alt']['val'] + '
'; + } + return details; +} + $.fn.vdl2MessagePanel = function() { if (!this.data('panel')) { this.data('panel', new Vdl2MessagePanel(this));