diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index f38f80d8c2..7275ff4eab 100755
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -12,7 +12,7 @@
"options_improve_configurator": {
"message": "Send anonymous usage data to the developer team"
},
-
+
"connect": {
"message": "Connect"
},
@@ -41,7 +41,7 @@
"backupFileIncompatible": {
"message": "Backup file provided was generated for previous version of the configurator and is incompatible with this version of configurator. Sorry"
},
-
+
"backupFileUnmigratable": {
"message": "Backup file provided was generated by a previous version of the configurator and is not migratable. Sorry."
},
@@ -109,7 +109,7 @@
"tabAuxiliary": {
"message": "Modes"
},
-
+
"serialPortOpened": {
"message": "Serial port successfully opened with ID: $1"
},
@@ -122,21 +122,21 @@
"serialPortClosedFail": {
"message": "Failed to close serial port"
},
-
+
"noConfigurationReceived": {
"message": "No configuration received within 10 seconds, communication failed"
},
"firmwareVersionNotSupported": {
"message": "This firmware version is not supported. Please upgrade to firmware that supports api version $1 or higher. Use CLI for backup before flashing. CLI backup/restore procedure is in the documention."
},
-
+
"tabSwitchConnectionRequired": {
"message": "You need to connect before you can view any of the tabs."
},
"tabSwitchWaitForOperation": {
"message": "You can't do this right now, please wait for current operation to finish ..."
- },
-
+ },
+
"tabSwitchUpgradeRequired": {
"message": "You need to upgrade your firmware before you can use the $1 tab."
},
@@ -352,6 +352,9 @@
"initialSetupGPSHead": {
"message": "GPS"
},
+ "initialSetupInstrumentsHead": {
+ "message": "Instruments"
+ },
"initialSetupButtonSave": {
"message": "Save"
},
@@ -402,7 +405,7 @@
},
"configurationFailsafe": {
"message": "Receiver failsafe"
- },
+ },
"configurationRSSI": {
"message": "RSSI (Signal Strength)"
},
@@ -412,7 +415,7 @@
"configurationFeaturesHelp": {
"message": "Note: Not all combinations of features are valid. When the flight controller firmware detects invalid feature combinations conflicting features will be disabled.
Note: Configure serial ports before enabling the features that will use the ports."
},
-
+
"configurationBoardAlignment": {
"message": "Board Alignment"
},
@@ -703,7 +706,7 @@
"adjustmentsEepromSaved": {
"message": "EEPROM saved"
},
-
+
"servosModel": {
"message": "Model:"
@@ -843,7 +846,7 @@
"message": "Automatically loaded previous log file: $1"
},
- "firmwareFlasherReleaseSummaryHead": {
+ "firmwareFlasherReleaseSummaryHead": {
"message": "Release info"
},
"firmwareFlasherReleaseName": {
@@ -876,7 +879,7 @@
"firmwareFlasherTargetWarning": {
"message": "IMPORTANT: Ensure you flash a file appropriate for your target. Flashing a binary for the wrong target can cause bad things to happen."
},
-
+
"firmwareFlasherPath": {
"message": "Path:"
},
@@ -976,7 +979,7 @@
"firmwareFlasherFailedToLoadOnlineFirmware": {
"message": "Failed to load remote firmware"
},
-
+
"ledStripHelp": {
"message": "The flight controller can control colors and effects of individual LEDs on a strip.
Configure LEDs on the grid, configure wiring order then attach LEDs on your aircraft according to grid positions."
},
diff --git a/images/flightindicators/altitude_pressure.svg b/images/flightindicators/altitude_pressure.svg
new file mode 100644
index 0000000000..5c1b195d19
--- /dev/null
+++ b/images/flightindicators/altitude_pressure.svg
@@ -0,0 +1,106 @@
+
+
+
diff --git a/images/flightindicators/altitude_ticks.svg b/images/flightindicators/altitude_ticks.svg
new file mode 100644
index 0000000000..a2ccffb996
--- /dev/null
+++ b/images/flightindicators/altitude_ticks.svg
@@ -0,0 +1,96 @@
+
+
+
diff --git a/images/flightindicators/fi_box.svg b/images/flightindicators/fi_box.svg
new file mode 100644
index 0000000000..e7187b7d61
--- /dev/null
+++ b/images/flightindicators/fi_box.svg
@@ -0,0 +1,20 @@
+
+
+
diff --git a/images/flightindicators/fi_circle.svg b/images/flightindicators/fi_circle.svg
new file mode 100644
index 0000000000..1a5692111d
--- /dev/null
+++ b/images/flightindicators/fi_circle.svg
@@ -0,0 +1,23 @@
+
+
+
diff --git a/images/flightindicators/fi_needle.svg b/images/flightindicators/fi_needle.svg
new file mode 100644
index 0000000000..e94e94e0ca
--- /dev/null
+++ b/images/flightindicators/fi_needle.svg
@@ -0,0 +1,22 @@
+
+
+
diff --git a/images/flightindicators/fi_needle_small.svg b/images/flightindicators/fi_needle_small.svg
new file mode 100644
index 0000000000..983087b115
--- /dev/null
+++ b/images/flightindicators/fi_needle_small.svg
@@ -0,0 +1,27 @@
+
+
+
+
diff --git a/images/flightindicators/fi_tc_airplane.svg b/images/flightindicators/fi_tc_airplane.svg
new file mode 100644
index 0000000000..e9904889d3
--- /dev/null
+++ b/images/flightindicators/fi_tc_airplane.svg
@@ -0,0 +1,34 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/images/flightindicators/heading_mechanics.svg b/images/flightindicators/heading_mechanics.svg
new file mode 100644
index 0000000000..8020d3091d
--- /dev/null
+++ b/images/flightindicators/heading_mechanics.svg
@@ -0,0 +1,49 @@
+
+
+
diff --git a/images/flightindicators/heading_yaw.svg b/images/flightindicators/heading_yaw.svg
new file mode 100644
index 0000000000..1d0f4e2be9
--- /dev/null
+++ b/images/flightindicators/heading_yaw.svg
@@ -0,0 +1,205 @@
+
+
+
diff --git a/images/flightindicators/horizon_back.svg b/images/flightindicators/horizon_back.svg
new file mode 100644
index 0000000000..e7e2d0a0a7
--- /dev/null
+++ b/images/flightindicators/horizon_back.svg
@@ -0,0 +1,11 @@
+
+
+
\ No newline at end of file
diff --git a/images/flightindicators/horizon_ball.svg b/images/flightindicators/horizon_ball.svg
new file mode 100644
index 0000000000..d25a50b0ab
--- /dev/null
+++ b/images/flightindicators/horizon_ball.svg
@@ -0,0 +1,137 @@
+
+
+
diff --git a/images/flightindicators/horizon_circle.svg b/images/flightindicators/horizon_circle.svg
new file mode 100644
index 0000000000..8598d37a73
--- /dev/null
+++ b/images/flightindicators/horizon_circle.svg
@@ -0,0 +1,33 @@
+
+
+
diff --git a/images/flightindicators/horizon_mechanics.svg b/images/flightindicators/horizon_mechanics.svg
new file mode 100644
index 0000000000..d1f6c008e0
--- /dev/null
+++ b/images/flightindicators/horizon_mechanics.svg
@@ -0,0 +1,30 @@
+
+
+
diff --git a/images/flightindicators/speed_mechanics.svg b/images/flightindicators/speed_mechanics.svg
new file mode 100644
index 0000000000..47d31f6ca7
--- /dev/null
+++ b/images/flightindicators/speed_mechanics.svg
@@ -0,0 +1,61 @@
+
+
+
diff --git a/images/flightindicators/turn_coordinator.svg b/images/flightindicators/turn_coordinator.svg
new file mode 100644
index 0000000000..a1525b22ab
--- /dev/null
+++ b/images/flightindicators/turn_coordinator.svg
@@ -0,0 +1,382 @@
+
+
+
+
+
diff --git a/images/flightindicators/vertical_mechanics.svg b/images/flightindicators/vertical_mechanics.svg
new file mode 100644
index 0000000000..71bb9398fb
--- /dev/null
+++ b/images/flightindicators/vertical_mechanics.svg
@@ -0,0 +1,93 @@
+
+
+
diff --git a/js/libraries/flightindicators.css b/js/libraries/flightindicators.css
new file mode 100644
index 0000000000..3dbe0fe2e2
--- /dev/null
+++ b/js/libraries/flightindicators.css
@@ -0,0 +1,52 @@
+/*
+* jQuery Flight Indicators plugin
+* By Sébastien Matton (seb_matton@hotmail.com)
+* Published under GPLv3 License.
+*
+* https://github.com/sebmatton/jQuery-Flight-Indicators
+*/
+
+/* Global block of an indicator*/
+div.instrument {
+ width: 250px;
+ height: 250px;
+ position: relative;
+ display: inline-block;
+ overflow: hidden;
+}
+
+/* The box containing any element of an indicator */
+div.instrument .box {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+/* Default transformations */
+
+div.instrument.attitude div.roll {
+ transform: rotate(0deg);
+}
+div.instrument.attitude div.roll div.pitch {
+ top: 0%;
+}
+div.instrument.heading div.yaw {
+ transform: rotate(0deg);
+}
+div.instrument.vario div.vario {
+ transform: rotate(0deg);
+}
+div.instrument.speed div.airspeed {
+ transform: rotate(90deg);
+}
+div.instrument.altimeter div.pressure {
+ transform: rotate(40deg);
+}
+div.instrument.altimeter div.needle {
+ transform: rotate(90deg);
+}
+div.instrument.altimeter div.needleSmall {
+ transform: rotate(90deg);
+}
diff --git a/js/libraries/jquery.flightindicators.js b/js/libraries/jquery.flightindicators.js
new file mode 100644
index 0000000000..1a954bff2e
--- /dev/null
+++ b/js/libraries/jquery.flightindicators.js
@@ -0,0 +1,173 @@
+/*
+* jQuery Flight Indicators plugin
+* By Sébastien Matton (seb_matton@hotmail.com)
+* Published under GPLv3 License.
+*
+* https://github.com/sebmatton/jQuery-Flight-Indicators
+*/
+(function($) {
+ function FlightIndicator( placeholder, type, options ) {
+ // Initial configuration
+ var attitude = this;
+ var settings = $.extend({
+ size : 200,
+ roll : 0,
+ pitch : 0,
+ turn : 0,
+ heading: 0,
+ vario: 0,
+ airspeed: 0,
+ altitude: 0,
+ pressure: 1000,
+ showBox : true,
+ img_directory : 'img/'
+ }, options );
+
+ var constants = {
+ pitch_bound:30,
+ vario_bound : 1.95,
+ airspeed_bound_l : 0,
+ airspeed_bound_h : 160
+ }
+
+ // Creation of the instrument
+ placeholder.each(function(){
+ switch(type){
+ case 'heading':
+ $(this).html('