aboutsummaryrefslogtreecommitdiffstats
path: root/gui/static/js
diff options
context:
space:
mode:
Diffstat (limited to 'gui/static/js')
-rw-r--r--gui/static/js/odr-modulator.js52
-rw-r--r--gui/static/js/odr-predistortion.js40
-rw-r--r--gui/static/js/odr-rcvalues.js31
-rw-r--r--gui/static/js/odr.js109
4 files changed, 126 insertions, 106 deletions
diff --git a/gui/static/js/odr-modulator.js b/gui/static/js/odr-modulator.js
index 273d9f7..8538645 100644
--- a/gui/static/js/odr-modulator.js
+++ b/gui/static/js/odr-modulator.js
@@ -18,48 +18,6 @@
// You should have received a copy of the GNU General Public License
// along with ODR-DabMod. If not, see <http://www.gnu.org/licenses/>.
-function set_rc(controllable, param, value, callback) {
- $.ajax({
- type: "POST",
- url: "/api/parameter",
- contentType: 'application/json',
- dataType: 'json',
- data: JSON.stringify({
- controllable: controllable,
- param: param,
- value: value
- }),
-
- error: function(data) {
- $.gritter.add({
- title: 'RC set',
- text: "ERROR",
- image: '/fonts/warning.png',
- sticky: true,
- });
- },
- success: callback
- });
-}
-
-function getRc(callback) {
- $.ajax({
- type: "GET",
- url: "/api/rc_parameters",
- contentType: 'application/json',
- dataType: 'json',
-
- error: function(data) {
- $.gritter.add({
- title: 'RC info',
- text: "ERROR: ",
- image: '/fonts/warning.png',
- sticky: true,
- });
- },
- success: callback
- });
-}
function requestAllParams(callback) {
getRc(function(data) {
@@ -86,21 +44,21 @@ $(function(){
requestAllParams();
$('#setdigitalgain').click(function() {
- set_rc("gain", "digital", $('#digitalgain').val(),
+ setRc("gain", "digital", $('#digitalgain').val(),
requestAllParams);
});
$('#setwindowlength').click(function() {
- set_rc("guardinterval", "windowlen", $('#windowlength').val(),
+ setRc("guardinterval", "windowlen", $('#windowlength').val(),
requestAllParams);
});
$('#setclip').click(function() {
- set_rc("ofdm", "clip", $('#cfrclip').val(),
+ setRc("ofdm", "clip", $('#cfrclip').val(),
requestAllParams);
- set_rc("ofdm", "errorclip", $('#cfrerrorclip').val(),
+ setRc("ofdm", "errorclip", $('#cfrerrorclip').val(),
requestAllParams);
- set_rc("ofdm", "cfr",
+ setRc("ofdm", "cfr",
($('#cfrenable').prop("checked") ? "1" : "0"),
requestAllParams);
});
diff --git a/gui/static/js/odr-predistortion.js b/gui/static/js/odr-predistortion.js
index dce3922..13dac7a 100644
--- a/gui/static/js/odr-predistortion.js
+++ b/gui/static/js/odr-predistortion.js
@@ -20,46 +20,14 @@
$(function(){
$('#capturebutton').click(function() {
- $.ajax({
- type: "POST",
- url: "/api/trigger_capture",
- contentType: 'text/plain',
- dataType: '',
- data: '',
-
- error: function(data) {
- $.gritter.add({
- title: 'Capture trigger',
- text: "ERROR",
- image: '/fonts/warning.png',
- sticky: true,
- });
- },
- success: function(data) {
- $('#capturestatus').val(data);
- },
+ doApiRequestPOST("/api/trigger_capture", {}, function(data) {
+ $('#capturestatus').val(data);
});
});
$('#dpdstatusbutton').click(function() {
- $.ajax({
- type: "GET",
- url: "/api/dpd_status",
- contentType: 'application/json',
- dataType: '',
- data: '',
-
- error: function(data) {
- $.gritter.add({
- title: 'DPD Status Update',
- text: "ERROR",
- image: '/fonts/warning.png',
- sticky: true,
- });
- },
- success: function(data) {
- $('#dpdstatus').val(data);
- },
+ doApiRequestGET("/api/dpd_status", function(data) {
+ $('#dpdstatus').val(data);
});
});
});
diff --git a/gui/static/js/odr-rcvalues.js b/gui/static/js/odr-rcvalues.js
index 6d53e8d..f40279d 100644
--- a/gui/static/js/odr-rcvalues.js
+++ b/gui/static/js/odr-rcvalues.js
@@ -21,30 +21,15 @@
function requestStatus(callback) {
$('#rctable > tbody').empty();
- $.ajax({
- type: "GET",
- url: "/api/rc_parameters",
- contentType: 'application/json',
- dataType: 'json',
-
- error: function(data) {
- $.gritter.add({
- title: 'RC info',
- text: "ERROR: ",
- image: '/fonts/warning.png',
- sticky: true,
- });
- },
- success: function(data) {
- $.each( data, function( key1, controllable ) {
- $.each( controllable, function( key2, param ) {
- $('#rctable > tbody:last').append(
- '<tr><td>'+key1+'.'+key2+'</td>'+
- '<td>'+param['value']+'</td>'+
- '<td>'+param['help']+'</td></tr>');
- });
+ doApiRequestGET("/api/rc_parameters", function(data) {
+ $.each( data, function( key1, controllable ) {
+ $.each( controllable, function( key2, param ) {
+ $('#rctable > tbody:last').append(
+ '<tr><td>'+key1+'.'+key2+'</td>'+
+ '<td>'+param['value']+'</td>'+
+ '<td>'+param['help']+'</td></tr>');
});
- }
+ });
});
}
diff --git a/gui/static/js/odr.js b/gui/static/js/odr.js
new file mode 100644
index 0000000..ecb02c5
--- /dev/null
+++ b/gui/static/js/odr.js
@@ -0,0 +1,109 @@
+// Copyright (C) 2018
+// Matthias P. Braendli, matthias.braendli@mpb.li
+//
+// http://www.opendigitalradio.org
+//
+// This file is part of ODR-DabMod.
+//
+// ODR-DabMod is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// ODR-DabMod 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 General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with ODR-DabMod. If not, see <http://www.gnu.org/licenses/>.
+
+
+function doApiRequestGET(uri, callback) {
+ $.ajax({
+ type: "GET",
+ url: uri,
+ contentType: 'application/json',
+ dataType: 'json',
+
+ error: function(data) {
+ if (data.status == 500) {
+ var errorWindow = window.open("", "_self");
+ errorWindow.document.write(data.responseText);
+ }
+ else {
+ $.gritter.add({ title: 'API',
+ text: "AJAX failed: " + data.statusText,
+ image: '/fonts/warning.png',
+ sticky: true,
+ });
+ }
+ },
+ success: function(data) {
+ if (data.status == 'ok') {
+ callback(data.data);
+ }
+ else {
+ $.gritter.add({
+ title: 'API',
+ text: "API ERROR: " + data.reason,
+ image: '/fonts/warning.png',
+ sticky: true,
+ });
+ }
+ }
+ });
+}
+
+function doApiRequestPOST(uri, data, callback) {
+ $.ajax({
+ type: "POST",
+ url: uri,
+ contentType: 'application/json',
+ dataType: 'json',
+ data: JSON.stringify(data),
+
+ error: function(data) {
+ if (data.status == 500) {
+ var errorWindow = window.open("", "_self");
+ errorWindow.document.write(data.responseText);
+ }
+ else {
+ $.gritter.add({
+ title: 'API',
+ text: "AJAX failed: " + data.statusText,
+ image: '/fonts/warning.png',
+ sticky: true,
+ });
+ }
+ },
+
+ success: function(data_in) {
+ if (data_in.status == 'ok') {
+ callback(data_in.data);
+ }
+ else {
+ $.gritter.add({
+ title: 'API',
+ text: "API ERROR: " + data_in.reason,
+ image: '/fonts/warning.png',
+ sticky: true,
+ });
+ }
+ }
+ });
+}
+
+function setRc(controllable, param, value, callback) {
+ var data = {
+ controllable: controllable,
+ param: param,
+ value: value
+ };
+ doApiRequestPOST("/api/parameter/", data, callback);
+}
+
+function getRc(callback) {
+ doApiRequestGET("/api/rc_parameters", callback);
+}
+