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"> | 
