diff --git a/css/style.css b/css/style.css index c62d7b18f2..4d7959320a 100644 --- a/css/style.css +++ b/css/style.css @@ -599,18 +599,6 @@ a:hover { border: 1px solid silver; text-align: right; } - .tab-receiver .info { - display: block; - float: right; - - width: 220px; - - margin-bottom: 20px; - - padding: 5px; - - border: 1px dotted silver; - } .tab-receiver .update { display: block; float: right; @@ -644,6 +632,28 @@ a:hover { width: 880px; height: 250px; } + .tab-receiver .throttle_curve { + float: right; + + margin-bottom: 20px; + margin-right: 10px; + + width: 220px; + height: 58px; + + border: 1px solid silver; + } + .tab-receiver .pitch_roll_curve { + float: right; + + margin-right: 10px; + + width: 220px; + height: 58px; + + border: 1px solid silver; + } + .tab-auxiliary_configuration { } diff --git a/js/main.js b/js/main.js index 41395a8cd6..6701d23239 100644 --- a/js/main.js +++ b/js/main.js @@ -80,5 +80,4 @@ $(document).ready(function() { }); // temporary - //$('#content').load("./tabs/sensors.html", tab_initialize_sensors); }); \ No newline at end of file diff --git a/tabs/receiver.html b/tabs/receiver.html index 69dfbd826e..dac8cb61ee 100644 --- a/tabs/receiver.html +++ b/tabs/receiver.html @@ -48,8 +48,8 @@ Throttle EXPO - - + + @@ -58,18 +58,18 @@ - - + +
Pitch & Roll Expo
Save -

- some info text goes here -

-

- some info text goes here -

+
+ +
+
+ +
diff --git a/tabs/receiver.js b/tabs/receiver.js index 2c03a2051d..06c6d80a77 100644 --- a/tabs/receiver.js +++ b/tabs/receiver.js @@ -56,6 +56,53 @@ function tab_initialize_receiver() { $('a.update').addClass('active'); }); + // curves + $('.tunings .throttle input').change(function() { + var mid = parseFloat($('.tunings .throttle input[name="mid"]').val()); + var expo = parseFloat($('.tunings .throttle input[name="expo"]').val()); + + var throttle_curve = document.getElementById("throttle_curve_c"); + var context = throttle_curve.getContext("2d"); + context.clearRect(0, 0, 220, 58); + + // math magic by englishman + var midx = 220 * mid; + var midxl = midx * .5; + var midxr = (((220 - midx) * .5) + midx); + var midy = 58 - (midx * (58 / 220)); + var midyl = 58 - ((58 - midy) * .5 *(expo + 1)); + var midyr = (midy / 2) * (expo + 1); + + context.beginPath(); + context.moveTo(0, 58); + context.quadraticCurveTo(midxl, midyl, midx, midy); + context.moveTo(midx, midy); + context.quadraticCurveTo(midxr, midyr, 220, 0); + + context.lineWidth = 2; + context.stroke(); + }); + $('.tunings .throttle input').trigger('change'); // initial software trigger + + $('.tunings .rate input').change(function() { + var rate = parseFloat($('.tunings .rate input[name="rate"]').val()); + var expo = parseFloat($('.tunings .rate input[name="expo"]').val()); + + var pitch_roll_curve = document.getElementById("pitch_roll_curve_c"); + var context = pitch_roll_curve.getContext("2d"); + context.clearRect(0, 0, 220, 58); + + // math magic by englishman + var ratey = 58 * rate; + + context.beginPath(); + context.moveTo(0, 58); + context.quadraticCurveTo(110, 58 - ((ratey / 2) * (1 - expo)), 220, 58 - ratey); + context.lineWidth = 2; + context.stroke(); + }); + $('.tunings .rate input').trigger('change'); // initial software trigger + $('a.update').click(function() { if ($(this).hasClass('active')) { // catch RC_tuning changes