1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-26 01:35:23 +03:00

Merge branch 'master' into feature/uiunits

This commit is contained in:
Elgan Sayer 2021-11-11 19:51:13 +00:00 committed by GitHub
commit 1a05df71da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 1197 additions and 572 deletions

View file

@ -566,7 +566,7 @@
"message": "Settings restored to <strong>default</strong>" "message": "Settings restored to <strong>default</strong>"
}, },
"initialSetupEepromSaved": { "initialSetupEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>" "message": "EEPROM <span style=\"color: #37a8db\">saved</span>: Setup"
}, },
"RX_PPM": { "RX_PPM": {
@ -1015,7 +1015,7 @@
"message": "Craft name. Can be displayed by OSD and by compatible RC systems." "message": "Craft name. Can be displayed by OSD and by compatible RC systems."
}, },
"configurationEepromSaved": { "configurationEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>" "message": "EEPROM <span style=\"color: #37a8db\">saved</span>: Configuration"
}, },
"configurationButtonSave": { "configurationButtonSave": {
"message": "Save and Reboot" "message": "Save and Reboot"
@ -1222,7 +1222,7 @@
"message": "PID data <strong>refreshed</strong>" "message": "PID data <strong>refreshed</strong>"
}, },
"pidTuningEepromSaved": { "pidTuningEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>" "message": "EEPROM <span style=\"color: #37a8db\">saved</span>: PID Tuning"
}, },
"receiverHelp": { "receiverHelp": {
@ -1286,7 +1286,7 @@
"message": "RC Tuning data <strong>refreshed</strong>" "message": "RC Tuning data <strong>refreshed</strong>"
}, },
"receiverEepromSaved": { "receiverEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>" "message": "EEPROM <span style=\"color: #37a8db\">saved</span>: Receiver"
}, },
"auxiliaryHelp": { "auxiliaryHelp": {
@ -1534,9 +1534,11 @@
"message": "Save" "message": "Save"
}, },
"adjustmentsEepromSaved": { "adjustmentsEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>" "message": "EEPROM <span style=\"color: #37a8db\">saved</span>: Adjustments"
},
"programmingEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>: Programming"
}, },
"transponderNotSupported": { "transponderNotSupported": {
"message": "Your flight controller's firmware does not support transponder functionality." "message": "Your flight controller's firmware does not support transponder functionality."
}, },
@ -1562,7 +1564,7 @@
"message": "Transponder data is <span style=\"color: red\">invalid</span>" "message": "Transponder data is <span style=\"color: red\">invalid</span>"
}, },
"transponderEepromSaved": { "transponderEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>" "message": "EEPROM <span style=\"color: #37a8db\">saved</span>: Transponder"
}, },
"servosChangeDirection": { "servosChangeDirection": {
"message": "Change Direction in TX To Match" "message": "Change Direction in TX To Match"
@ -2018,7 +2020,7 @@
"message": "Save" "message": "Save"
}, },
"ledStripEepromSaved": { "ledStripEepromSaved": {
"message": "EEPROM <span style=\"color: #37a8db\">saved</span>" "message": "EEPROM <span style=\"color: #37a8db\">saved</span>: LED"
}, },
"controlAxisRoll": { "controlAxisRoll": {
@ -2498,12 +2500,21 @@
"userControlMode": { "userControlMode": {
"message": "User Control Mode" "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": { "posholdMaxSpeed": {
"message": "Max. navigation speed [cm/s]" "message": "Max. navigation speed [cm/s]"
}, },
"posholdMaxManualSpeed": { "posholdMaxManualSpeed": {
"message": "Max. CRUISE speed [cm/s]" "message": "Max. CRUISE speed [cm/s]"
}, },
"posholdMaxManualSpeedHelp": {
"message": "Maximum horizonal velocity allowed for pilot manual control during POSHOLD/CRUISE mode"
},
"posholdMaxClimbRate": { "posholdMaxClimbRate": {
"message": "Max. navigation climb rate [cm/s]" "message": "Max. navigation climb rate [cm/s]"
}, },
@ -2804,6 +2815,12 @@
"osd_plus_code_short": { "osd_plus_code_short": {
"message" : "Plus Code Remove Leading Digits" "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": { "osd_crosshairs_style": {
"message" : "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." "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": { "osdElement_GPS_SPEED": {
"message": "GPS Speed" "message": "Ground Speed"
}, },
"osdElement_GPS_SPEED_HELP": { "osdElement_GPS_SPEED_HELP": {
"message": "Shows GPS ground speed." "message": "Shows GPS ground speed."
@ -3251,6 +3268,9 @@
"osdElement_WIND_SPEED_VERTICAL_HELP": { "osdElement_WIND_SPEED_VERTICAL_HELP": {
"message": "Shows estimated vertical wind speed and direction (up or down)." "message": "Shows estimated vertical wind speed and direction (up or down)."
}, },
"osdElement_ACTIVE_PROFILE": {
"message": "Show the active profile"
},
"osdElement_LEVEL_PIDS": { "osdElement_LEVEL_PIDS": {
"message": "Level PIDs" "message": "Level PIDs"
}, },
@ -3363,16 +3383,16 @@
"message": "Hide unsupported elements" "message": "Hide unsupported elements"
}, },
"osd_dji_ESC_temp": { "osd_dji_ESC_temp": {
"message" : "Source of ESC Temperature" "message" : "Source of <i>ESC Temperature</i>"
}, },
"osd_dji_RSSI_source": { "osd_dji_RSSI_source": {
"message" : "Source of RSSI" "message" : "Source of <i>RSSI</i>"
}, },
"osd_dji_GPS_source": { "osd_dji_GPS_source": {
"message" : "Source of GPS Speed" "message" : "Source of <i>GPS Speed</i>"
}, },
"osd_dji_speed_source": { "osd_dji_speed_source": {
"message" : "Source of 3D Speed" "message" : "Source of <i>3D Speed</i>"
}, },
"osd_dji_use_craft_name_elements": { "osd_dji_use_craft_name_elements": {
"message" : "Use craft name for messages and additional elements.</span><br/>Elements in <span class=\"blue\">blue</span> appear in Craft Name." "message" : "Use craft name for messages and additional elements.</span><br/>Elements in <span class=\"blue\">blue</span> appear in Craft Name."
@ -3494,6 +3514,9 @@
"missionSafehomeHead": { "missionSafehomeHead": {
"message": "Safe Home manager" "message": "Safe Home manager"
}, },
"missionMultiMissionHead": {
"message": "Multi Missions"
},
"missionTemplateHead": { "missionTemplateHead": {
"message": "Mission template" "message": "Mission template"
}, },
@ -3512,6 +3535,15 @@
"confirm_delete_point_with_options": { "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!" "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": { "no_waypoints_to_load": {
"message": "No waypoints to load !" "message": "No waypoints to load !"
}, },
@ -3857,10 +3889,16 @@
"fwLevelTrimMechanics": { "fwLevelTrimMechanics": {
"message": "Fixed Wing Level Trim" "message": "Fixed Wing Level Trim"
}, },
"d_boost_factor": { "d_boost_min": {
"message": "D-Boost Factor" "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." "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": { "d_boost_max_at_acceleration": {

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version="1.1"
id="Capa_1"
x="0px"
y="0px"
viewBox="0 0 141.7 141.7"
enable-background="new 0 0 141.7 141.7"
xml:space="preserve"
sodipodi:docname="cf_icon_MM_white.svg"
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs12" /><sodipodi:namedview
id="namedview10"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
showgrid="false"
inkscape:zoom="3.7402965"
inkscape:cx="77.132923"
inkscape:cy="70.983678"
inkscape:window-width="1366"
inkscape:window-height="715"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1" />
<g
id="g7"
transform="rotate(-90,69.810245,71.05)">
<g
id="_x34_29._Network">
<g
id="g4">
<path
fill="#ffffff"
d="M 122.4,98.3 V 77.6 c 0,-7.2 -5.9,-13.1 -13.1,-13.1 H 76.6 V 43.7 C 84.2,41 89.7,33.7 89.7,25.2 89.7,14.4 80.9,5.6 70.1,5.6 59.3,5.6 50.5,14.4 50.5,25.2 50.5,33.8 56,41 63.6,43.7 V 64.5 H 30.7 c -7.2,0 -13.1,5.9 -13.1,13.1 V 98.4 C 10,101 4.5,108.3 4.5,116.8 c 0,10.8 8.8,19.6 19.6,19.6 10.8,0 19.6,-8.8 19.6,-19.6 0,-8.5 -5.5,-15.8 -13.1,-18.5 V 77.6 h 32.7 v 20.8 c -7.6,2.7 -13.1,9.9 -13.1,18.5 0,10.8 8.8,19.6 19.6,19.6 10.8,0 19.6,-8.8 19.6,-19.6 0,-8.5 -5.5,-15.8 -13.1,-18.5 V 77.6 H 109 v 20.8 c -7.6,2.7 -13.1,9.9 -13.1,18.5 0,10.8 8.8,19.6 19.6,19.6 10.8,0 19.6,-8.8 19.6,-19.6 0.4,-8.6 -5.1,-15.9 -12.7,-18.6 z m -98.2,25.1 c -3.6,0 -6.5,-2.9 -6.5,-6.5 0,-3.6 2.9,-6.5 6.5,-6.5 3.6,0 6.5,2.9 6.5,6.5 0,3.6 -2.9,6.5 -6.5,6.5 z m 45.8,0 c -3.6,0 -6.5,-2.9 -6.5,-6.5 0,-3.6 2.9,-6.5 6.5,-6.5 3.6,0 6.5,2.9 6.5,6.5 0.1,3.6 -2.9,6.5 -6.5,6.5 z m 0,-91.7 c -3.6,0 -6.5,-2.9 -6.5,-6.6 0,-3.6 2.9,-6.5 6.5,-6.5 3.6,0 6.5,2.9 6.5,6.5 0.1,3.7 -2.9,6.6 -6.5,6.6 z m 45.8,91.7 c -3.6,0 -6.5,-2.9 -6.5,-6.5 0,-3.6 2.9,-6.5 6.5,-6.5 3.6,0 6.5,2.9 6.5,6.5 0.1,3.6 -2.8,6.5 -6.5,6.5 z"
id="path2" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -214,7 +214,11 @@ helper.defaultsDialog = (function () {
value: 10 value: 10
}, },
{ {
key: "d_boost_factor", key: "d_boost_min",
value: 1
},
{
key: "d_boost_max",
value: 1 value: 1
}, },
{ {
@ -263,7 +267,7 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "nav_fw_pos_z_p", key: "nav_fw_pos_z_p",
value: 20 value: 15
}, },
{ {
key: "nav_fw_pos_z_d", key: "nav_fw_pos_z_d",
@ -279,7 +283,7 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "max_angle_inclination_rll", key: "max_angle_inclination_rll",
value: 350 value: 450
}, },
{ {
key: "nav_fw_bank_angle", key: "nav_fw_bank_angle",
@ -291,7 +295,11 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "fw_i_pitch", key: "fw_i_pitch",
value: 10 value: 5
},
{
key: "fw_d_pitch",
value: 5
}, },
{ {
key: "fw_ff_pitch", key: "fw_ff_pitch",
@ -299,15 +307,19 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "fw_p_roll", key: "fw_p_roll",
value: 10 value: 15
}, },
{ {
key: "fw_i_roll", key: "fw_i_roll",
value: 8 value: 3
},
{
key: "fw_d_roll",
value: 7
}, },
{ {
key: "fw_ff_roll", key: "fw_ff_roll",
value: 40 value: 50
}, },
{ {
key: "fw_p_yaw", key: "fw_p_yaw",
@ -315,7 +327,7 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "fw_i_yaw", key: "fw_i_yaw",
value: 5 value: 0
}, },
{ {
key: "fw_ff_yaw", key: "fw_ff_yaw",
@ -355,7 +367,7 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "nav_wp_radius", key: "nav_wp_radius",
value: 1500 value: 5000
}, },
], ],
"features": [ "features": [
@ -392,7 +404,11 @@ helper.defaultsDialog = (function () {
value: 10 value: 10
}, },
{ {
key: "d_boost_factor", key: "d_boost_min",
value: 1
},
{
key: "d_boost_max",
value: 1 value: 1
}, },
{ {
@ -441,7 +457,7 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "nav_fw_pos_z_p", key: "nav_fw_pos_z_p",
value: 20 value: 15
}, },
{ {
key: "nav_fw_pos_z_d", key: "nav_fw_pos_z_d",
@ -457,7 +473,7 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "max_angle_inclination_rll", key: "max_angle_inclination_rll",
value: 450 value: 550
}, },
{ {
key: "nav_fw_bank_angle", key: "nav_fw_bank_angle",
@ -465,11 +481,15 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "fw_p_pitch", key: "fw_p_pitch",
value: 10 value: 15
}, },
{ {
key: "fw_i_pitch", key: "fw_i_pitch",
value: 15 value: 5
},
{
key: "fw_d_pitch",
value: 5
}, },
{ {
key: "fw_ff_pitch", key: "fw_ff_pitch",
@ -477,15 +497,15 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "fw_p_roll", key: "fw_p_roll",
value: 5 value: 15
}, },
{ {
key: "fw_i_roll", key: "fw_i_roll",
value: 8 value: 3
}, },
{ {
key: "fw_ff_roll", key: "fw_ff_roll",
value: 35 value: 50
}, },
{ {
key: "imu_acc_ignore_rate", key: "imu_acc_ignore_rate",
@ -521,7 +541,7 @@ helper.defaultsDialog = (function () {
}, },
{ {
key: "nav_wp_radius", key: "nav_wp_radius",
value: 1500 value: 5000
}, },
], ],
"features": [ "features": [

View file

@ -1243,6 +1243,17 @@ var FC = {
hasOperand: [true, true], hasOperand: [true, true],
output: "boolean" output: "boolean"
}, },
41: {
name: "LOITER RADIUS OVERRIDE",
hasOperand: [true, false],
output: "boolean"
},
42: {
name: "SET PROFILE",
hasOperand: [true, false],
output: "boolean"
},
} }
}, },
getOperandTypes: function () { getOperandTypes: function () {
@ -1301,6 +1312,8 @@ var FC = {
32: "CRSF LQ", 32: "CRSF LQ",
33: "CRSF SNR", 33: "CRSF SNR",
34: "GPS Valid Fix", 34: "GPS Valid Fix",
35: "Loiter Radius [cm]",
36: "Active Profile",
} }
}, },
3: { 3: {

View file

@ -455,7 +455,8 @@ var mspHelper = (function (gui) {
data.getInt32(10, true), data.getInt32(10, true),
data.getInt16(14, true), data.getInt16(14, true),
data.getInt16(16, true), data.getInt16(16, true),
data.getInt16(18, true) data.getInt16(18, true),
data.getUint8(20)
)); ));
break; break;
case MSPCodes.MSP_BOXIDS: case MSPCodes.MSP_BOXIDS:
@ -519,7 +520,7 @@ var mspHelper = (function (gui) {
)); ));
} }
} }
break; break;
case MSPCodes.MSP2_INAV_LOGIC_CONDITIONS_STATUS: 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.Y = data.getInt16(15, true);
CALIBRATION_DATA.magZero.Z = data.getInt16(17, true); CALIBRATION_DATA.magZero.Z = data.getInt16(17, true);
CALIBRATION_DATA.opflow.Scale = (data.getInt16(19, true) / 256.0); CALIBRATION_DATA.opflow.Scale = (data.getInt16(19, true) / 256.0);
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) { if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) {
CALIBRATION_DATA.magGain.X = data.getInt16(21, true); CALIBRATION_DATA.magGain.X = data.getInt16(21, true);
CALIBRATION_DATA.magGain.Y = data.getInt16(23, true); CALIBRATION_DATA.magGain.Y = data.getInt16(23, true);
@ -1513,8 +1514,8 @@ var mspHelper = (function (gui) {
break; break;
case MSPCodes.MSP2_INAV_SET_SAFEHOME: case MSPCodes.MSP2_INAV_SET_SAFEHOME:
console.log('Safehome points saved'); console.log('Safehome points saved');
break; break;
default: default:
console.log('Unknown code detected: ' + dataHandler.code); console.log('Unknown code detected: ' + dataHandler.code);
} else { } else {
@ -2125,7 +2126,7 @@ var mspHelper = (function (gui) {
buffer.push(SENSOR_CONFIG.opflow); buffer.push(SENSOR_CONFIG.opflow);
break; break;
case MSPCodes.MSP_WP_MISSION_SAVE: case MSPCodes.MSP_WP_MISSION_SAVE:
// buffer.push(0); // buffer.push(0);
console.log(buffer); console.log(buffer);
@ -2985,51 +2986,50 @@ var mspHelper = (function (gui) {
self.getMissionInfo = function (callback) { self.getMissionInfo = function (callback) {
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback); MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
}; };
self.loadWaypoints = function (callback) { self.loadWaypoints = function (callback) {
MISSION_PLANER.reinit(); MISSION_PLANER.reinit();
let waypointId = 1; let waypointId = 0;
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, getFirstWP); let startTime = new Date().getTime();
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, loadWaypoint);
function getFirstWP() {
MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, nextWaypoint) function loadWaypoint() {
};
function nextWaypoint() {
waypointId++; waypointId++;
if (waypointId < MISSION_PLANER.getCountBusyPoints()) { if (waypointId < MISSION_PLANER.getCountBusyPoints()) {
MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, nextWaypoint); MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, loadWaypoint);
} } else {
else { GUI.log('Receive time: ' + (new Date().getTime() - startTime) + 'ms');
MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, callback); 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++; waypointId++;
if (waypointId < MISSION_PLANER.get().length) { 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 { else {
MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, endMission); MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, endMission);
} }
}; };
function endMission() { function endMission() {
GUI.log('Send time: ' + (new Date().getTime() - startTime) + 'ms');
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback); MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
} }
}; };
self.loadSafehomes = function (callback) { self.loadSafehomes = function (callback) {
SAFEHOMES.flush(); SAFEHOMES.flush();
let safehomeId = 0; let safehomeId = 0;
MSP.send_message(MSPCodes.MSP2_INAV_SAFEHOME, [safehomeId], false, nextSafehome); MSP.send_message(MSPCodes.MSP2_INAV_SAFEHOME, [safehomeId], false, nextSafehome);
function nextSafehome() { function nextSafehome() {
safehomeId++; safehomeId++;
if (safehomeId < SAFEHOMES.getMaxSafehomeCount()-1) { if (safehomeId < SAFEHOMES.getMaxSafehomeCount()-1) {
@ -3040,11 +3040,11 @@ var mspHelper = (function (gui) {
} }
}; };
}; };
self.saveSafehomes = function (callback) { self.saveSafehomes = function (callback) {
let safehomeId = 0; let safehomeId = 0;
MSP.send_message(MSPCodes.MSP2_INAV_SET_SAFEHOME, SAFEHOMES.extractBuffer(safehomeId), false, nextSendSafehome); MSP.send_message(MSPCodes.MSP2_INAV_SET_SAFEHOME, SAFEHOMES.extractBuffer(safehomeId), false, nextSendSafehome);
function nextSendSafehome() { function nextSendSafehome() {
safehomeId++; safehomeId++;
if (safehomeId < SAFEHOMES.getMaxSafehomeCount()-1) { 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) { 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);
}); });
}; };

View file

@ -72,7 +72,7 @@ let WaypointCollection = function () {
}; };
self.isEmpty = function () { self.isEmpty = function () {
return data == []; return data.length == 0;
}; };
self.flush = function () { self.flush = function () {
@ -149,7 +149,7 @@ let WaypointCollection = function () {
data = tmpData; data = tmpData;
}; };
self.update = function (bMWPfile=false, bReverse=false) { self.update = function (updateEndFlag = true, bMWPfile=false, bReverse=false) {
let oldWPNumber = 0; let oldWPNumber = 0;
let optionIdx = 0; let optionIdx = 0;
let idx = 0; let idx = 0;
@ -180,11 +180,15 @@ let WaypointCollection = function () {
optionIdx = 0; optionIdx = 0;
idx++; idx++;
} }
if (element.getNumber() == ((bMWPfile && bReverse) ? self.get().length : self.get().length-1)) {
element.setEndMission(0xA5); /* only update EndMission flag when required and only if single mission loaded on map */
} if (updateEndFlag) {
else { if (element.getNumber() == self.get().length - 1) {
element.setEndMission(0); element.setEndMission(0xA5);
}
else if ((element.getNumber() == self.get().length - 2) && element.getEndMission() == 0xA5) {
element.setEndMission(0);
}
} }
} }
}); });

