diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index eb960c50..c2704eec 100755
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -232,7 +232,7 @@
"defaultWelcomeIntro": {
"message": "Welcome to Betaflight - Configurator, a utility designed to simplify updating, configuring and tuning of your flight controller."
},
-
+
"defaultWelcomeText": {
"message": "The application supports all hardware that can run Betaflight (SPRacingF3, Vortex, Sparky, DoDo, CC3D/EVO, Air Hero 32, Flip32/+/Deluxe, DragonFly32, CJMCU Microquad, Chebuzz F3, STM32F3Discovery, Hermit, Naze32 Tricopter Frame, Skyline32, Naze/32/Mini/Pro/Blackbox etc)
The firmware source code can be downloaded from here
The newest binary firmware image is available here, development builds available here
Latest CP210x Drivers can be downloaded from here
Latest STM USB VCP Drivers can be downloaded from here
Latest Zadig for Windows DFU flashing can be downloaded from here
"
},
@@ -296,7 +296,7 @@
"defaultSupport5": {
"message": "Join via WebClient"
},
-
+
"initialSetupBackupAndRestoreApiVersion": {
"message": "Backup and restore functionality disabled. You have firmware with API version $1, backup and restore requires $2. Please backup your settings via the CLI, see Betaflight documentation for procedure."
},
@@ -532,7 +532,7 @@
"featureAIRMODE": {
"message": "Airmode always enabled!"
},
-
+
"configurationFeatureEnabled": {
"message": "Enabled"
},
@@ -668,7 +668,7 @@
"configurationLoopTime": {
"message": "Flight Controller Loop Time"
},
- "configurationCalculatedCyclesSec": {
+ "configurationCalculatedCyclesSec": {
"message": "Cycles/Sec (Hz)"
},
"configurationLoopTimeHelp": {
@@ -766,6 +766,9 @@
"pidTuningRate": {
"message": "Rate"
},
+ "pidTuningRatesPreview": {
+ "message": "Rates Preview"
+ },
"pidTuningRcExpo": {
"message": "RC Expo"
},
@@ -832,7 +835,7 @@
},
"receiverHelpYawDeadband": {
"message": "These are values (in us) by how much RC input can be different before it's considered valid. For transmitters with jitter on outputs, this value can be increased if rc inputs twitch while idle. This setting is for Yaw only."
- },
+ },
"receiverYawDeadband": {
"message": "Yaw Deadband"
},
@@ -1078,7 +1081,7 @@
},
"transponderDataInvalid": {
"message": "Transponder data is invalid"
- },
+ },
"transponderEepromSaved": {
"message": "EEPROM saved"
},
@@ -1251,14 +1254,14 @@
"blackboxButtonSave": {
"message": "Save and reboot"
},
-
+
"serialLoggingSupportedNote": {
"message": "You can log to an external logging device (such as an OpenLog or compatible clone) by using a serial port. Configure the port on the Ports tab."
},
"sdcardNote": {
"message": "Flight logs can be recorded to your flight controller's onboard SD card slot."
},
-
+
"dataflashNote": {
"message": "Flight logs can be recorded to your flight controller's onboard dataflash chip."
},
@@ -1304,7 +1307,7 @@
"dataflashFileWriteFailed": {
"message": "Failed to write to the file you selected, are the permissions on that folder okay?"
},
-
+
"firmwareFlasherReleaseSummaryHead": {
"message": "Release info"
},
@@ -1460,7 +1463,7 @@
"ledStripEepromSaved": {
"message": "EEPROM saved"
},
-
+
"controlAxisRoll": {
"message": "Roll"
},
@@ -1521,7 +1524,7 @@
"controlAxisAux16": {
"message": "AUX 16"
},
-
+
"pidTuningBasic": {
"message": "Basic/Acro"
},
@@ -1545,7 +1548,7 @@
},
"pidTuningLevelD": {
"message": "Transition (Horizon)"
- },
+ },
"pidTuningLevelHelp": {
"message": "The values below change the behaviour of the ANGLE and HORIZON flight modes. Different PID controllers handle the LEVEL values differently. Please check the documentation."
},
@@ -1669,5 +1672,5 @@
"configurationMagHardware": {
"message": "Magnetometer (if supported)"
}
-
+
}
diff --git a/js/model.js b/js/model.js
index d6e186f3..dcf961b2 100644
--- a/js/model.js
+++ b/js/model.js
@@ -115,7 +115,17 @@ Model.prototype.rotateTo = function (x, y, z) {
this.modelWrapper.rotation.y = y;
this.model.rotation.z = z;
- this.render();
+ this.render();
+};
+
+Model.prototype.rotateBy = function (x, y, z) {
+ if (!this.model) { return; }
+
+ this.model.rotateX(x);
+ this.model.rotateY(y);
+ this.model.rotateZ(z);
+
+ this.render();
};
Model.prototype.render = function () {
diff --git a/tabs/pid_tuning.css b/tabs/pid_tuning.css
index 2dfee394..26473408 100644
--- a/tabs/pid_tuning.css
+++ b/tabs/pid_tuning.css
@@ -177,11 +177,6 @@
border-top-right-radius: 3px;
}
-.tab-pid_tuning .tpa {
- /*border: 0px solid #ccc; */
- margin-bottom: 10px;
-}
-
.tab-pid_tuning .rc_curve {
float: right;
width: calc(100% - 2px); /* - ( "virtual" margin) */
@@ -580,3 +575,21 @@
margin-top: -28px;
margin-left: 8px;
}
+
+.tab-pid_tuning .rates_preview_cell {
+ position: relative;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+}
+
+.tab-pid_tuning .rates_preview {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-image: url(../images/paper.jpg);
+ background-size: 100%;
+ background-position: center;
+}
diff --git a/tabs/pid_tuning.html b/tabs/pid_tuning.html
index ef1fb066..acdae162 100755
--- a/tabs/pid_tuning.html
+++ b/tabs/pid_tuning.html
@@ -199,50 +199,74 @@
+
+
+ |
---|
+
+
+
+
+
+ |
+
+ |
---|
+
+
+
+
+
+ |
+
+ |
---|
+
+
+
+ |
+
- |
---|
-
-
-
-
-
- |
-
- |
---|
-
-
-
-
-
- |
-