add preliminary parsing and display of M17 metadata
This commit is contained in:
@ -1025,7 +1025,8 @@ img.openwebrx-mirror-img
|
||||
.openwebrx-meta-slot.active.direct .openwebrx-meta-user-image .directcall,
|
||||
.openwebrx-meta-slot.active.individual .openwebrx-meta-user-image .directcall,
|
||||
#openwebrx-panel-metadata-ysf .openwebrx-meta-slot.active .openwebrx-meta-user-image .directcall,
|
||||
#openwebrx-panel-metadata-dstar .openwebrx-meta-slot.active .openwebrx-meta-user-image .directcall {
|
||||
#openwebrx-panel-metadata-dstar .openwebrx-meta-slot.active .openwebrx-meta-user-image .directcall,
|
||||
#openwebrx-panel-metadata-m17 .openwebrx-meta-slot.active .openwebrx-meta-user-image .directcall {
|
||||
display: initial;
|
||||
}
|
||||
|
||||
@ -1059,6 +1060,14 @@ img.openwebrx-mirror-img
|
||||
content: "Down: ";
|
||||
}
|
||||
|
||||
.openwebrx-m17-source:not(:empty):before {
|
||||
content: "SRC: ";
|
||||
}
|
||||
|
||||
.openwebrx-m17-destination:not(:empty):before {
|
||||
content: "DEST: ";
|
||||
}
|
||||
|
||||
.openwebrx-dstar-yourcall:not(:empty):before {
|
||||
content: "UR: ";
|
||||
}
|
||||
|
@ -74,6 +74,15 @@
|
||||
<div class="openwebrx-panel openwebrx-message-panel" id="openwebrx-panel-js8-message" style="display:none; width: 619px;" data-panel-name="js8-message"></div>
|
||||
<div class="openwebrx-panel openwebrx-message-panel" id="openwebrx-panel-packet-message" style="display: none; width: 619px;" data-panel-name="aprs-message"></div>
|
||||
<div class="openwebrx-panel openwebrx-message-panel" id="openwebrx-panel-pocsag-message" style="display: none; width: 619px;" data-panel-name="pocsag-message"></div>
|
||||
<div class="openwebrx-panel openwebrx-meta-panel" id="openwebrx-panel-metadata-m17" style="display: none;" data-panel-name="metadata-m17">
|
||||
<div class="openwebrx-meta-slot">
|
||||
<div class="openwebrx-meta-user-image">
|
||||
<img class="directcall" src="static/gfx/openwebrx-directcall.svg">
|
||||
</div>
|
||||
<div class="openwebrx-m17-source"></div>
|
||||
<div class="openwebrx-m17-destination"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="openwebrx-panel openwebrx-meta-panel" id="openwebrx-panel-metadata-ysf" style="display: none;" data-panel-name="metadata-ysf">
|
||||
<div class="openwebrx-meta-slot">
|
||||
<div class="openwebrx-ysf-mode"></div>
|
||||
|
@ -321,18 +321,57 @@ NxdnMetaPanel.prototype.clear = function() {
|
||||
this.setDestination();
|
||||
};
|
||||
|
||||
function M17MetaPanel(el) {
|
||||
MetaPanel.call(this, el);
|
||||
this.modes = ['M17'];
|
||||
this.clear();
|
||||
}
|
||||
|
||||
M17MetaPanel.prototype = new MetaPanel();
|
||||
|
||||
M17MetaPanel.prototype.update = function(data) {
|
||||
if (!this.isSupported(data)) return;
|
||||
|
||||
if (data['sync'] && data['sync'] === 'voice') {
|
||||
this.el.find(".openwebrx-meta-slot").addClass("active");
|
||||
this.setSource(data['source']);
|
||||
this.setDestination(data['destination']);
|
||||
} else {
|
||||
this.clear();
|
||||
}
|
||||
};
|
||||
|
||||
M17MetaPanel.prototype.setSource = function(source) {
|
||||
if (this.source === source) return;
|
||||
this.source = source;
|
||||
this.el.find('.openwebrx-m17-source').text(source || '');
|
||||
};
|
||||
|
||||
M17MetaPanel.prototype.setDestination = function(destination) {
|
||||
if (this.destination === destination) return;
|
||||
this.destination = destination;
|
||||
this.el.find('.openwebrx-m17-destination').text(destination || '');
|
||||
};
|
||||
|
||||
M17MetaPanel.prototype.clear = function() {
|
||||
MetaPanel.prototype.clear.call(this);
|
||||
this.setSource();
|
||||
this.setDestination();
|
||||
};
|
||||
|
||||
MetaPanel.types = {
|
||||
dmr: DmrMetaPanel,
|
||||
ysf: YsfMetaPanel,
|
||||
dstar: DStarMetaPanel,
|
||||
nxdn: NxdnMetaPanel,
|
||||
m17: M17MetaPanel,
|
||||
};
|
||||
|
||||
$.fn.metaPanel = function() {
|
||||
return this.map(function() {
|
||||
var $self = $(this);
|
||||
if (!$self.data('metapanel')) {
|
||||
var matches = /^openwebrx-panel-metadata-([a-z]+)$/.exec($self.prop('id'));
|
||||
var matches = /^openwebrx-panel-metadata-([a-z0-9]+)$/.exec($self.prop('id'));
|
||||
var constructor = matches && MetaPanel.types[matches[1]] || MetaPanel;
|
||||
$self.data('metapanel', new constructor($self));
|
||||
}
|
||||
|
Reference in New Issue
Block a user