+
diff --git a/tabs/configuration.js b/tabs/configuration.js
index d7e7694bd..2c3ca833d 100644
--- a/tabs/configuration.js
+++ b/tabs/configuration.js
@@ -363,7 +363,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
$('input[name="pitch"]').val(CONFIG.accelerometerTrims[0]);
// fill magnetometer
- $('input[name="mag_declination"]').val(MISC.mag_declination);
+ $('input[name="mag_declination"]').val(MISC.mag_declination.toFixed(2));
//fill motor disarm params and FC loop time
if(semver.gte(CONFIG.apiVersion, "1.8.0")) {
@@ -407,7 +407,11 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
$('input[name="3ddeadbandlow"]').val(_3D.deadband3d_low);
$('input[name="3ddeadbandhigh"]').val(_3D.deadband3d_high);
$('input[name="3dneutral"]').val(_3D.neutral3d);
- $('input[name="3ddeadbandthrottle"]').val(_3D.deadband3d_throttle);
+ if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
+ $('input[name="3ddeadbandthrottle"]').val(_3D.deadband3d_throttle);
+ } else {
+ $('.3ddeadbandthrottle').hide();
+ }
}
// UI hooks
@@ -487,7 +491,9 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
_3D.deadband3d_low = parseInt($('input[name="3ddeadbandlow"]').val());
_3D.deadband3d_high = parseInt($('input[name="3ddeadbandhigh"]').val());
_3D.neutral3d = parseInt($('input[name="3dneutral"]').val());
- _3D.deadband3d_throttle = ($('input[name="3ddeadbandthrottle"]').val());
+ if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
+ _3D.deadband3d_throttle = ($('input[name="3ddeadbandthrottle"]').val());
+ }
SENSOR_ALIGNMENT.align_gyro = parseInt(orientation_gyro_e.val());
diff --git a/tabs/failsafe.html b/tabs/failsafe.html
index 1b0951b0f..84dda7498 100644
--- a/tabs/failsafe.html
+++ b/tabs/failsafe.html
@@ -89,7 +89,7 @@
-
diff --git a/tabs/led_strip.css b/tabs/led_strip.css
index 4a4783d20..d6263cff5 100644
--- a/tabs/led_strip.css
+++ b/tabs/led_strip.css
@@ -72,6 +72,24 @@
border-color: black;
}
+.tab-led-strip .gPoint.function-g { /* GPS */
+ background: green;
+ box-shadow: inset 0 0 30px rgba(0, 0, 0, .7);
+ border-color: rgb(52, 155, 255);
+}
+
+.tab-led-strip .gPoint.function-s { /* RSSI */
+ background: brown;
+ box-shadow: inset 0 0 30px rgba(0, 0, 0, .7);
+ border-color: rgb(52, 155, 255);
+}
+
+.tab-led-strip .gPoint.function-b { /* Blink */
+ background: white;
+ box-shadow: inset 0 0 30px rgba(0, 0, 0, .7);
+ border-color: rgb(52, 155, 255);
+}
+
.tab-led-strip .gPoint.function-i.function-f {
background: linear-gradient(to bottom, yellow 0%,yellow 50%,rgb(50, 205, 50) 50%, rgb(50, 205, 50) 100%);
}
@@ -171,6 +189,9 @@
.tab-led-strip .functions .function-c.btnOn {
background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%);
}
+.tab-led-strip .functions .function-g.btnOn {background: green;}
+.tab-led-strip .functions .function-s.btnOn {background: brown;}
+.tab-led-strip .functions .function-b.btnOn {background: white;}
.tab-led-strip .color-1 {background: white;}
.tab-led-strip .color-2 {background: red;}
diff --git a/tabs/led_strip.html b/tabs/led_strip.html
index 8ee3b4614..081e3de6c 100644
--- a/tabs/led_strip.html
+++ b/tabs/led_strip.html
@@ -45,6 +45,9 @@
+
+
+
LED Orientation and Color
diff --git a/tabs/led_strip.js b/tabs/led_strip.js
index a29c77a7b..10bd1de85 100644
--- a/tabs/led_strip.js
+++ b/tabs/led_strip.js
@@ -2,7 +2,7 @@
TABS.led_strip = {
wireMode: false,
- functions: ['w', 'f', 'i', 'a', 't', 'r', 'c'],
+ functions: ['w', 'f', 'i', 'a', 't', 'r', 'c', 'g', 's', 'b'],
directions: ['n', 'e', 's', 'w', 'u', 'd'],
};
@@ -288,6 +288,10 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
});
+ if (CONFIG.apiVersion < '1.18.0') {
+ $(".extra_functions").hide();
+ }
+
GUI.content_ready(callback);
}
diff --git a/tabs/ports.js b/tabs/ports.js
index 23d48fcd8..0efec8019 100644
--- a/tabs/ports.js
+++ b/tabs/ports.js
@@ -25,6 +25,11 @@ TABS.ports.initialize = function (callback, scrollPosition) {
functionRules.push(mspFunctionRule);
}
+ if (semver.gte(CONFIG.apiVersion, "1.18.0")) {
+ var mavlinkFunctionRule = {name: 'TELEMETRY_MAVLINK', groups: ['telemetry'], sharableWith: ['msp'], notSharableWith: ['blackbox'], maxPorts: 1};
+ functionRules.push(mavlinkFunctionRule);
+ }
+
for (var i = 0; i < functionRules.length; i++) {
functionRules[i].displayName = chrome.i18n.getMessage('portsFunction_' + functionRules[i].name);
}
diff --git a/tabs/setup.css b/tabs/setup.css
index 79796fd45..32a39bd99 100644
--- a/tabs/setup.css
+++ b/tabs/setup.css
@@ -205,4 +205,55 @@
width: calc(75% - 20px);
height: calc(100% - 218px);
}
-}
\ No newline at end of file
+}
+
+#accel_calib_running {
+ display: none;
+
+ width: 100%;
+ position: relative;
+ margin-bottom: 0px;
+ margin-top: 0px;
+ float: left;
+
+ padding: 5px 0px 5px 0px;
+ text-align: center;
+ background-color: #fff;
+ border-radius: 4px;
+ border: 1px solid #59aa29;
+ color: #59aa29;
+ font-family: 'open_sanssemibold', Arial;
+ font-size: 12px;
+ line-height: 13px;
+ transition: all ease 0.2s;
+ text-decoration:none;
+
+}
+
+#mag_calib_running {
+ display: none;
+
+ width: 100%;
+ position: relative;
+ margin-bottom: 0px;
+ margin-top: 0px;
+ float: left;
+
+ padding: 5px 0px 5px 0px;
+ text-align: center;
+ background-color: #fff;
+ border-radius: 4px;
+ border: 1px solid #59aa29;
+ color: #59aa29;
+ font-family: 'open_sanssemibold', Arial;
+ font-size: 12px;
+ line-height: 13px;
+ transition: all ease 0.2s;
+ text-decoration:none;
+}
+
+.data-loading-setup {
+ width: 100%;
+ height: 100%;
+
+}
diff --git a/tabs/setup.html b/tabs/setup.html
index 6cd323084..2152c9208 100644
--- a/tabs/setup.html
+++ b/tabs/setup.html
@@ -9,11 +9,27 @@