181 lines
14 KiB
Plaintext
181 lines
14 KiB
Plaintext
<!DOCTYPE HTML>
|
|
<!--
|
|
|
|
This file is part of OpenWebRX,
|
|
an open-source SDR receiver software with a web UI.
|
|
Copyright (c) 2013-2015 by Andras Retzler <randras@sdr.hu>
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as
|
|
published by the Free Software Foundation, either version 3 of the
|
|
License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
-->
|
|
<html>
|
|
<head>
|
|
<title>OpenWebRX | Open Source SDR Web App for Everyone!</title>
|
|
<script type="text/javascript">
|
|
//Global variables
|
|
var client_id="%[CLIENT_ID]";
|
|
var ws_url="%[WS_URL]";
|
|
var rx_photo_height=%[RX_PHOTO_HEIGHT];
|
|
var audio_buffering_fill_to=%[AUDIO_BUFSIZE];
|
|
var starting_mod="%[START_MOD]";
|
|
var starting_offset_frequency = %[START_OFFSET_FREQ];
|
|
var waterfall_colors=%[WATERFALL_COLORS];
|
|
var waterfall_min_level_default=%[WATERFALL_MIN_LEVEL];
|
|
var waterfall_max_level_default=%[WATERFALL_MAX_LEVEL];
|
|
var waterfall_auto_level_margin=%[WATERFALL_AUTO_LEVEL_MARGIN];
|
|
var server_enable_digimodes=%[DIGIMODES_ENABLE];
|
|
var mathbox_waterfall_frequency_resolution=%[MATHBOX_WATERFALL_FRES];
|
|
var mathbox_waterfall_history_length=%[MATHBOX_WATERFALL_THIST];
|
|
var mathbox_waterfall_colors=%[MATHBOX_WATERFALL_COLORS];
|
|
</script>
|
|
<script src="sdr.js"></script>
|
|
<script src="mathbox-bundle.min.js"></script>
|
|
<script src="openwebrx.js"></script>
|
|
<script src="jquery-3.2.1.min.js"></script>
|
|
<script src="jquery.nanoscroller.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="nanoscroller.css" />
|
|
<link rel="stylesheet" type="text/css" href="openwebrx.css" />
|
|
<meta charset="utf-8">
|
|
</head>
|
|
<body onload="openwebrx_init();">
|
|
<div id="webrx-page-container">
|
|
<div id="webrx-top-container">
|
|
<div id="webrx-top-photo-clip">
|
|
<img src="gfx/openwebrx-top-photo.jpg" id="webrx-top-photo"/>
|
|
<div id="webrx-rx-photo-title">%[RX_PHOTO_TITLE]</div>
|
|
<div id="webrx-rx-photo-desc">%[RX_PHOTO_DESC]</div>
|
|
</div>
|
|
<div id="webrx-top-bar-background" class="webrx-top-bar-parts"></div>
|
|
<div id="webrx-top-bar" class="webrx-top-bar-parts">
|
|
<a href="https://sdr.hu/openwebrx" target="_blank"><img src="gfx/openwebrx-top-logo.png" id="webrx-top-logo" /></a>
|
|
<a href="http://ha5kfu.sch.bme.hu/" target="_blank"><img src="gfx/openwebrx-ha5kfu-top-logo.png" id="webrx-ha5kfu-top-logo" /></a>
|
|
<img id="webrx-rx-avatar-background" src="gfx/openwebrx-avatar-background.png" onclick="toggle_rx_photo();"/>
|
|
<img id="webrx-rx-avatar" src="gfx/openwebrx-avatar.png" onclick="toggle_rx_photo();"/>
|
|
<div id="webrx-rx-title" onclick="toggle_rx_photo();">%[RX_TITLE]</div>
|
|
<div id="webrx-rx-desc" onclick="toggle_rx_photo();">%[RX_LOC] | Loc: %[RX_QRA], ASL: %[RX_ASL] m, <a href="https://www.google.hu/maps/place/%[RX_GPS]" target="_blank" onclick="dont_toggle_rx_photo();">[maps]</a></div>
|
|
<div id="openwebrx-rx-details-arrow">
|
|
<a id="openwebrx-rx-details-arrow-up" onclick="toggle_rx_photo();"><img src="gfx/openwebrx-rx-details-arrow-up.png" /></a>
|
|
<a id="openwebrx-rx-details-arrow-down" onclick="toggle_rx_photo();"><img src="gfx/openwebrx-rx-details-arrow.png" /></a>
|
|
</div>
|
|
<section id="openwebrx-main-buttons">
|
|
<ul>
|
|
<li onmouseup="toggle_panel('openwebrx-panel-status');"><img src="gfx/openwebrx-panel-status.png" /><br/>Status</li>
|
|
<li onmouseup="toggle_panel('openwebrx-panel-log');"><img src="gfx/openwebrx-panel-log.png" /><br/>Log</li>
|
|
<li onmouseup="toggle_panel('openwebrx-panel-receiver');"><img src="gfx/openwebrx-panel-receiver.png" /><br/>Receiver</li>
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
<div id="webrx-main-container">
|
|
<div id="openwebrx-scale-container">
|
|
<canvas id="openwebrx-scale-canvas" width="0" height="0"></canvas>
|
|
</div>
|
|
<div id="openwebrx-mathbox-container"> </div>
|
|
<div id="webrx-canvas-container">
|
|
<div id="openwebrx-phantom-canvas"></div>
|
|
<!-- add canvas here by javascript -->
|
|
</div>
|
|
<div id="openwebrx-panels-container">
|
|
<div class="openwebrx-panel" id="openwebrx-panel-receiver" data-panel-name="client-params" data-panel-pos="right" data-panel-order="0" data-panel-size="259,115">
|
|
<div id="webrx-actual-freq">---.--- MHz</div>
|
|
<div id="webrx-mouse-freq">---.--- MHz</div>
|
|
<div class="openwebrx-panel-line">
|
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-nfm"
|
|
onclick="demodulator_analog_replace('nfm');">FM</div>
|
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-am"
|
|
onclick="demodulator_analog_replace('am');">AM</div>
|
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-lsb"
|
|
onclick="demodulator_analog_replace('lsb');">LSB</div>
|
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-usb"
|
|
onclick="demodulator_analog_replace('usb');">USB</div>
|
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-cw"
|
|
onclick="demodulator_analog_replace('cw');">CW</div>
|
|
</div>
|
|
<div class="openwebrx-panel-line">
|
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-dig" onclick="demodulator_digital_replace_last();">DIG</div>
|
|
<select id="openwebrx-secondary-demod-listbox" onchange="secondary_demod_listbox_changed();">
|
|
<option value="none"></option>
|
|
<option value="bpsk31">BPSK31</option>
|
|
</select>
|
|
</div>
|
|
<div class="openwebrx-panel-line">
|
|
<div title="Mute on/off" id="openwebrx-mute-off" class="openwebrx-button" onclick="toggleMute();"><img src="gfx/openwebrx-speaker.png" class="openwebrx-sliderbtn-img" id="openwebrx-mute-img"></div>
|
|
<input title="Volume" id="openwebrx-panel-volume" class="openwebrx-panel-slider" type="range" min="0" max="150" value="50" step="1" onchange="updateVolume()" oninput="updateVolume()">
|
|
<div title="Auto-adjust waterfall colors" id="openwebrx-waterfall-colors-auto" class="openwebrx-button" onclick="waterfall_measure_minmax_now=true;"><img src="gfx/openwebrx-waterfall-auto.png" class="openwebrx-sliderbtn-img"></div>
|
|
<input title="Waterfall minimum level" id="openwebrx-waterfall-color-min" class="openwebrx-panel-slider" type="range" min="-200" max="100" value="50" step="1" onchange="updateWaterfallColors(0);" oninput="updateVolume()">
|
|
</div>
|
|
<div class="openwebrx-panel-line">
|
|
<div title="Auto-set squelch level" id="openwebrx-squelch-default" class="openwebrx-button" onclick="setSquelchToAuto()"><img src="gfx/openwebrx-squelch-button.png" class="openwebrx-sliderbtn-img"></div>
|
|
<input title="Squelch" id="openwebrx-panel-squelch" class="openwebrx-panel-slider" type="range" min="-150" max="0" value="-150" step="1" onchange="updateSquelch()" oninput="updateSquelch()">
|
|
<div title="Set waterfall colors to default" id="openwebrx-waterfall-colors-default" class="openwebrx-button" onclick="waterfallColorsDefault()"><img src="gfx/openwebrx-waterfall-default.png" class="openwebrx-sliderbtn-img"></div>
|
|
<input title="Waterfall maximum level" id="openwebrx-waterfall-color-max" class="openwebrx-panel-slider" type="range" min="-200" max="100" value="50" step="1" onchange="updateWaterfallColors(1);" oninput="updateVolume()">
|
|
</div>
|
|
<div class="openwebrx-panel-line">
|
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomInOneStep();" title="Zoom in one step"> <img src="gfx/openwebrx-zoom-in.png" /></div>
|
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomOutOneStep();" title="Zoom out one step"> <img src="gfx/openwebrx-zoom-out.png" /></div>
|
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomInTotal();" title="Zoom in totally"><img src="gfx/openwebrx-zoom-in-total.png" /></div>
|
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomOutTotal();" title="Zoom out totally"><img src="gfx/openwebrx-zoom-out-total.png" /></div>
|
|
<div class="openwebrx-button openwebrx-square-button" onclick="mathbox_toggle();" title="Toggle 3D view"><img src="gfx/openwebrx-3d-spectrum.png" /></div>
|
|
<div id="openwebrx-smeter-db">0 dB</div>
|
|
</div>
|
|
<div class="openwebrx-panel-line">
|
|
<div id="openwebrx-smeter-outer">
|
|
<div id="openwebrx-smeter-bar"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="openwebrx-panel" id="openwebrx-panel-log" data-panel-name="debug" data-panel-pos="left" data-panel-order="1" data-panel-size="619,137">
|
|
<div class="openwebrx-panel-inner nano" id="openwebrx-log-scroll">
|
|
<div class="nano-content">
|
|
<div id="openwebrx-client-log-title">OpenWebRX client log</strong><span id="openwebrx-problems"></span></div>
|
|
<span id="openwebrx-client-1">Author: </span><a href="http://blog.sdr.hu/about" target="_blank">András Retzler, HA7ILM</a><br />You can <a href="http://blog.sdr.hu/support" target="_blank">donate</a> to say thanks for former development (this is the final version).<br/>
|
|
<div id="openwebrx-debugdiv"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="openwebrx-panel" id="openwebrx-panel-status" data-panel-name="status" data-panel-pos="left" data-panel-order="0" data-panel-size="615,50" data-panel-transparent="true">
|
|
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-buffer"> <span class="openwebrx-progressbar-text">Audio buffer [0 ms]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-output"> <span class="openwebrx-progressbar-text">Audio output [0 sps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-speed"> <span class="openwebrx-progressbar-text">Audio stream [0 kbps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
<div class="openwebrx-progressbar" id="openwebrx-bar-network-speed"> <span class="openwebrx-progressbar-text">Network usage [0 kbps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
<div class="openwebrx-progressbar" id="openwebrx-bar-server-cpu"> <span class="openwebrx-progressbar-text">Server CPU [0%]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
<div class="openwebrx-progressbar" id="openwebrx-bar-clients"> <span class="openwebrx-progressbar-text">Clients [1]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
</div>
|
|
<div class="openwebrx-panel" data-panel-name="client-under-devel" data-panel-pos="none" data-panel-order="0" data-panel-size="245,55" style="background-color: Red;">
|
|
<span style="font-size: 15pt; font-weight: bold;">Under construction</span>
|
|
<br />We're working on the code right now, so the application might fail.
|
|
</div>
|
|
<div class="openwebrx-panel" id="openwebrx-panel-digimodes" data-panel-name="digimodes" data-panel-pos="left" data-panel-order="2" data-panel-size="619,210">
|
|
<div id="openwebrx-digimode-canvas-container">
|
|
<div id="openwebrx-digimode-select-channel"></div>
|
|
</div>
|
|
<div id="openwebrx-digimode-content-container">
|
|
<div class="gradient"></div>
|
|
<div id="openwebrx-digimode-content">
|
|
<span id="openwebrx-cursor-blink"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="openwebrx-big-grey" onclick="iosPlayButtonClick();">
|
|
<div id="openwebrx-play-button-text">
|
|
<img id="openwebrx-play-button" src="gfx/openwebrx-play-button.png" />
|
|
<br /><br />Start OpenWebRX
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|