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