View file

@ -13250,48 +13250,48 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01010000
00000101
01010101 01010101
01010101 01001010
01010101 10100000
01010101 00000101
01010101 00100000
01010101 00001010
01010101 10100001
01010101 00101010
01010101 10100101
01010101 01011000
01010101 00100101
01010101 00000001
01010101 01011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000001
01010101 01011000
01010101 00100100
01010101 10000101
01010101 01011000
01010101 00100101
01010101 00010101
01010101 01011000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
01010101
01010101
01010101 01010101
01010101 01010101
01010101 01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

BIN
resources/osd/bold/207.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -13253,48 +13253,48 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01010000
00000101
01010101 01010101
01010101 01001010
01010101 10100000
01010101 00000101
01010101 00100000
01010101 00001010
01010101 10100001
01010101 00101010
01010101 10100101
01010101 01011000
01010101 00100101
01010101 00000001
01010101 01011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000001
01010101 01011000
01010101 00100100
01010101 10000101
01010101 01011000
01010101 00100101
01010101 00010101
01010101 01011000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
01010101
01010101
01010101 01010101
01010101 01010101
01010101 01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -13256,48 +13256,48 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01010000
00000101
01010101 01010101
01010101 01001010
01010101 10100000
01010101 00000101
01010101 00100000
01010101 00001010
01010101 10100001
01010101 00101010
01010101 10100101
01010101 01011000
01010101 00100101
01010101 00000001
01010101 01011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000001
01010101 01011000
01010101 00100100
01010101 10000101
01010101 01011000
01010101 00100101
01010101 00010101
01010101 01011000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
01010101
01010101
01010101 01010101
01010101 01010101
01010101 01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -13250,48 +13250,48 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01010000
00000101
01010101 01010101
01010101 01001010
01010101 10100000
01010101 00000101
01010101 00100000
01010101 00001010
01010101 10100001
01010101 00101010
01010101 10100101
01010101 01011000
01010101 00100101
01010101 00000001
01010101 01011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000001
01010101 01011000
01010101 00100100
01010101 10000101
01010101 01011000
01010101 00100101
01010101 00010101
01010101 01011000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
01010101
01010101
01010101 01010101
01010101 01010101
01010101 01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -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_W | SYM.HEADING_W | Heading graph West | 203 | 0xCB
SYM_HEADING_DIVIDED_LINE | SYM.HEADING_DIVIDED_LINE | Heading graphic | 204 | 0xCC SYM_HEADING_DIVIDED_LINE | SYM.HEADING_DIVIDED_LINE | Heading graphic | 204 | 0xCC
SYM_HEADING_LINE | SYM.HEADING_LINE | Heading graphic | 205 | 0xCD 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_LOGO_START | | INAV Logo | 257 - 280 | 0x101 - 0x118
SYM_AH_LEFT | SYM.AH_LEFT | AHI Arrow left | 300 | 0x12C SYM_AH_LEFT | SYM.AH_LEFT | AHI Arrow left | 300 | 0x12C

