diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index f625be91..1c1a3e9c 100755
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -566,7 +566,7 @@
"message": "Settings restored to default"
},
"initialSetupEepromSaved": {
- "message": "EEPROM saved"
+ "message": "EEPROM saved: Setup"
},
"RX_PPM": {
@@ -1015,7 +1015,7 @@
"message": "Craft name. Can be displayed by OSD and by compatible RC systems."
},
"configurationEepromSaved": {
- "message": "EEPROM saved"
+ "message": "EEPROM saved: Configuration"
},
"configurationButtonSave": {
"message": "Save and Reboot"
@@ -1222,7 +1222,7 @@
"message": "PID data refreshed"
},
"pidTuningEepromSaved": {
- "message": "EEPROM saved"
+ "message": "EEPROM saved: PID Tuning"
},
"receiverHelp": {
@@ -1286,7 +1286,7 @@
"message": "RC Tuning data refreshed"
},
"receiverEepromSaved": {
- "message": "EEPROM saved"
+ "message": "EEPROM saved: Receiver"
},
"auxiliaryHelp": {
@@ -1534,9 +1534,11 @@
"message": "Save"
},
"adjustmentsEepromSaved": {
- "message": "EEPROM saved"
+ "message": "EEPROM saved: Adjustments"
+ },
+ "programmingEepromSaved": {
+ "message": "EEPROM saved: Programming"
},
-
"transponderNotSupported": {
"message": "Your flight controller's firmware does not support transponder functionality."
},
@@ -1562,7 +1564,7 @@
"message": "Transponder data is invalid"
},
"transponderEepromSaved": {
- "message": "EEPROM saved"
+ "message": "EEPROM saved: Transponder"
},
"servosChangeDirection": {
"message": "Change Direction in TX To Match"
@@ -2018,7 +2020,7 @@
"message": "Save"
},
"ledStripEepromSaved": {
- "message": "EEPROM saved"
+ "message": "EEPROM saved: LED"
},
"controlAxisRoll": {
@@ -2498,12 +2500,21 @@
"userControlMode": {
"message": "User Control Mode"
},
+ "posholdDefaultSpeed": {
+ "message": "Default navigation speed [cm/s]"
+ },
+ "posholdDefaultSpeedHelp": {
+ "message": "Default speed during RTH, also used for WP navigation if no speed set for WP leg. Limited to Max. navigation speed"
+ },
"posholdMaxSpeed": {
"message": "Max. navigation speed [cm/s]"
},
"posholdMaxManualSpeed": {
"message": "Max. CRUISE speed [cm/s]"
},
+ "posholdMaxManualSpeedHelp": {
+ "message": "Maximum horizonal velocity allowed for pilot manual control during POSHOLD/CRUISE mode"
+ },
"posholdMaxClimbRate": {
"message": "Max. navigation climb rate [cm/s]"
},
@@ -2804,6 +2815,12 @@
"osd_plus_code_short": {
"message" : "Plus Code Remove Leading Digits"
},
+ "osd_esc_rpm_precision": {
+ "message": "ESC RPM precision"
+ },
+ "osd_esc_rpm_precision_help": {
+ "message": "The number of digits shown in the RPM display. If the RPM is higher than the number of digits, it will be shown in thousand RPM with as many decimal places as allowed."
+ },
"osd_crosshairs_style": {
"message" : "Crosshairs Style"
},
@@ -3060,7 +3077,7 @@
"message": "Shows the throttle stick position in flight modes where it controls the throttle output. On navigation modes, it shows the actual throttle value applied to the motors."
},
"osdElement_GPS_SPEED": {
- "message": "GPS Speed"
+ "message": "Ground Speed"
},
"osdElement_GPS_SPEED_HELP": {
"message": "Shows GPS ground speed."
@@ -3251,6 +3268,9 @@
"osdElement_WIND_SPEED_VERTICAL_HELP": {
"message": "Shows estimated vertical wind speed and direction (up or down)."
},
+ "osdElement_ACTIVE_PROFILE": {
+ "message": "Show the active profile"
+ },
"osdElement_LEVEL_PIDS": {
"message": "Level PIDs"
},
@@ -3363,16 +3383,16 @@
"message": "Hide unsupported elements"
},
"osd_dji_ESC_temp": {
- "message" : "Source of ESC Temperature"
+ "message" : "Source of ESC Temperature"
},
"osd_dji_RSSI_source": {
- "message" : "Source of RSSI"
+ "message" : "Source of RSSI"
},
"osd_dji_GPS_source": {
- "message" : "Source of GPS Speed"
+ "message" : "Source of GPS Speed"
},
"osd_dji_speed_source": {
- "message" : "Source of 3D Speed"
+ "message" : "Source of 3D Speed"
},
"osd_dji_use_craft_name_elements": {
"message" : "Use craft name for messages and additional elements.
Elements in blue appear in Craft Name."
@@ -3494,6 +3514,9 @@
"missionSafehomeHead": {
"message": "Safe Home manager"
},
+ "missionMultiMissionHead": {
+ "message": "Multi Missions"
+ },
"missionTemplateHead": {
"message": "Mission template"
},
@@ -3512,6 +3535,15 @@
"confirm_delete_point_with_options": {
"message": "Do you really want to delete this Waypoint with non-Geo JUMP/SET_HEAD/RTH options? \nIf yes, Non-Geo options attached will be removed also!"
},
+ "confirm_multimission_file_load": {
+ "message": "This is a multi mission file. Loading will over write current multi mission.\nContinue?"
+ },
+ "confirm_overwrite_multimission_file_load_option": {
+ "message": "This will over write current multi mission.\nContinue?"
+ },
+ "multimission_active_index_saved_eeprom": {
+ "message": "Mission active index saved"
+ },
"no_waypoints_to_load": {
"message": "No waypoints to load !"
},
@@ -3857,10 +3889,16 @@
"fwLevelTrimMechanics": {
"message": "Fixed Wing Level Trim"
},
- "d_boost_factor": {
- "message": "D-Boost Factor"
+ "d_boost_min": {
+ "message": "D-Boost Min. Scale"
},
- "d_boost_factor_help": {
+ "d_boost_min_help": {
+ "message": "Defines the max allowed Dterm attenuation during stick acceleration phase. Value 1.0 mean Dterm is not attenuate. 0.5 mean it's allowed to shrink by half. Lower values result in faster response during fast stick movement."
+ },
+ "d_boost_max": {
+ "message": "D-Boost Max. Scale"
+ },
+ "d_boost_max_help": {
"message": "Defines the maximum Dterm boost when maximum angular acceleration is reached. 1.0 means D-Boost is disabled, 2.0 means Dterm is allowed to grow by 100%. Values between 1.5 and 1.7 are usually the sweet spot."
},
"d_boost_max_at_acceleration": {
diff --git a/images/icons/cf_icon_multimission_white.svg b/images/icons/cf_icon_multimission_white.svg
new file mode 100644
index 00000000..2ea81e95
--- /dev/null
+++ b/images/icons/cf_icon_multimission_white.svg
@@ -0,0 +1,50 @@
+
+
+
+
diff --git a/js/defaults_dialog.js b/js/defaults_dialog.js
index 08edd9bd..ccba64fa 100644
--- a/js/defaults_dialog.js
+++ b/js/defaults_dialog.js
@@ -214,7 +214,11 @@ helper.defaultsDialog = (function () {
value: 10
},
{
- key: "d_boost_factor",
+ key: "d_boost_min",
+ value: 1
+ },
+ {
+ key: "d_boost_max",
value: 1
},
{
@@ -263,7 +267,7 @@ helper.defaultsDialog = (function () {
},
{
key: "nav_fw_pos_z_p",
- value: 20
+ value: 15
},
{
key: "nav_fw_pos_z_d",
@@ -279,7 +283,7 @@ helper.defaultsDialog = (function () {
},
{
key: "max_angle_inclination_rll",
- value: 350
+ value: 450
},
{
key: "nav_fw_bank_angle",
@@ -291,7 +295,11 @@ helper.defaultsDialog = (function () {
},
{
key: "fw_i_pitch",
- value: 10
+ value: 5
+ },
+ {
+ key: "fw_d_pitch",
+ value: 5
},
{
key: "fw_ff_pitch",
@@ -299,15 +307,19 @@ helper.defaultsDialog = (function () {
},
{
key: "fw_p_roll",
- value: 10
+ value: 15
},
{
key: "fw_i_roll",
- value: 8
+ value: 3
+ },
+ {
+ key: "fw_d_roll",
+ value: 7
},
{
key: "fw_ff_roll",
- value: 40
+ value: 50
},
{
key: "fw_p_yaw",
@@ -315,7 +327,7 @@ helper.defaultsDialog = (function () {
},
{
key: "fw_i_yaw",
- value: 5
+ value: 0
},
{
key: "fw_ff_yaw",
@@ -355,7 +367,7 @@ helper.defaultsDialog = (function () {
},
{
key: "nav_wp_radius",
- value: 1500
+ value: 5000
},
],
"features": [
@@ -392,7 +404,11 @@ helper.defaultsDialog = (function () {
value: 10
},
{
- key: "d_boost_factor",
+ key: "d_boost_min",
+ value: 1
+ },
+ {
+ key: "d_boost_max",
value: 1
},
{
@@ -441,7 +457,7 @@ helper.defaultsDialog = (function () {
},
{
key: "nav_fw_pos_z_p",
- value: 20
+ value: 15
},
{
key: "nav_fw_pos_z_d",
@@ -457,7 +473,7 @@ helper.defaultsDialog = (function () {
},
{
key: "max_angle_inclination_rll",
- value: 450
+ value: 550
},
{
key: "nav_fw_bank_angle",
@@ -465,11 +481,15 @@ helper.defaultsDialog = (function () {
},
{
key: "fw_p_pitch",
- value: 10
+ value: 15
},
{
key: "fw_i_pitch",
- value: 15
+ value: 5
+ },
+ {
+ key: "fw_d_pitch",
+ value: 5
},
{
key: "fw_ff_pitch",
@@ -477,15 +497,15 @@ helper.defaultsDialog = (function () {
},
{
key: "fw_p_roll",
- value: 5
+ value: 15
},
{
key: "fw_i_roll",
- value: 8
+ value: 3
},
{
key: "fw_ff_roll",
- value: 35
+ value: 50
},
{
key: "imu_acc_ignore_rate",
@@ -521,7 +541,7 @@ helper.defaultsDialog = (function () {
},
{
key: "nav_wp_radius",
- value: 1500
+ value: 5000
},
],
"features": [
diff --git a/js/fc.js b/js/fc.js
index 7a0ce011..7c95327e 100644
--- a/js/fc.js
+++ b/js/fc.js
@@ -1243,6 +1243,17 @@ var FC = {
hasOperand: [true, true],
output: "boolean"
},
+
+ 41: {
+ name: "LOITER RADIUS OVERRIDE",
+ hasOperand: [true, false],
+ output: "boolean"
+ },
+ 42: {
+ name: "SET PROFILE",
+ hasOperand: [true, false],
+ output: "boolean"
+ },
}
},
getOperandTypes: function () {
@@ -1301,6 +1312,8 @@ var FC = {
32: "CRSF LQ",
33: "CRSF SNR",
34: "GPS Valid Fix",
+ 35: "Loiter Radius [cm]",
+ 36: "Active Profile",
}
},
3: {
diff --git a/js/msp/MSPHelper.js b/js/msp/MSPHelper.js
index 4e5bfa33..56b00720 100644
--- a/js/msp/MSPHelper.js
+++ b/js/msp/MSPHelper.js
@@ -455,7 +455,8 @@ var mspHelper = (function (gui) {
data.getInt32(10, true),
data.getInt16(14, true),
data.getInt16(16, true),
- data.getInt16(18, true)
+ data.getInt16(18, true),
+ data.getUint8(20)
));
break;
case MSPCodes.MSP_BOXIDS:
@@ -519,7 +520,7 @@ var mspHelper = (function (gui) {
));
}
}
-
+
break;
case MSPCodes.MSP2_INAV_LOGIC_CONDITIONS_STATUS:
@@ -1297,7 +1298,7 @@ var mspHelper = (function (gui) {
CALIBRATION_DATA.magZero.Y = data.getInt16(15, true);
CALIBRATION_DATA.magZero.Z = data.getInt16(17, true);
CALIBRATION_DATA.opflow.Scale = (data.getInt16(19, true) / 256.0);
-
+
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) {
CALIBRATION_DATA.magGain.X = data.getInt16(21, true);
CALIBRATION_DATA.magGain.Y = data.getInt16(23, true);
@@ -1513,8 +1514,8 @@ var mspHelper = (function (gui) {
break;
case MSPCodes.MSP2_INAV_SET_SAFEHOME:
console.log('Safehome points saved');
- break;
-
+ break;
+
default:
console.log('Unknown code detected: ' + dataHandler.code);
} else {
@@ -2125,7 +2126,7 @@ var mspHelper = (function (gui) {
buffer.push(SENSOR_CONFIG.opflow);
break;
-
+
case MSPCodes.MSP_WP_MISSION_SAVE:
// buffer.push(0);
console.log(buffer);
@@ -2985,51 +2986,50 @@ var mspHelper = (function (gui) {
self.getMissionInfo = function (callback) {
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
};
-
+
self.loadWaypoints = function (callback) {
MISSION_PLANER.reinit();
- let waypointId = 1;
- MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, getFirstWP);
-
- function getFirstWP() {
- MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, nextWaypoint)
- };
-
- function nextWaypoint() {
+ let waypointId = 0;
+ let startTime = new Date().getTime();
+ MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, loadWaypoint);
+
+ function loadWaypoint() {
waypointId++;
if (waypointId < MISSION_PLANER.getCountBusyPoints()) {
- MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, nextWaypoint);
- }
- else {
+ MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, loadWaypoint);
+ } else {
+ GUI.log('Receive time: ' + (new Date().getTime() - startTime) + 'ms');
MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, callback);
}
};
};
-
- self.saveWaypoints = function (callback) {
- let waypointId = 1;
- MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, nextWaypoint)
- function nextWaypoint() {
+ self.saveWaypoints = function (callback) {
+ let waypointId = 0;
+ let startTime = new Date().getTime();
+ sendWaypoint();
+
+ function sendWaypoint() {
waypointId++;
if (waypointId < MISSION_PLANER.get().length) {
- MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, nextWaypoint);
+ MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, sendWaypoint);
}
else {
MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, endMission);
}
};
-
+
function endMission() {
+ GUI.log('Send time: ' + (new Date().getTime() - startTime) + 'ms');
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
}
};
-
+
self.loadSafehomes = function (callback) {
SAFEHOMES.flush();
let safehomeId = 0;
MSP.send_message(MSPCodes.MSP2_INAV_SAFEHOME, [safehomeId], false, nextSafehome);
-
+
function nextSafehome() {
safehomeId++;
if (safehomeId < SAFEHOMES.getMaxSafehomeCount()-1) {
@@ -3040,11 +3040,11 @@ var mspHelper = (function (gui) {
}
};
};
-
+
self.saveSafehomes = function (callback) {
let safehomeId = 0;
MSP.send_message(MSPCodes.MSP2_INAV_SET_SAFEHOME, SAFEHOMES.extractBuffer(safehomeId), false, nextSendSafehome);
-
+
function nextSendSafehome() {
safehomeId++;
if (safehomeId < SAFEHOMES.getMaxSafehomeCount()-1) {
@@ -3208,9 +3208,9 @@ var mspHelper = (function (gui) {
});
};
- self.setSetting = function (name, value) {
+ self.setSetting = function (name, value, callback) {
this.encodeSetting(name, value).then(function (data) {
- return MSP.promise(MSPCodes.MSPV2_SET_SETTING, data);
+ return MSP.promise(MSPCodes.MSPV2_SET_SETTING, data).then(callback);
});
};
diff --git a/js/waypointCollection.js b/js/waypointCollection.js
index a18b7cf2..08619453 100644
--- a/js/waypointCollection.js
+++ b/js/waypointCollection.js
@@ -72,7 +72,7 @@ let WaypointCollection = function () {
};
self.isEmpty = function () {
- return data == [];
+ return data.length == 0;
};
self.flush = function () {
@@ -149,7 +149,7 @@ let WaypointCollection = function () {
data = tmpData;
};
- self.update = function (bMWPfile=false, bReverse=false) {
+ self.update = function (updateEndFlag = true, bMWPfile=false, bReverse=false) {
let oldWPNumber = 0;
let optionIdx = 0;
let idx = 0;
@@ -180,11 +180,15 @@ let WaypointCollection = function () {
optionIdx = 0;
idx++;
}
- if (element.getNumber() == ((bMWPfile && bReverse) ? self.get().length : self.get().length-1)) {
- element.setEndMission(0xA5);
- }
- else {
- element.setEndMission(0);
+
+ /* only update EndMission flag when required and only if single mission loaded on map */
+ if (updateEndFlag) {
+ if (element.getNumber() == self.get().length - 1) {
+ element.setEndMission(0xA5);
+ }
+ else if ((element.getNumber() == self.get().length - 2) && element.getEndMission() == 0xA5) {
+ element.setEndMission(0);
+ }
}
}
});
diff --git a/resources/osd/bold.mcm b/resources/osd/bold.mcm
index 2b67278a..3a2e306d 100644
--- a/resources/osd/bold.mcm
+++ b/resources/osd/bold.mcm
@@ -13250,48 +13250,48 @@ MAX7456
01010101
01010101
01010101
+01010000
+00000101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01001010
+10100000
+00000101
+00100000
+00001010
+10100001
+00101010
+10100101
+01011000
+00100101
+00000001
+01011000
+00100100
+10101000
+01011000
+00100100
+10000010
+00011000
+00100100
+10000010
+00011000
+00100100
+10101000
+01011000
+00100100
+10000001
+01011000
+00100100
+10000101
+01011000
+00100101
+00010101
+01011000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/bold.png b/resources/osd/bold.png
index 6092e55f..2d69f84d 100644
Binary files a/resources/osd/bold.png and b/resources/osd/bold.png differ
diff --git a/resources/osd/bold/207.png b/resources/osd/bold/207.png
new file mode 100644
index 00000000..bc34d733
Binary files /dev/null and b/resources/osd/bold/207.png differ
diff --git a/resources/osd/clarity.mcm b/resources/osd/clarity.mcm
index c56855ca..aa1d2c02 100644
--- a/resources/osd/clarity.mcm
+++ b/resources/osd/clarity.mcm
@@ -13253,48 +13253,48 @@ MAX7456
01010101
01010101
01010101
+01010000
+00000101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01001010
+10100000
+00000101
+00100000
+00001010
+10100001
+00101010
+10100101
+01011000
+00100101
+00000001
+01011000
+00100100
+10101000
+01011000
+00100100
+10000010
+00011000
+00100100
+10000010
+00011000
+00100100
+10101000
+01011000
+00100100
+10000001
+01011000
+00100100
+10000101
+01011000
+00100101
+00010101
+01011000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/clarity.png b/resources/osd/clarity.png
index e54bb3d3..9da501c2 100644
Binary files a/resources/osd/clarity.png and b/resources/osd/clarity.png differ
diff --git a/resources/osd/clarity/207.png b/resources/osd/clarity/207.png
new file mode 100644
index 00000000..4b2215f4
Binary files /dev/null and b/resources/osd/clarity/207.png differ
diff --git a/resources/osd/clarity_medium.mcm b/resources/osd/clarity_medium.mcm
index 0b186d4a..9b49775c 100644
--- a/resources/osd/clarity_medium.mcm
+++ b/resources/osd/clarity_medium.mcm
@@ -13256,48 +13256,48 @@ MAX7456
01010101
01010101
01010101
+01010000
+00000101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01001010
+10100000
+00000101
+00100000
+00001010
+10100001
+00101010
+10100101
+01011000
+00100101
+00000001
+01011000
+00100100
+10101000
+01011000
+00100100
+10000010
+00011000
+00100100
+10000010
+00011000
+00100100
+10101000
+01011000
+00100100
+10000001
+01011000
+00100100
+10000101
+01011000
+00100101
+00010101
+01011000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/clarity_medium.png b/resources/osd/clarity_medium.png
index 42266c20..4bbee5bd 100644
Binary files a/resources/osd/clarity_medium.png and b/resources/osd/clarity_medium.png differ
diff --git a/resources/osd/clarity_medium/207.png b/resources/osd/clarity_medium/207.png
new file mode 100644
index 00000000..62f6960b
Binary files /dev/null and b/resources/osd/clarity_medium/207.png differ
diff --git a/resources/osd/default.mcm b/resources/osd/default.mcm
index bf3da21e..8aca7c48 100644
--- a/resources/osd/default.mcm
+++ b/resources/osd/default.mcm
@@ -13250,48 +13250,48 @@ MAX7456
01010101
01010101
01010101
+01010000
+00000101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01001010
+10100000
+00000101
+00100000
+00001010
+10100001
+00101010
+10100101
+01011000
+00100101
+00000001
+01011000
+00100100
+10101000
+01011000
+00100100
+10000010
+00011000
+00100100
+10000010
+00011000
+00100100
+10101000
+01011000
+00100100
+10000001
+01011000
+00100100
+10000101
+01011000
+00100101
+00010101
+01011000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/default.png b/resources/osd/default.png
index 2e1e56eb..89ab554b 100644
Binary files a/resources/osd/default.png and b/resources/osd/default.png differ
diff --git a/resources/osd/default/207.png b/resources/osd/default/207.png
new file mode 100644
index 00000000..0675e61a
Binary files /dev/null and b/resources/osd/default/207.png differ
diff --git a/resources/osd/iNav character map.md b/resources/osd/iNav character map.md
index 8c79c381..d91b01a4 100644
--- a/resources/osd/iNav character map.md
+++ b/resources/osd/iNav character map.md
@@ -124,7 +124,8 @@ SYM_HEADING_E | SYM.HEADING_E | Heading graph East
SYM_HEADING_W | SYM.HEADING_W | Heading graph West | 203 | 0xCB
SYM_HEADING_DIVIDED_LINE | SYM.HEADING_DIVIDED_LINE | Heading graphic | 204 | 0xCC
SYM_HEADING_LINE | SYM.HEADING_LINE | Heading graphic | 205 | 0xCD
-SYM_MAX | SYM.MAX | Max icon | 206 | 0xCE
+SYM_MAX | SYM.MAX | Max icon | 206 | 0xCE
+SYM_PROFILE | SYM.PROFILE | Profile icon | 207 | 0xCF
| | | |
SYM_LOGO_START | | INAV Logo | 257 - 280 | 0x101 - 0x118
SYM_AH_LEFT | SYM.AH_LEFT | AHI Arrow left | 300 | 0x12C
diff --git a/resources/osd/impact.mcm b/resources/osd/impact.mcm
index bd5bf413..89bdd629 100644
--- a/resources/osd/impact.mcm
+++ b/resources/osd/impact.mcm
@@ -13250,51 +13250,51 @@ MAX7456
01010101
01010101
01010101
+01000000
+00000101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00101010
+10100000
+00000001
+00000000
+00001010
+10101000
+00101010
+10100000
+00000000
+00000000
+00001010
+10101000
+00101010
+10101010
+10101000
+00101010
+00000010
+10101000
+00101010
+00101000
+10101000
+00101010
+00101000
+10101000
+00101010
+00000010
+10101000
+00101010
+00101010
+10101000
+00101010
+00101010
+10101000
+00101010
+10101010
+10101000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/impact.png b/resources/osd/impact.png
index 9087e778..fcce2aa8 100644
Binary files a/resources/osd/impact.png and b/resources/osd/impact.png differ
diff --git a/resources/osd/impact/207.png b/resources/osd/impact/207.png
new file mode 100644
index 00000000..e8c9bf1f
Binary files /dev/null and b/resources/osd/impact/207.png differ
diff --git a/resources/osd/impact_mini.mcm b/resources/osd/impact_mini.mcm
index e6ce9418..4c60d7e3 100644
--- a/resources/osd/impact_mini.mcm
+++ b/resources/osd/impact_mini.mcm
@@ -13247,51 +13247,51 @@ MAX7456
01010101
01010101
01010101
+01000000
+00000101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00101010
+10100000
+00000001
+00000000
+00001010
+10101000
+00101010
+10100000
+00000000
+00000000
+00001010
+10101000
+00101010
+10101010
+10101000
+00101010
+00000010
+10101000
+00101010
+00101000
+10101000
+00101010
+00101000
+10101000
+00101010
+00000010
+10101000
+00101010
+00101010
+10101000
+00101010
+00101010
+10101000
+00101010
+10101010
+10101000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/impact_mini.png b/resources/osd/impact_mini.png
index e6c87aaa..74b223cd 100644
Binary files a/resources/osd/impact_mini.png and b/resources/osd/impact_mini.png differ
diff --git a/resources/osd/impact_mini/207.png b/resources/osd/impact_mini/207.png
new file mode 100644
index 00000000..a3743363
Binary files /dev/null and b/resources/osd/impact_mini/207.png differ
diff --git a/resources/osd/large.mcm b/resources/osd/large.mcm
index 7e858ce5..21d492ca 100644
--- a/resources/osd/large.mcm
+++ b/resources/osd/large.mcm
@@ -13250,51 +13250,51 @@ MAX7456
01010101
01010101
01010101
+01010000
+00000101
01010101
+01001010
+10100000
+00000101
+00100000
+00001010
+10100001
+00101010
+10100101
+01011000
+00100101
+00000001
+01011000
+00100100
+10101000
+01011000
+00100100
+10000010
+00011000
+00100100
+10000010
+00011000
+00100100
+10101000
+01011000
+00100100
+10000001
+01011000
+00100100
+10000101
+01011000
+00100101
+00010101
+01011000
+00100101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01011000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/large.png b/resources/osd/large.png
index bbb39889..4587ae96 100644
Binary files a/resources/osd/large.png and b/resources/osd/large.png differ
diff --git a/resources/osd/large/207.png b/resources/osd/large/207.png
new file mode 100644
index 00000000..d3871be0
Binary files /dev/null and b/resources/osd/large/207.png differ
diff --git a/resources/osd/vision.mcm b/resources/osd/vision.mcm
index 3ff69639..4e3611f6 100644
--- a/resources/osd/vision.mcm
+++ b/resources/osd/vision.mcm
@@ -13253,48 +13253,48 @@ MAX7456
01010101
01010101
01010101
+01010000
+00000101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01001010
+10100000
+00000101
+00100000
+00001010
+10100001
+00101010
+10100101
+01011000
+00100101
+00000001
+01011000
+00100100
+10101000
+01011000
+00100100
+10000010
+00011000
+00100100
+10000010
+00011000
+00100100
+10101000
+01011000
+00100100
+10000001
+01011000
+00100100
+10000101
+01011000
+00100101
+00010101
+01011000
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
01010101
01010101
01010101
diff --git a/resources/osd/vision.png b/resources/osd/vision.png
index bf1b5580..c9fdf8e1 100644
Binary files a/resources/osd/vision.png and b/resources/osd/vision.png differ
diff --git a/resources/osd/vision/207.png b/resources/osd/vision/207.png
new file mode 100644
index 00000000..23fa4f19
Binary files /dev/null and b/resources/osd/vision/207.png differ
diff --git a/src/css/tabs/mission_planer.css b/src/css/tabs/mission_planer.css
index 1bdcef81..344dcf84 100644
--- a/src/css/tabs/mission_planer.css
+++ b/src/css/tabs/mission_planer.css
@@ -61,6 +61,10 @@
background-image: url(../images/icons/cf_icon_MP_removeAll_grey.svg);
}
+.tab-mission-control .ic_openMultimission {
+ background-image: url(../images/icons/cf_icon_multimission_white.svg);
+}
+
.tab-mission-control .ic_save {
background-image: url(../images/icons/cf_icon_MP_save_grey.svg);
}
@@ -93,6 +97,10 @@
background-image: url(../images/icons/cf_icon_MP_center_grey.svg);
}
+.tab-mission-control .ic_setup {
+ background-image: url(../images/icons/cf_icon_setup_white.svg);
+}
+
.tab-mission-control .btnicon {
background-repeat: no-repeat;
background-position: center;
@@ -277,21 +285,31 @@
.ol-touch .mission-control-settings {
top: 80px;
}
-.mission-control-safehome {
- top: 115px;
- left: .5em;
-}
-.ol-touch .mission-control-safehome {
- top: 120px;
-}
-.mission-control-elevation {
+.mission-control-multimission {
top: 90px;
left: .5em;
}
-.ol-touch .mission-control-elevation {
+.ol-touch .mission-control-multimission {
top: 100px;
}
+
+.mission-control-elevation {
+ top: 115px;
+ left: .5em;
+}
+.ol-touch .mission-control-elevation {
+ top: 120px;
+}
+
+.mission-control-safehome {
+ top: 140px;
+ left: .5em;
+}
+.ol-touch .mission-control-safehome {
+ top: 140px;
+}
+
.mission-control-template {
top: 140px;
left: .5em;
diff --git a/tabs/adjustments.html b/tabs/adjustments.html
index a50ffc6c..1c5016f3 100644
--- a/tabs/adjustments.html
+++ b/tabs/adjustments.html
@@ -86,7 +86,6 @@
-
diff --git a/tabs/advanced_tuning.html b/tabs/advanced_tuning.html
index 8edd2b87..6b14310b 100644
--- a/tabs/advanced_tuning.html
+++ b/tabs/advanced_tuning.html
@@ -215,13 +215,23 @@
-