2014-11-29 00:07:10 +00:00
<!DOCTYPE HTML>
<!--
2018-09-25 12:56:47 +00:00
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 >
2020-01-09 21:24:39 +00:00
Copyright (c) 2019-2020 by Jakob Ketterl < dd5jfk @ darc . de >
2014-11-29 00:07:10 +00:00
2015-08-17 18:32:58 +00:00
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.
2014-11-29 00:07:10 +00:00
2015-08-17 18:32:58 +00:00
This program is distributed in the hope that it will be useful,
2014-11-29 00:07:10 +00:00
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2015-08-17 18:32:58 +00:00
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 / > .
2014-11-29 00:07:10 +00:00
-->
< html >
2018-09-25 12:56:47 +00:00
< head >
< title > OpenWebRX | Open Source SDR Web App for Everyone!< / title >
2019-12-03 23:47:50 +00:00
< link rel = "shortcut icon" type = "image/x-icon" href = "static/favicon.ico" / >
2020-05-02 11:35:42 +00:00
< script src = "compiled/receiver.js" > < / script >
2019-07-08 19:01:30 +00:00
< link rel = "stylesheet" type = "text/css" href = "static/lib/nanoscroller.css" / >
2019-07-11 11:44:04 +00:00
< link rel = "stylesheet" type = "text/css" href = "static/css/openwebrx.css" / >
2018-09-25 12:56:47 +00:00
< meta charset = "utf-8" >
< / head >
< body onload = "openwebrx_init();" >
2014-11-29 00:07:10 +00:00
< div id = "webrx-page-container" >
2019-07-11 11:40:12 +00:00
${header}
2019-10-26 19:32:00 +00:00
< div id = "openwebrx-frequency-container" >
< div id = "openwebrx-bookmarks-container" > < / div >
< div id = "openwebrx-scale-container" >
< canvas id = "openwebrx-scale-canvas" width = "0" height = "0" > < / canvas >
2019-09-27 23:57:34 +00:00
< / div >
2019-10-26 19:32:00 +00:00
< / div >
2019-11-01 18:48:08 +00:00
< div id = "webrx-canvas-background" >
< div id = "webrx-canvas-container" >
<!-- add canvas here by javascript -->
< / div >
2019-10-26 19:32:00 +00:00
< / div >
< div id = "openwebrx-panels-container" >
< div id = "openwebrx-panels-container-left" >
2020-10-11 21:16:59 +00:00
< div class = "openwebrx-panel" data-panel-name = "client-under-devel" style = "width: 245px; 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 >
2019-10-26 19:32:00 +00:00
< div class = "openwebrx-panel" id = "openwebrx-panel-digimodes" style = "display: none; width: 619px;" data-panel-name = "digimodes" >
< 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 >
2020-12-09 18:26:34 +00:00
< div class = "openwebrx-panel openwebrx-message-panel" id = "openwebrx-panel-wsjt-message" style = "display: none; width: 619px;" data-panel-name = "wsjt-message" > < / div >
2020-04-19 20:10:32 +00:00
< table class = "openwebrx-panel openwebrx-message-panel" id = "openwebrx-panel-js8-message" style = "display:none; width: 619px;" data-panel-name = "js8-message" >
< thead > < tr >
< th > UTC< / th >
< th class = "decimal freq" > Freq< / th >
< th class = "message" > Message< / th >
< / tr > < / thead >
< tbody > < / tbody >
< / table >
< table class = "openwebrx-panel openwebrx-message-panel" id = "openwebrx-panel-packet-message" style = "display: none; width: 619px;" data-panel-name = "aprs-message" >
2019-10-26 19:32:00 +00:00
< thead > < tr >
< th > UTC< / th >
< th class = "callsign" > Callsign< / th >
< th class = "coord" > Coord< / th >
< th class = "message" > Comment< / th >
< / tr > < / thead >
< tbody > < / tbody >
< / table >
2020-04-19 20:10:32 +00:00
< table class = "openwebrx-panel openwebrx-message-panel" id = "openwebrx-panel-pocsag-message" style = "display: none; width: 619px;" data-panel-name = "pocsag-message" >
2020-01-09 14:12:51 +00:00
< thead > < tr >
< th class = "address" > Address< / th >
< th class = "message" > Message< / th >
< / tr > < / thead >
< tbody > < / tbody >
< / table >
2019-10-27 12:18:00 +00:00
< div class = "openwebrx-panel openwebrx-meta-panel" id = "openwebrx-panel-metadata-ysf" style = "display: none;" data-panel-name = "metadata-ysf" >
2019-10-26 19:32:00 +00:00
< div class = "openwebrx-meta-frame" >
< div class = "openwebrx-meta-slot" >
< div class = "openwebrx-ysf-mode openwebrx-meta-autoclear" > < / div >
< div class = "openwebrx-meta-user-image" > < / div >
< div class = "openwebrx-ysf-source openwebrx-meta-autoclear" > < / div >
< div class = "openwebrx-ysf-up openwebrx-meta-autoclear" > < / div >
< div class = "openwebrx-ysf-down openwebrx-meta-autoclear" > < / div >
< / div >
< / div >
< / div >
2019-10-27 12:18:00 +00:00
< div class = "openwebrx-panel openwebrx-meta-panel" id = "openwebrx-panel-metadata-dmr" style = "display: none;" data-panel-name = "metadata-dmr" >
2019-10-26 19:32:00 +00:00
< div class = "openwebrx-meta-frame" >
< div class = "openwebrx-meta-slot openwebrx-dmr-timeslot-panel" >
< div class = "openwebrx-dmr-slot" > Timeslot 1< / div >
< div class = "openwebrx-meta-user-image" > < / div >
< div class = "openwebrx-dmr-id openwebrx-meta-autoclear" > < / div >
< div class = "openwebrx-dmr-name openwebrx-meta-autoclear" > < / div >
< div class = "openwebrx-dmr-target openwebrx-meta-autoclear" > < / div >
< / div >
< div class = "openwebrx-meta-slot openwebrx-dmr-timeslot-panel" >
< div class = "openwebrx-dmr-slot" > Timeslot 2< / div >
< div class = "openwebrx-meta-user-image" > < / div >
< div class = "openwebrx-dmr-id openwebrx-meta-autoclear" > < / div >
< div class = "openwebrx-dmr-name openwebrx-meta-autoclear" > < / div >
< div class = "openwebrx-dmr-target openwebrx-meta-autoclear" > < / div >
< / div >
< / div >
< / div >
< div class = "openwebrx-panel" id = "openwebrx-panel-log" data-panel-name = "debug" style = "width: 619px;" >
< div class = "openwebrx-panel-inner nano" id = "openwebrx-log-scroll" >
< div class = "nano-content" >
2019-11-24 17:08:54 +00:00
< div id = "openwebrx-client-log-title" > OpenWebRX client log< / div >
2020-05-08 21:49:02 +00:00
< div >
Author contact: < a href = "http://www.justjakob.de/" target = "_blank" > Jakob Ketterl, DD5JFK< / a > |
< a href = "https://www.openwebrx.de" target = "_blank" > OpenWebRX homepage< / a >
< / div >
2020-03-15 22:39:38 +00:00
< div > Support and information: < a href = "https://groups.io/g/openwebrx" target = "_blank" > Groups.io Mailinglist< / a > < / div >
2019-10-26 19:32:00 +00:00
< div id = "openwebrx-debugdiv" > < / div >
< / div >
< / div >
< / div >
< div class = "openwebrx-panel" id = "openwebrx-panel-status" data-panel-name = "status" style = "width: 615px;" data-panel-transparent = "true" >
2020-05-08 19:35:45 +00:00
< div class = "openwebrx-progressbar" id = "openwebrx-bar-audio-buffer" data-type = "audiobuffer" > < / div >
< div class = "openwebrx-progressbar" id = "openwebrx-bar-audio-output" data-type = "audiooutput" > < / div >
< div class = "openwebrx-progressbar" id = "openwebrx-bar-audio-speed" data-type = "audiospeed" > < / div >
< div class = "openwebrx-progressbar" id = "openwebrx-bar-network-speed" data-type = "networkspeed" > < / div >
< div class = "openwebrx-progressbar" id = "openwebrx-bar-server-cpu" data-type = "cpu" > < / div >
< div class = "openwebrx-progressbar" id = "openwebrx-bar-clients" data-type = "clients" > < / div >
2019-10-26 19:32:00 +00:00
< / div >
2019-09-27 23:57:34 +00:00
< / div >
2019-10-26 19:32:00 +00:00
< div id = "openwebrx-panels-container-right" >
< div class = "openwebrx-panel" id = "openwebrx-panel-receiver" data-panel-name = "client-params" style = "width: 259px;" >
2019-09-28 14:50:21 +00:00
< div class = "openwebrx-panel-line frequencies-container" >
< div class = "frequencies" >
2020-05-01 22:05:20 +00:00
< div class = "webrx-actual-freq" > < / div >
< div class = "webrx-mouse-freq" > < / div >
2019-09-28 14:50:21 +00:00
< / div >
2019-10-24 18:06:24 +00:00
< div class = "openwebrx-button openwebrx-square-button openwebrx-bookmark-button" style = "display:none;" title = "Add bookmark..." >
2020-09-10 22:02:45 +00:00
< span class = "sprite sprite-bookmark" > < / span >
2019-09-28 14:50:21 +00:00
< / div >
< / div >
2019-09-27 23:57:34 +00:00
< div class = "openwebrx-panel-line" >
< select id = "openwebrx-sdr-profiles-listbox" onchange = "sdr_profile_changed();" >
< / select >
< / div >
2020-04-26 14:58:31 +00:00
< div class = "openwebrx-modes openwebrx-panel-line" > < / div >
2019-09-27 23:57:34 +00:00
< div class = "openwebrx-panel-line" >
2020-09-10 20:29:01 +00:00
< div title = "Mute on/off" id = "openwebrx-mute-off" class = "openwebrx-button" onclick = "toggleMute();" > < span class = "sprite sprite-speaker openwebrx-sliderbtn-img" > < / span > < / div >
2019-09-27 23:57:34 +00:00
< 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()" >
2020-09-12 20:06:12 +00:00
< div title = "Auto-adjust waterfall colors (right-click for continuous)" id = "openwebrx-waterfall-colors-auto" class = "openwebrx-button" > < span class = "sprite sprite-waterfall-auto openwebrx-sliderbtn-img" > < / span > < / div >
2019-09-27 23:57:34 +00:00
< 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" >
2020-11-12 17:00:24 +00:00
< div title = "Auto-set squelch level" class = "openwebrx-squelch-auto openwebrx-button" > < span class = "sprite sprite-squelch openwebrx-sliderbtn-img" > < / span > < / div >
2020-05-03 17:55:48 +00:00
< input title = "Squelch" class = "openwebrx-squelch-slider openwebrx-panel-slider" type = "range" min = "-150" max = "0" value = "-150" step = "1" >
2020-09-11 20:12:01 +00:00
< div title = "Set waterfall colors to default" id = "openwebrx-waterfall-colors-default" class = "openwebrx-button" onclick = "waterfallColorsDefault()" > < span class = "sprite sprite-waterfall-default openwebrx-sliderbtn-img" > < / span > < / div >
2019-09-27 23:57:34 +00:00
< 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()" >
2018-09-25 12:56:47 +00:00
< / div >
2019-09-27 23:57:34 +00:00
< div class = "openwebrx-panel-line" >
2020-09-11 20:12:01 +00:00
< div class = "openwebrx-button openwebrx-square-button" onclick = "zoomInOneStep();" title = "Zoom in one step" > < span class = "sprite sprite-zoom-in" > < / span > < / div >
< div class = "openwebrx-button openwebrx-square-button" onclick = "zoomOutOneStep();" title = "Zoom out one step" > < span class = "sprite sprite-zoom-out" > < / span > < / div >
< div class = "openwebrx-button openwebrx-square-button" onclick = "zoomInTotal();" title = "Zoom in totally" > < span class = "sprite sprite-zoom-in-total" > < / span > < / div >
< div class = "openwebrx-button openwebrx-square-button" onclick = "zoomOutTotal();" title = "Zoom out totally" > < span class = "sprite sprite-zoom-out-total" > < / span > < / div >
2019-09-27 23:57:34 +00:00
< div id = "openwebrx-smeter-db" > 0 dB< / div >
2018-09-25 12:56:47 +00:00
< / div >
2019-09-27 23:57:34 +00:00
< div class = "openwebrx-panel-line" >
< div id = "openwebrx-smeter-outer" >
< div id = "openwebrx-smeter-bar" > < / div >
2018-09-25 12:56:47 +00:00
< / div >
2019-09-27 23:57:34 +00:00
< / div >
< / div >
< / div >
2018-09-25 12:56:47 +00:00
< / div >
2014-11-29 00:07:10 +00:00
< / div >
2019-12-21 22:46:05 +00:00
< div id = "openwebrx-autoplay-overlay" class = "openwebrx-overlay" style = "display:none;" >
2019-11-01 15:58:36 +00:00
< div class = "overlay-content" >
< img id = "openwebrx-play-button" src = "static/gfx/openwebrx-play-button.png" / >
< div > Start OpenWebRX< / div >
2018-09-25 12:56:47 +00:00
< / div >
< / div >
2019-12-21 22:46:05 +00:00
< div id = "openwebrx-error-overlay" class = "openwebrx-overlay" style = "display:none;" >
< div class = "overlay-content" >
< div > This receiver is currently unavailable due to technical issues.< / div >
< div > Error Message:< / div >
< div class = "errormessage" > < / div >
< / div >
< / div >
2019-09-28 17:20:21 +00:00
< div id = "openwebrx-dialog-bookmark" class = "openwebrx-dialog" style = "display:none;" >
< form >
< div class = "form-field" >
< label for = "name" > Name:< / label >
< input type = "text" id = "name" name = "name" required = "required" >
< / div >
< div class = "form-field" >
< label for = "frequency" > Frequency:< / label >
2019-09-28 18:15:47 +00:00
< input type = "number" id = "frequency" name = "frequency" >
2019-09-28 17:20:21 +00:00
< / div >
< div class = "form-field" >
< label for = "modulation" > Modulation:< / label >
2020-05-03 21:56:22 +00:00
< select name = "modulation" id = "modulation" > < / select >
2019-09-28 17:20:21 +00:00
< / div >
2019-09-28 18:15:47 +00:00
< div class = "buttons" >
< div class = "openwebrx-button" data-action = "cancel" > Cancel< / div >
< div class = "openwebrx-button" data-action = "submit" > Ok< / div >
< / div >
< input type = "submit" style = "display:none;" >
2019-09-28 17:20:21 +00:00
< / form >
< / div >
2018-09-25 12:56:47 +00:00
< / body >
2014-11-29 00:07:10 +00:00
< / html >