View file

@ -13250,51 +13250,51 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01000000
00000101
01010101 01010101
01010101 00101010
01010101 10100000
01010101 00000001
01010101 00000000
01010101 00001010
01010101 10101000
01010101 00101010
01010101 10100000
01010101 00000000
01010101 00000000
01010101 00001010
01010101 10101000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 00101010
01010101 00000010
01010101 10101000
01010101 00101010
01010101 00101000
01010101 10101000
01010101 00101010
01010101 00101000
01010101 10101000
01010101 00101010
01010101 00000010
01010101 10101000
01010101 00101010
01010101 00101010
01010101 10101000
01010101 00101010
01010101 00101010
01010101 10101000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
01010101
01010101
01010101 01010101
01010101 01010101
01010101 01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -13247,51 +13247,51 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01000000
00000101
01010101 01010101
01010101 00101010
01010101 10100000
01010101 00000001
01010101 00000000
01010101 00001010
01010101 10101000
01010101 00101010
01010101 10100000
01010101 00000000
01010101 00000000
01010101 00001010
01010101 10101000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 00101010
01010101 00000010
01010101 10101000
01010101 00101010
01010101 00101000
01010101 10101000
01010101 00101010
01010101 00101000
01010101 10101000
01010101 00101010
01010101 00000010
01010101 10101000
01010101 00101010
01010101 00101010
01010101 10101000
01010101 00101010
01010101 00101010
01010101 10101000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
01010101
01010101
01010101 01010101
01010101 01010101
01010101 01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -13250,51 +13250,51 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01010000
00000101
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
00100101
01010101 01010101
01010101 01011000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

