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));