Adding Flex message panel.
This commit is contained in:
parent
045ecc4e31
commit
d75b28ee3f
|
|
@ -1,15 +1,17 @@
|
|||
from csdr.chain.demodulator import ServiceDemodulator, DialFrequencyReceiver
|
||||
from pycsdr.modules import FmDemod, AudioResampler
|
||||
from mmon.modules import Flex
|
||||
|
||||
from owrx.multimon import MultimonParser
|
||||
|
||||
class FlexDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
||||
def __init__(self):
|
||||
def __init__(self, service: bool = False):
|
||||
self.sampleRate = 24000
|
||||
self.parser = MultimonParser(service=service)
|
||||
workers = [
|
||||
FmDemod(),
|
||||
AudioResampler(self.sampleRate, 22050),
|
||||
Flex(),
|
||||
self.parser,
|
||||
]
|
||||
super().__init__(workers)
|
||||
|
||||
|
|
@ -20,5 +22,5 @@ class FlexDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
|||
return False
|
||||
|
||||
def setDialFrequency(self, frequency: int) -> None:
|
||||
pass
|
||||
self.parse.setDialFrequency(frequency)
|
||||
|
||||
|
|
|
|||
|
|
@ -1198,6 +1198,16 @@ img.openwebrx-mirror-img
|
|||
white-space: pre;
|
||||
}
|
||||
|
||||
#openwebrx-panel-flex-message .address {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
#openwebrx-panel-flex-message .message {
|
||||
width: 486px;
|
||||
max-width: 486px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
#openwebrx-panel-sstv-message {
|
||||
height: 310px;
|
||||
width: 365px;
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@
|
|||
<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-message-panel" id="openwebrx-panel-flex-message" style="display: none; width: 619px;" data-panel-name="flex-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">
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ function Filter(demodulator) {
|
|||
|
||||
Filter.prototype.getLimits = function() {
|
||||
var max_bw;
|
||||
if (['pocsag', 'packet', 'ais'].indexOf(this.demodulator.get_secondary_demod()) >= 0) {
|
||||
if (['pocsag', 'flex', 'packet', 'ais'].indexOf(this.demodulator.get_secondary_demod()) >= 0) {
|
||||
max_bw = 12500;
|
||||
} else if (['dmr', 'dstar', 'nxdn', 'ysf', 'm17'].indexOf(this.demodulator.get_modulation()) >= 0) {
|
||||
max_bw = 6250;
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@ DemodulatorPanel.prototype.updatePanels = function() {
|
|||
toggle_panel("openwebrx-panel-js8-message", modulation == "js8");
|
||||
toggle_panel("openwebrx-panel-packet-message", ["packet", "ais"].indexOf(modulation) >= 0);
|
||||
toggle_panel("openwebrx-panel-pocsag-message", modulation === "pocsag");
|
||||
toggle_panel("openwebrx-panel-flex-message", modulation === "flex");
|
||||
toggle_panel("openwebrx-panel-sstv-message", modulation === "sstv");
|
||||
toggle_panel("openwebrx-panel-fax-message", modulation === "fax");
|
||||
|
||||
|
|
|
|||
|
|
@ -270,6 +270,47 @@ $.fn.pocsagMessagePanel = function() {
|
|||
return this.data('panel');
|
||||
};
|
||||
|
||||
FlexMessagePanel = function(el) {
|
||||
MessagePanel.call(this, el);
|
||||
this.initClearTimer();
|
||||
}
|
||||
|
||||
FlexMessagePanel.prototype = new MessagePanel();
|
||||
|
||||
FlexMessagePanel.prototype.supportsMessage = function(message) {
|
||||
return message['mode'] === 'Flex';
|
||||
};
|
||||
|
||||
FlexMessagePanel.prototype.render = function() {
|
||||
$(this.el).append($(
|
||||
'<table>' +
|
||||
'<thead><tr>' +
|
||||
'<th class="address">Address</th>' +
|
||||
'<th class="message">Message</th>' +
|
||||
'</tr></thead>' +
|
||||
'<tbody></tbody>' +
|
||||
'</table>'
|
||||
));
|
||||
};
|
||||
|
||||
FlexMessagePanel.prototype.pushMessage = function(msg) {
|
||||
var $b = $(this.el).find('tbody');
|
||||
$b.append($(
|
||||
'<tr>' +
|
||||
'<td class="address">' + msg.address + '</td>' +
|
||||
'<td class="message">' + msg.message + '</td>' +
|
||||
'</tr>'
|
||||
));
|
||||
$b.scrollTop($b[0].scrollHeight);
|
||||
};
|
||||
|
||||
$.fn.flexMessagePanel = function() {
|
||||
if (!this.data('panel')) {
|
||||
this.data('panel', new FlexMessagePanel(this));
|
||||
}
|
||||
return this.data('panel');
|
||||
};
|
||||
|
||||
SstvMessagePanel = function(el) {
|
||||
MessagePanel.call(this, el);
|
||||
this.initClearTimer();
|
||||
|
|
|
|||
|
|
@ -1166,11 +1166,12 @@ function on_ws_recv(evt) {
|
|||
case 'secondary_demod':
|
||||
var value = json['value'];
|
||||
var panels = [
|
||||
$("#openwebrx-panel-wsjt-message").wsjtMessagePanel(),
|
||||
$('#openwebrx-panel-packet-message').packetMessagePanel(),
|
||||
$('#openwebrx-panel-pocsag-message').pocsagMessagePanel(),
|
||||
$('#openwebrx-panel-sstv-message').sstvMessagePanel(),
|
||||
$('#openwebrx-panel-fax-message').faxMessagePanel(),
|
||||
$("#openwebrx-panel-wsjt-message").wsjtMessagePanel(),
|
||||
$('#openwebrx-panel-packet-message').packetMessagePanel(),
|
||||
$('#openwebrx-panel-pocsag-message').pocsagMessagePanel(),
|
||||
$('#openwebrx-panel-flex-message').flexMessagePanel(),
|
||||
$('#openwebrx-panel-sstv-message').sstvMessagePanel(),
|
||||
$('#openwebrx-panel-fax-message').faxMessagePanel(),
|
||||
$("#openwebrx-panel-js8-message").js8()
|
||||
];
|
||||
if (!panels.some(function(panel) {
|
||||
|
|
@ -1843,6 +1844,7 @@ function secondary_demod_init() {
|
|||
$('#openwebrx-panel-wsjt-message').wsjtMessagePanel();
|
||||
$('#openwebrx-panel-packet-message').packetMessagePanel();
|
||||
$('#openwebrx-panel-pocsag-message').pocsagMessagePanel();
|
||||
$('#openwebrx-panel-flex-message').pocsagMessagePanel();
|
||||
$('#openwebrx-panel-sstv-message').sstvMessagePanel();
|
||||
$('#openwebrx-panel-fax-message').faxMessagePanel();
|
||||
$('#openwebrx-panel-js8-message').js8();
|
||||
|
|
|
|||
Loading…
Reference in New Issue