BIN
resources/osd/large/207.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -13253,48 +13253,48 @@ MAX7456
01010101 01010101
01010101 01010101
01010101 01010101
01010000
00000101
01010101 01010101
01010101 01001010
01010101 10100000
01010101 00000101
01010101 00100000
01010101 00001010
01010101 10100001
01010101 00101010
01010101 10100101
01010101 01011000
01010101 00100101
01010101 00000001
01010101 01011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10000010
01010101 00011000
01010101 00100100
01010101 10101000
01010101 01011000
01010101 00100100
01010101 10000001
01010101 01011000
01010101 00100100
01010101 10000101
01010101 01011000
01010101 00100101
01010101 00010101
01010101 01011000
01010101 00101010
01010101 10101010
01010101 10101000
01010101 01000000
01010101 00000000
01010101 00000001
01010101
01010101
01010101 01010101
01010101 01010101
01010101 01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -61,6 +61,10 @@
background-image: url(../images/icons/cf_icon_MP_removeAll_grey.svg); 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 { .tab-mission-control .ic_save {
background-image: url(../images/icons/cf_icon_MP_save_grey.svg); 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); 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 { .tab-mission-control .btnicon {
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
@ -277,21 +285,31 @@
.ol-touch .mission-control-settings { .ol-touch .mission-control-settings {
top: 80px; top: 80px;
} }
.mission-control-safehome {
top: 115px;
left: .5em;
}
.ol-touch .mission-control-safehome {
top: 120px;
}
.mission-control-elevation { .mission-control-multimission {
top: 90px; top: 90px;
left: .5em; left: .5em;
} }
.ol-touch .mission-control-elevation { .ol-touch .mission-control-multimission {
top: 100px; 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 { .mission-control-template {
top: 140px; top: 140px;
left: .5em; left: .5em;

View file

@ -86,7 +86,6 @@
<option value="19" i18n="adjustmentsFunction19"></option> <option value="19" i18n="adjustmentsFunction19"></option>
<option value="20" i18n="adjustmentsFunction20"></option> <option value="20" i18n="adjustmentsFunction20"></option>
<option value="21" i18n="adjustmentsFunction21"></option> <option value="21" i18n="adjustmentsFunction21"></option>
<option value="22" i18n="adjustmentsFunction22"></option>
<option value="23" i18n="adjustmentsFunction23"></option> <option value="23" i18n="adjustmentsFunction23"></option>
<option value="24" i18n="adjustmentsFunction24"></option> <option value="24" i18n="adjustmentsFunction24"></option>
<option value="25" i18n="adjustmentsFunction25"></option> <option value="25" i18n="adjustmentsFunction25"></option>

View file

@ -215,13 +215,23 @@
<select id="user-control-mode" data-setting="nav_user_control_mode"></select> <select id="user-control-mode" data-setting="nav_user_control_mode"></select>
<label for="user-control-mode"><span data-i18n="userControlMode"></span></label> <label for="user-control-mode"><span data-i18n="userControlMode"></span></label>
</div> </div>
<div class="number"> <div class="number">
<input id="max-speed" data-unit="cms" type="number" data-setting="nav_auto_speed" data-setting-multiplier="1" step="1" min="10" max="2000" /> <input id="max-speed" data-unit="cms" type="number" data-setting="nav_auto_speed" data-setting-multiplier="1" step="1" min="10" max="2000" />
<label for="max-speed"><span data-i18n="posholdMaxSpeed"></span></label> <label for="max-speed"><span data-i18n="posholdMaxSpeed"></span></label>
</div> </div>
<div class="number">
<input id="default-auto-speed" type="number" data-setting="nav_auto_speed" data-setting-multiplier="1" step="1" min="10" max="2000" />
<label for="default-auto-speed"><span data-i18n="posholdDefaultSpeed"></span></label>
<div class="helpicon cf_tip" data-i18n_title="posholdDefaultSpeedHelp"></div>
</div>
<div class="number">
<input id="max-auto-speed" type="number" data-setting="nav_max_auto_speed" data-setting-multiplier="1" step="1" min="10" max="2000" />
<label for="max-auto-speed"><span data-i18n="posholdMaxSpeed"></span></label>
</div>
<div class="number"> <div class="number">
<input id="max-manual-speed" data-unit="cms" type="number" data-setting="nav_manual_speed" data-setting-multiplier="1" step="1" min="10" max="2000" /> <input id="max-manual-speed" data-unit="cms" type="number" data-setting="nav_manual_speed" data-setting-multiplier="1" step="1" min="10" max="2000" />
<label for="max-manual-speed"><span data-i18n="posholdMaxManualSpeed"></span></label> <label for="max-manual-speed"><span data-i18n="posholdMaxManualSpeed"></span></label>
<div class="helpicon cf_tip" data-i18n_title="posholdMaxManualSpeedHelp"></div>
</div> </div>
<div class="number"> <div class="number">
<input id="max-bank-angle" type="number" data-setting="nav_mc_bank_angle" data-setting-multiplier="1" step="1" min="15" max="45" /> <input id="max-bank-angle" type="number" data-setting="nav_mc_bank_angle" data-setting-multiplier="1" step="1" min="15" max="45" />

View file

@ -37,6 +37,7 @@
</div> </div>
</div> </div>
</div> </div>
<div id="missionPlanerTotalInfo" class="gui_box grey"> <div id="missionPlanerTotalInfo" class="gui_box grey">
<div class="gui_box_titlebar"> <div class="gui_box_titlebar">
<div class="spacer_box_title i18n-replaced" data-i18n="missionTotalInformationHead">Total information</div> <div class="spacer_box_title i18n-replaced" data-i18n="missionTotalInformationHead">Total information</div>
@ -63,6 +64,7 @@
</div> </div>
</div> </div>
</div> </div>
<div id="missionPlanerSettings" class="gui_box grey" style="display: none"> <div id="missionPlanerSettings" class="gui_box grey" style="display: none">
<div class="gui_box_titlebar"> <div class="gui_box_titlebar">
<div class="spacer_box_title i18n-replaced" data-i18n="missionDefaultSettingsHead">Default settings</div> <div class="spacer_box_title i18n-replaced" data-i18n="missionDefaultSettingsHead">Default settings</div>
@ -87,6 +89,46 @@
</div> </div>
</div> </div>
<div id="missionPlannerMultiMission" class="gui_box grey" style="display: none">
<div class="gui_box_titlebar">
<div class="spacer_box_title i18n-replaced" data-i18n="missionMultiMissionHead">Multi Missions</div>
<div class="btnMenu btnMenuIcon save_btn">
<div id="showHideMultimissionButton">
<a class="ic_hide" href="#" title="Hide"></a>
</div>
<a id="cancelMultimission" class="ic_cancel" href="#" title="Cancel"></a>
</div>
</div>
<div class="spacer" id="multimissionContent">
<div class="btn btnTable btnTableIcon save_btn">
<div>
<span>Missions Info:</span>
<span id="multimissionInfo">None</span>
</div>
<div style="margin-top: 5px">
<span>Active Mission:</span>
<span id="activeNissionIndex">1</span>
<a class="ic_save disabled" id="setActiveMissionButton" href="#" title="Set Active"></a>
</div>
<hr>
<div style="display: inline-block">
<label for="multimissionOptionList">Mission No.</label>
<select name="Number" id="multimissionOptionList" style="width: 50px">
<option value="0">ALL</option>
</select>
<div style="float: right">
<span>Update All</span>
<a class="ic_save disabled" id="updateMultimissionButton" href="#" title="Update All"></a>
</div>
<div style="margin-bottom: 5px; margin-top: 5px">
<label for="addMultimissionButton">Add New Mission</label>
<a class="ic_add disabled" id="addMultimissionButton" href="#" title="Add"></a>
</div>
</div>
</div>
</div>
</div>
<div id="missionPlanerHome" class="gui_box grey" style="display: none"> <div id="missionPlanerHome" class="gui_box grey" style="display: none">
<div class="gui_box_titlebar"> <div class="gui_box_titlebar">
<div class="spacer_box_title i18n-replaced" data-i18n="missionHomeHead">Take Off home</div> <div class="spacer_box_title i18n-replaced" data-i18n="missionHomeHead">Take Off home</div>
@ -110,13 +152,13 @@
</thead> </thead>
<tbody id="homeTableBody"> <tbody id="homeTableBody">
<tr> <tr>
<td><div id="viewHomePoint" class="btnTable btnTableIcon"> <td><div id="viewHomePoint" class="btnTable btnTableIcon">
<a class="ic_center" data-role="home-center" href="#" title="move to center view"></a> <a class="ic_center" data-role="home-center" href="#" title="move to center view"></a>
</div> </div>
</td> </td>
<td><input type="number" class="home-lon" /></td> <td><input type="number" class="home-lon" /></td>
<td><input type="number" class="home-lat" /></td> <td><input type="number" class="home-lat" /></td>
<td><span id="elevationValueAtHome">N/A</span></td> <td><span id="elevationValueAtHome">N/A</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -180,8 +222,11 @@
<div id="showHideWPeditButton" class="save_btn"> <div id="showHideWPeditButton" class="save_btn">
<a class="ic_hide" href="#" title="Hide"></a> <a class="ic_hide" href="#" title="Hide"></a>
</div> </div>
<div id="removePoint" class="btnMenu-danger"> <div id="removePoint" class="btn btnMenu-danger">
<a class="ic_removeAll" href="#" title="Remove"></a> <a id="removePointButton" class="ic_removeAll" href="#" title="Remove"></a>
</div>
<div id="editMission" class="save_btn" style="display: none">
<a id="editMissionButton" class="ic_setup" href="#" title="Edit Mission"></a>
</div> </div>
</div> </div>
</div> </div>
@ -238,8 +283,8 @@
<thead> <thead>
<tr> <tr>
<th style="width: 30px"> <th style="width: 30px">
<div id="addOptionsPoint" class="btnTable btnTableIcon btnTable-success"> <div id="addOptionsPoint" class="btn btnTable btnTableIcon btnTable-success">
<a class="ic_add" data-role="waypointOptions-add" href="#" style="float: center" title="Add"></a> <a id="addOptionsPointButton" class="ic_add" data-role="waypointOptions-add" href="#" style="float: center" title="Add"></a>
</div> </div>
</th> </th>
<th style="width: 50px" data-i18n="WaypointOptionId"></th> <th style="width: 50px" data-i18n="WaypointOptionId"></th>

File diff suppressed because it is too large Load diff

View file

@ -75,6 +75,11 @@
<select class="update_preview" data-setting="osd_plus_code_short" data-live="true"></select> <select class="update_preview" data-setting="osd_plus_code_short" data-live="true"></select>
<span data-i18n="osd_plus_code_short"></span> <span data-i18n="osd_plus_code_short"></span>
</label> </label>
<div class="helpicon cf_tip" data-i18n_title="osd_esc_rpm_precision_help"></div>
<label>
<select class="update_preview" data-setting="osd_esc_rpm_precision" data-live="true"></select>
<span data-i18n="osd_esc_rpm_precision"></span>
</label>
<label> <label>
<select class="update_preview" data-setting="osd_crosshairs_style" data-live="true"></select> <select class="update_preview" data-setting="osd_crosshairs_style" data-live="true"></select>
<span data-i18n="osd_crosshairs_style"></span> <span data-i18n="osd_crosshairs_style"></span>

View file

@ -100,6 +100,7 @@ SYM.AH_NM = 0x3F;
SYM.WH_NM = 0x70; SYM.WH_NM = 0x70;
SYM.VTX_POWER = 0x27; SYM.VTX_POWER = 0x27;
SYM.MAX = 0xCE; SYM.MAX = 0xCE;
SYM.PROFILE = 0xCF;
SYM.AH_AIRCRAFT0 = 0x1A2; SYM.AH_AIRCRAFT0 = 0x1A2;
SYM.AH_AIRCRAFT1 = 0x1A3; SYM.AH_AIRCRAFT1 = 0x1A3;
@ -480,7 +481,7 @@ OSD.DjiElements = {
"LONGITUDE", "LONGITUDE",
"LATITUDE", "LATITUDE",
"DIRECTION_TO_HOME", "DIRECTION_TO_HOME",
"DISTANCE_TO_HOME" "DISTANCE_TO_HOME"
], ],
emptyGroups: [ emptyGroups: [
"MapsAndRadars", "MapsAndRadars",
@ -507,7 +508,7 @@ OSD.DjiElements = {
"3D_SPEED", "3D_SPEED",
"EFFICIENCY_MAH", "EFFICIENCY_MAH",
"TRIP_DIST" "TRIP_DIST"
] ]
}; };
OSD.constants = { OSD.constants = {
@ -784,7 +785,7 @@ OSD.constants = {
// Metric // Metric
return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_KM) + FONT.embed_dot('1.57'); return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_KM) + FONT.embed_dot('1.57');
} }
} else { } else {
switch (OSD.data.preferences.units) { switch (OSD.data.preferences.units) {
case 0: // Imperial case 0: // Imperial
@ -900,7 +901,10 @@ OSD.constants = {
name: 'ESC_RPM', name: 'ESC_RPM',
id: 106, id: 106,
min_version: '2.3.0', min_version: '2.3.0',
preview: FONT.symbol(SYM.RPM) + '983', preview: function(){
let rpmPreview = '112974'.substr((6 - parseInt(Settings.getInputValue('osd_esc_rpm_precision'))));
return FONT.symbol(SYM.RPM) + rpmPreview;
}
}, },
{ {
name: 'GLIDESLOPE', name: 'GLIDESLOPE',
@ -908,6 +912,12 @@ OSD.constants = {
min_version: '3.0.0', min_version: '3.0.0',
preview: FONT.symbol(SYM.GLIDESLOPE) + FONT.embed_dot('12.3'), preview: FONT.symbol(SYM.GLIDESLOPE) + FONT.embed_dot('12.3'),
}, },
{
name: 'MISSION INFO',
id: 129,
min_version: '4.0.0',
preview: 'M1/6>27WP'
},
{ {
name: 'VERSION', name: 'VERSION',
id: 119, id: 119,
@ -1712,6 +1722,13 @@ OSD.constants = {
{ {
name: 'osdGroupPIDs', name: 'osdGroupPIDs',
items: [ items: [
{
name: 'ACTIVE_PROFILE',
id: 128,
preview: function(osd_data) {
return FONT.symbol(SYM.PROFILE) + '1';
}
},
{ {
name: 'ROLL_PIDS', name: 'ROLL_PIDS',
id: 16, id: 16,
@ -2455,8 +2472,8 @@ OSD.GUI.updateFields = function() {
} }
$('#djiUnsupportedElements').prepend( $('#djiUnsupportedElements').prepend(
$('<input type="checkbox" class="toggle" />') $('<input type="checkbox" class="toggle" />')
.attr('checked', OSD.data.isDjiHdFpv) .attr('checked', OSD.data.isDjiHdFpv)
.on('change', function () { .on('change', function () {
OSD.GUI.updateDjiView(this.checked); OSD.GUI.updateDjiView(this.checked);
OSD.GUI.updatePreviews(); OSD.GUI.updatePreviews();
@ -2486,7 +2503,7 @@ OSD.GUI.removeBottomLines = function(){
OSD.GUI.updateDjiMessageElements = function(on) { OSD.GUI.updateDjiMessageElements = function(on) {
$('.display-field').each(function(index, element) { $('.display-field').each(function(index, element) {
var name = $(element).find('input').attr('name'); var name = $(element).find('input').attr('name');
if (OSD.DjiElements.craftNameElements.includes(name)) { if (OSD.DjiElements.craftNameElements.includes(name)) {
if (on) { if (on) {
$(element) $(element)
@ -2494,7 +2511,7 @@ OSD.GUI.updateDjiMessageElements = function(on) {
.show(); .show();
} else if ($('#djiUnsupportedElements').find('input').is(':checked')) { } else if ($('#djiUnsupportedElements').find('input').is(':checked')) {
$(element).hide(); $(element).hide();
} }
} }
if (!on) { if (!on) {
@ -2507,7 +2524,7 @@ OSD.GUI.updateDjiMessageElements = function(on) {
OSD.GUI.updateDjiView = function(on) { OSD.GUI.updateDjiView = function(on) {
if (on) { if (on) {
$(OSD.DjiElements.emptyGroups).each(function(index, groupName) { $(OSD.DjiElements.emptyGroups).each(function(index, groupName) {
$('#osdGroup' + groupName).hide(); $('#osdGroup' + groupName).hide();
}); });
var displayFields = $('.display-field'); var displayFields = $('.display-field');
@ -2520,10 +2537,10 @@ OSD.GUI.updateDjiView = function(on) {
var settings = $('.settings-container').find('.settings').children(); var settings = $('.settings-container').find('.settings').children();
settings.each(function(index, element) { settings.each(function(index, element) {
var name = $(element).attr('class'); var name = $(element).attr('class');
if (!OSD.DjiElements.supportedSettings.includes(name)) { if (!OSD.DjiElements.supportedSettings.includes(name)) {
$(element).hide(); $(element).hide();
} }
}); });
var alarms = $('.alarms-container').find('.settings').children(); var alarms = $('.alarms-container').find('.settings').children();
@ -2535,7 +2552,7 @@ OSD.GUI.updateDjiView = function(on) {
}); });
} else { } else {
$(OSD.DjiElements.emptyGroups).each(function(index, groupName) { $(OSD.DjiElements.emptyGroups).each(function(index, groupName) {
$('#osdGroup' + groupName).show(); $('#osdGroup' + groupName).show();
}); });
$('.display-field') $('.display-field')

View file

@ -270,13 +270,6 @@
<div class="helpicon cf_tip" data-i18n_title="gyro_main_lpf_hz_help"></div> <div class="helpicon cf_tip" data-i18n_title="gyro_main_lpf_hz_help"></div>
</td> </td>
</tr> </tr>
<tr>
<th>Matrix Gyro Filter</th>
<td>
<select data-setting="dynamic_gyro_notch_enabled" />
<div class="helpicon cf_tip" data-i18n_title="dynamic_gyro_notch_enabled_help"></div>
</td>
</tr>
<tr> <tr>
<th>Matrix Filter Min Frequency</th> <th>Matrix Filter Min Frequency</th>
<td> <td>
@ -291,12 +284,6 @@
<div class="helpicon cf_tip" title="The higher value, the higher selectivity of the Matrix Filter. Values between 150 and 300 are recommended"></div> <div class="helpicon cf_tip" title="The higher value, the higher selectivity of the Matrix Filter. Values between 150 and 300 are recommended"></div>
</td> </td>
</tr> </tr>
<tr>
<th>Unicorn Filter</th>
<td>
<select data-setting="setpoint_kalman_enabled" />
</td>
</tr>
<tr> <tr>
<th>Unicorn Filter Q Factor</th> <th>Unicorn Filter Q Factor</th>
<td> <td>
@ -319,13 +306,6 @@
<div class="helpicon cf_tip" data-i18n_title="dtermLpfCutoffFrequencyHelp"></div> <div class="helpicon cf_tip" data-i18n_title="dtermLpfCutoffFrequencyHelp"></div>
</td> </td>
</tr> </tr>
<tr>
<th data-i18n="dterm_lpf2_hz"></th>
<td>
<input data-setting="dterm_lpf2_hz" type="number" class="rate-tpa_input" />
<div class="helpicon cf_tip" data-i18n_title="dterm_lpf2_hz_help"></div>
</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -358,13 +338,6 @@
<div class="cf_column"> <div class="cf_column">
<table class="settings-table settings-table--filtering"> <table class="settings-table settings-table--filtering">
<tbody> <tbody>
<tr>
<th data-i18n="itermRelax"></th>
<td>
<select data-setting="mc_iterm_relax" />
<div class="helpicon cf_tip" data-i18n_title="itermRelaxHelp"></div>
</td>
</tr>
<tr> <tr>
<th data-i18n="itermRelaxCutoff"></th> <th data-i18n="itermRelaxCutoff"></th>
<td> <td>
@ -407,10 +380,17 @@
<table class="settings-table settings-table--filtering"> <table class="settings-table settings-table--filtering">
<tbody> <tbody>
<tr> <tr>
<th data-i18n="d_boost_factor"></th> <th data-i18n="d_boost_min"></th>
<td> <td>
<input data-setting="d_boost_factor" class="rate-tpa_input" /> <input data-setting="d_boost_min" class="rate-tpa_input" />
<div class="helpicon cf_tip" data-i18n_title="d_boost_factor_help"></div> <div class="helpicon cf_tip" data-i18n_title="d_boost_min_help"></div>
</td>
</tr>
<tr>
<th data-i18n="d_boost_max"></th>
<td>
<input data-setting="d_boost_max" class="rate-tpa_input" />
<div class="helpicon cf_tip" data-i18n_title="d_boost_max_help"></div>
</td> </td>
</tr> </tr>
<tr> <tr>

View file

@ -54,6 +54,7 @@ TABS.programming.initialize = function (callback, scrollPosition) {
$('#save-button').click(function () { $('#save-button').click(function () {
saveChainer.execute(); saveChainer.execute();
GUI.log(chrome.i18n.getMessage('programmingEepromSaved'));
}); });
helper.mspBalancedInterval.add('logic_conditions_pull', 100, 1, function () { helper.mspBalancedInterval.add('logic_conditions_pull', 100, 1, function () {