kopia lustrzana https://github.com/projecthorus/wenet
Fixes to web interface stability, use simple-websocket
rodzic
31ef4b268b
commit
dec481eefe
|
@ -44,6 +44,7 @@ RUN --mount=type=cache,target=/root/.cache/pip pip3 install \
|
||||||
crcmod \
|
crcmod \
|
||||||
flask \
|
flask \
|
||||||
flask-socketio \
|
flask-socketio \
|
||||||
|
simple-websocket \
|
||||||
requests
|
requests
|
||||||
|
|
||||||
# Copy in wenet.
|
# Copy in wenet.
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
# Released under GNU GPL v3 or later
|
# Released under GNU GPL v3 or later
|
||||||
#
|
#
|
||||||
import argparse
|
import argparse
|
||||||
|
import datetime
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import socket
|
import socket
|
||||||
|
@ -49,6 +50,7 @@ class FSKDemodStats(object):
|
||||||
self.peak_hold = peak_hold
|
self.peak_hold = peak_hold
|
||||||
self.decoder_id = str(decoder_id)
|
self.decoder_id = str(decoder_id)
|
||||||
self.freq = freq
|
self.freq = freq
|
||||||
|
self.fcentre = 0.0
|
||||||
self.sample_rate = sample_rate
|
self.sample_rate = sample_rate
|
||||||
self.real = real
|
self.real = real
|
||||||
|
|
||||||
|
@ -108,6 +110,7 @@ class FSKDemodStats(object):
|
||||||
self.fft = np.array(_data['samp_fft'])
|
self.fft = np.array(_data['samp_fft'])
|
||||||
self.fest[0] = _data['f1_est']
|
self.fest[0] = _data['f1_est']
|
||||||
self.fest[1] = _data['f2_est']
|
self.fest[1] = _data['f2_est']
|
||||||
|
self.fcentre = self.freq + (self.fest[0] + self.fest[1])/2.0
|
||||||
|
|
||||||
#self.fft = self.fft[self.fft>0.0]
|
#self.fft = self.fft[self.fft>0.0]
|
||||||
|
|
||||||
|
@ -212,7 +215,9 @@ if __name__ == "__main__":
|
||||||
'fft_db': stats_parser.fft_db,
|
'fft_db': stats_parser.fft_db,
|
||||||
'fft_freq': stats_parser.fft_freq,
|
'fft_freq': stats_parser.fft_freq,
|
||||||
'fest': stats_parser.fest,
|
'fest': stats_parser.fest,
|
||||||
'freq': stats_parser.freq
|
'freq': stats_parser.freq,
|
||||||
|
'fcentre': stats_parser.fcentre,
|
||||||
|
'time': datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%SZ")
|
||||||
}
|
}
|
||||||
|
|
||||||
send_modem_stats(_stats)
|
send_modem_stats(_stats)
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -8,7 +8,7 @@
|
||||||
<link href="{{ url_for('static', filename='css/wenet.css') }}" rel="stylesheet">
|
<link href="{{ url_for('static', filename='css/wenet.css') }}" rel="stylesheet">
|
||||||
<link href="{{ url_for('static', filename='css/c3.min.css') }}" rel="stylesheet">
|
<link href="{{ url_for('static', filename='css/c3.min.css') }}" rel="stylesheet">
|
||||||
<script src="{{ url_for('static', filename='js/jquery-3.3.1.min.js')}}"></script>
|
<script src="{{ url_for('static', filename='js/jquery-3.3.1.min.js')}}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/socket.io-4.1.2.min.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/socket.io-4.5.4.min.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/c3.min.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/c3.min.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/d3.min.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/d3.min.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/fft_plot.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/fft_plot.js') }}"></script>
|
||||||
|
@ -28,6 +28,10 @@
|
||||||
|
|
||||||
// Handle an image update.
|
// Handle an image update.
|
||||||
socket.on('image_update', function(msg) {
|
socket.on('image_update', function(msg) {
|
||||||
|
if(document.visibilityState == "hidden"){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var myImageElement = document.getElementById('wenet_image');
|
var myImageElement = document.getElementById('wenet_image');
|
||||||
myImageElement.src = 'latest.jpg?rand=' + Math.random();
|
myImageElement.src = 'latest.jpg?rand=' + Math.random();
|
||||||
|
|
||||||
|
@ -43,12 +47,22 @@
|
||||||
|
|
||||||
|
|
||||||
socket.on('modem_stats', function(msg) {
|
socket.on('modem_stats', function(msg) {
|
||||||
|
if(document.visibilityState == "hidden"){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var snr = msg.snr.toFixed(1);
|
var snr = msg.snr.toFixed(1);
|
||||||
var ppm = msg.ppm.toFixed(1);
|
var ppm = msg.ppm.toFixed(1);
|
||||||
|
var freq = (msg.fcentre/1e6).toFixed(3);
|
||||||
|
|
||||||
var _new_desc = "SNR: " + snr + " dB"
|
var _new_desc = "SNR: " + snr + " dB";
|
||||||
$('#snr-data').html(_new_desc);
|
$('#snr-data').html(_new_desc);
|
||||||
|
var _new_freq = freq + " MHz";
|
||||||
|
$('#freq-data').html(_new_freq);
|
||||||
|
|
||||||
|
var _new_time = msg.time;
|
||||||
|
$('#time-data').html(_new_time);
|
||||||
|
|
||||||
|
|
||||||
// Update the Spectra data.
|
// Update the Spectra data.
|
||||||
scan_chart_spectra.columns[0] = ['x_spectra'].concat(msg.fft_freq);
|
scan_chart_spectra.columns[0] = ['x_spectra'].concat(msg.fft_freq);
|
||||||
|
@ -132,7 +146,7 @@
|
||||||
|
|
||||||
socket.on('image_telem_update', function(msg) {
|
socket.on('image_telem_update', function(msg) {
|
||||||
|
|
||||||
console.log(msg);
|
//console.log(msg);
|
||||||
// {
|
// {
|
||||||
// "week": 2240,
|
// "week": 2240,
|
||||||
// "iTOW": 8220,
|
// "iTOW": 8220,
|
||||||
|
@ -216,9 +230,15 @@
|
||||||
<body>
|
<body>
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-10">
|
<div class="col-3">
|
||||||
<h3 class="masthead-brand">Wenet Dashboard</h3>
|
<h3 class="masthead-brand">Wenet Dashboard</h3>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-5">
|
||||||
|
<h4 class="snr-display" id="time-data"></h4>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<h4 class="snr-display" id="freq-data"></h4>
|
||||||
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<h4 class="snr-display" id="snr-data">SNR: 0 dB</h4>
|
<h4 class="snr-display" id="snr-data">SNR: 0 dB</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
Ładowanie…
Reference in New Issue