diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-12-05 12:12:45 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-12-05 12:12:45 +0100 |
commit | e749bd08958a462f57b8492721a04128468656d0 (patch) | |
tree | 1c3c7801ccc8985f7f4393daf8d275c5eed4a717 /python/gui | |
parent | 31b65e41043900c0cadd80961f4b22cdfc171e7d (diff) | |
download | dabmod-e749bd08958a462f57b8492721a04128468656d0.tar.gz dabmod-e749bd08958a462f57b8492721a04128468656d0.tar.bz2 dabmod-e749bd08958a462f57b8492721a04128468656d0.zip |
Get calibration to work with GUI
Diffstat (limited to 'python/gui')
-rwxr-xr-x | python/gui/api.py | 3 | ||||
-rw-r--r-- | python/gui/static/js/odr-predistortion.js | 30 | ||||
-rw-r--r-- | python/gui/static/js/odr.js | 48 | ||||
-rw-r--r-- | python/gui/templates/predistortion.html | 19 |
4 files changed, 43 insertions, 57 deletions
diff --git a/python/gui/api.py b/python/gui/api.py index 0d24bac..bff224e 100755 --- a/python/gui/api.py +++ b/python/gui/api.py @@ -134,5 +134,6 @@ class API: if cherrypy.request.method == 'POST': return self._wrap_dpd("calibrate") else: - return self._wrap_dpd("get_calibration_result") + cherrypy.response.status = 400 + return send_error("POST only") diff --git a/python/gui/static/js/odr-predistortion.js b/python/gui/static/js/odr-predistortion.js index b2f1d22..04d2773 100644 --- a/python/gui/static/js/odr-predistortion.js +++ b/python/gui/static/js/odr-predistortion.js @@ -20,7 +20,15 @@ function resultrefresh() { var jqxhr = doApiRequestGET("/api/dpd_results", function(data) { - $('#dpdresults').text(data['summary']); + var summary = ""; + console.log(data); + for (k in data['summary']) { + summary += data['summary'][k]; + summary += "<br />"; + } + $('#dpdresults').html(summary); + + $('#dpdstatus').text(data['state']); }); jqxhr.always(function() { @@ -30,6 +38,13 @@ function resultrefresh() { $(function(){ setTimeout(resultrefresh, 2000); + + $('#calibratebtn').click(function() { + doApiRequestPOST("/api/dpd_calibrate", {}, function(data) { + console.log("calibrate succeeded: " + JSON.stringify(data)); + }); + }); + }); /* @@ -47,7 +62,6 @@ function calibraterefresh() { } $(function(){ - $('#calibraterefreshbtn').click(calibraterefresh); $('#refreshframesbtn').click(function() { var d = new Date(); var n = d.getTime(); @@ -55,18 +69,6 @@ $(function(){ $('#rxframeimg').src = "dpd/rxframe.png?cachebreak=" + n; }); - $('#calibratebtn').click(function() { - doApiRequestPOST("/api/calibrate", {}, function(data) { - console.log("calibrate succeeded: " + JSON.stringify(data)); - - $('#calibrationresults').text("Processing..."); - - setTimeout(function() { - calibraterefresh(); - }, 3000); - }); - }); - $('#capturebutton').click(function() { doApiRequestPOST("/api/trigger_capture", {}, function(data) { console.log("trigger_capture succeeded: " + JSON.stringify(data)); diff --git a/python/gui/static/js/odr.js b/python/gui/static/js/odr.js index 0bf7729..50c321c 100644 --- a/python/gui/static/js/odr.js +++ b/python/gui/static/js/odr.js @@ -27,19 +27,14 @@ function doApiRequestGET(uri, callback) { dataType: 'json', error: function(data) { - if (data.status == 500) { - var errorWindow = window.open("", "_self"); - errorWindow.document.write(data.responseText); - } - else { - console.log(data.responseText); + console.log(data.responseText); - $.gritter.add({ title: 'API', - text: "AJAX failed: " + data.statusText, - image: '/fonts/warning.png', - sticky: true, - }); - } + $.gritter.add({ title: 'API', + text: "AJAX failed: " + data.statusText, + image: '/fonts/warning.png', + sticky: false, + time: 4000, + }); }, success: function(data) { if (data.status == 'ok') { @@ -50,7 +45,8 @@ function doApiRequestGET(uri, callback) { title: 'API', text: "API ERROR: " + data.reason, image: '/fonts/warning.png', - sticky: true, + sticky: false, + time: 4000, }); } } @@ -66,22 +62,15 @@ function doApiRequestPOST(uri, data, callback) { data: JSON.stringify(data), error: function(data) { - if (data.status == 500) { - var windowObjectReference; - var winFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; - var errorWindow = window.open("", "Error 500", winFeatures); - errorWindow.document.write(data.responseText); - } - else { - console.log(data.responseText); + console.log(data.responseText); - $.gritter.add({ - title: 'API', - text: "AJAX failed: " + data.statusText, - image: '/fonts/warning.png', - sticky: true, - }); - } + $.gritter.add({ + title: 'API', + text: "AJAX failed: " + data.statusText, + image: '/fonts/warning.png', + sticky: false, + time: 4000, + }); }, success: function(data_in) { @@ -93,7 +82,8 @@ function doApiRequestPOST(uri, data, callback) { title: 'API', text: "API ERROR: " + data_in.reason, image: '/fonts/warning.png', - sticky: true, + sticky: false, + time: 4000, }); } } diff --git a/python/gui/templates/predistortion.html b/python/gui/templates/predistortion.html index ac68537..cc5ecb0 100644 --- a/python/gui/templates/predistortion.html +++ b/python/gui/templates/predistortion.html @@ -29,27 +29,20 @@ along with ODR-DabMod. If not, see <http://www.gnu.org/licenses/>. <div class="container-fluid"> <div class="panel-group"> <div class="panel panel-default"> - <div class="panel-heading">Status</div> + <div class="panel-heading">Status and calibration</div> <div class="panel-body"> - <div>Current DPDCE status: - <div class="well well-sm" id="dpdresults">N/A<div> + <div>Current DPDCE status: <span id="dpdstatus" style="font-weight:bold;">N/A</span> + <div class="well well-sm" id="dpdresults">N/A</div> </div> - </div> - </div> - <!-- - <div class="panel panel-default"> - <div class="panel-heading">Calibration</div> - <div class="panel-body"> + <div>Calibration needs to be done once before the PA model can be trained. Every time calibration is changed, the predistortion parameters are invalidated!</div> - <button type="button" class="btn btn-sm btn-info" id="calibratebtn"> + <button type="button" class="btn btn-sm btn-warning" id="calibratebtn"> Calibrate</button> - <button type="button" class="btn btn-sm btn-info" id="calibraterefreshbtn"> - Refresh results</button> - <div>Calibration results:<span id="calibrationresults">N/A<span></div> </div> </div> + <!-- <div class="panel panel-default"> <div class="panel-heading">Capture TX and RX frames</div> <div class="panel-body"> |