diff --git a/_locales/en/messages.json b/_locales/en/messages.json index ad4395fa..c016cdd6 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1581,6 +1581,9 @@ "pidTuning_gyro_dyn_lpf_max_hz_help": { "message": "Defines the gyro LPF cutoff frequency at maximum throttle. When throttle is decreased, LPF cutoff frequency is decreased as well, down to the minimum cutoff frequency." }, + "loadedMixerProfile": { + "message": "Loaded Mixer Profile: $1, Check modes tab: MIXER PROFILE 2 if you don't see the changes" + }, "loadedBatteryProfile": { "message": "Loaded Battery Profile: $1" }, @@ -4883,6 +4886,12 @@ "motor_direction_inverted_hint": { "message": "Enable if the motor direction is reversed and the props are mounted in the opposite direction." }, + "mixer_pid_profile_linking": { + "message": "PID Profile will use same index as Mixer Profile index" + }, + "mixer_pid_profile_linking_hint": { + "message": "mixer_pid_profile_linking: Enable on both Mixer Profile if you want PID Profile switching handled by Mixer Profile switching(Recommend in vtol/mixed plaform type setup)" + }, "blackboxFields": { "message": "Blackbox fields" }, @@ -5198,14 +5207,20 @@ "sensorDataFlashFreeSpace": { "message": "Dataflash: free space" }, + "mixerProfile1": { + "message": "Mixer profile 1" + }, + "mixerProfile2": { + "message": "Mixer profile 2" + }, "sensorProfile1": { - "message": "Profile 1" + "message": "PID profile 1" }, "sensorProfile2": { - "message": "Profile 2" + "message": "PID profile 2" }, "sensorProfile3": { - "message": "Profile 3" + "message": "PID profile 3" }, "sensorBatteryProfile1": { "message": "Battery profile 1" diff --git a/js/fc.js b/js/fc.js index bd86911e..12416797 100644 --- a/js/fc.js +++ b/js/fc.js @@ -118,6 +118,7 @@ var FC = { i2cError: 0, activeSensors: 0, mode: [], + mixer_profile: 0, profile: 0, battery_profile: 0, uid: [0, 0, 0], diff --git a/js/gui.js b/js/gui.js index 0c506e69..b8db5ddd 100644 --- a/js/gui.js +++ b/js/gui.js @@ -260,6 +260,7 @@ GUI_control.prototype.updateStatusBar = function() { }; GUI_control.prototype.updateProfileChange = function() { + $('#mixerprofilechange').val(CONFIG.mixer_profile); $('#profilechange').val(CONFIG.profile); $('#batteryprofilechange').val(CONFIG.battery_profile); }; diff --git a/js/msp/MSPCodes.js b/js/msp/MSPCodes.js index 1d68e548..5dabd0c2 100644 --- a/js/msp/MSPCodes.js +++ b/js/msp/MSPCodes.js @@ -240,5 +240,7 @@ var MSPCodes = { MSP2_INAV_SET_LED_STRIP_CONFIG_EX: 0x2049, MSP2_INAV_RATE_DYNAMICS: 0x2060, - MSP2_INAV_SET_RATE_DYNAMICS: 0x2061 + MSP2_INAV_SET_RATE_DYNAMICS: 0x2061, + + MSP2_INAV_SELECT_MIXER_PROFILE: 0x2070 }; diff --git a/js/msp/MSPHelper.js b/js/msp/MSPHelper.js index b0e3a8c5..8b665427 100644 --- a/js/msp/MSPHelper.js +++ b/js/msp/MSPHelper.js @@ -79,6 +79,8 @@ var mspHelper = (function (gui) { profile_byte = data.getUint8(offset++) CONFIG.profile = profile_byte & 0x0F; CONFIG.battery_profile = (profile_byte & 0xF0) >> 4; + profile_byte = data.getUint8(offset++) + CONFIG.mixer_profile = profile_byte & 0x0F; CONFIG.armingFlags = data.getUint32(offset, true); offset += 4; gui.updateStatusBar(); diff --git a/main.css b/main.css index e919e129..b9deb402 100644 --- a/main.css +++ b/main.css @@ -1685,7 +1685,7 @@ dialog { color: white; font-size: 10px; margin-top: 20px; - width: 269px; + width: 410px; float: right; margin-right: 10px; line-height: 12px; @@ -1700,6 +1700,15 @@ dialog { } +#mixer_profile_change { + color: white; + margin-top: 16px; + width: 130px; + float: left; + margin-right: 10px; + line-height: 12px; +} + #profile_change { color: white; margin-top: 16px; diff --git a/main.html b/main.html index 3deabe82..fb72ed61 100755 --- a/main.html +++ b/main.html @@ -87,6 +87,16 @@
+