1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-25 01:05:12 +03:00

Merge pull request #696 from iNavFlight/agh_map_scale_and_reference_as_elements

Add MAP_SCALE and MAP_REFERENCE elements
This commit is contained in:
Alberto García Hierro 2019-03-15 10:04:18 +00:00 committed by GitHub
commit 6ddc173f58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 14 deletions

View file

@ -2581,6 +2581,18 @@
"osdElement_RADAR": {
"message": "Radar"
},
"osdElement_MAP_SCALE": {
"message": "Map Scale"
},
"osdElement_MAP_SCALE_HELP": {
"message": "Scale of the currently shown map/radar."
},
"osdElement_MAP_REFERENCE": {
"message": "Map Reference"
},
"osdElement_MAP_REFERENCE_HELP": {
"message": "Reference (direction that points up) of the current map. N for North and T for takeoff direction."
},
"osdElement_WIND_SPEED_HORIZONTAL": {
"message": "Horizontal Wind Speed"
},

View file

@ -1108,6 +1108,26 @@ OSD.constants = {
min_version: '2.0.0',
positionable: false,
},
{
name: 'MAP_SCALE',
id: 98,
min_version: '2.1.1',
preview: function(osd_data) {
var scale;
if (OSD.data.preferences.units === 0) {
scale = FONT.embed_dot("0.10") + FONT.symbol(SYM.MI);
} else {
scale = "100" + FONT.symbol(SYM.M);
}
return FONT.symbol(SYM.SCALE) + scale;
},
},
{
name: 'MAP_REFERENCE',
id: 99,
min_version: '2.1.1',
preview: FONT.symbol(SYM.DIRECTION) + '\nN',
},
],
},
{
@ -1955,21 +1975,24 @@ OSD.GUI.updateFields = function() {
OSD.GUI.updateMapPreview = function(mapCenter, name, directionSymbol, centerSymbol) {
if ($('input[name="' + name + '"]').prop('checked')) {
var mapInitialX = OSD.data.display_size.x - 2;
if (directionSymbol) {
OSD.GUI.checkAndProcessSymbolPosition(mapInitialX, SYM.DIRECTION);
OSD.GUI.checkAndProcessSymbolPosition(mapInitialX + OSD.data.display_size.x, directionSymbol.charCodeAt(0));
}
OSD.GUI.checkAndProcessSymbolPosition(mapCenter, centerSymbol);
var scalePos = 1 + OSD.data.display_size.x * (OSD.data.display_size.y - 2);
OSD.GUI.checkAndProcessSymbolPosition(scalePos, SYM.SCALE);
var scale;
if (OSD.data.preferences.units === 0) {
scale = FONT.embed_dot("0.10") + FONT.symbol(SYM.MI);
} else {
scale = "100" + FONT.symbol(SYM.M);
}
for (var ii = 0; ii < scale.length; ii++) {
OSD.GUI.checkAndProcessSymbolPosition(scalePos + ii + 1, scale.charCodeAt(ii));
if (semver.lt(CONFIG.flightControllerVersion, '2.1.1')) {
// INAV pre 2.1.1 had hardcoded map reference and scale
if (directionSymbol) {
OSD.GUI.checkAndProcessSymbolPosition(mapInitialX, SYM.DIRECTION);
OSD.GUI.checkAndProcessSymbolPosition(mapInitialX + OSD.data.display_size.x, directionSymbol.charCodeAt(0));
}
var scalePos = 1 + OSD.data.display_size.x * (OSD.data.display_size.y - 2);
OSD.GUI.checkAndProcessSymbolPosition(scalePos, SYM.SCALE);
var scale;
if (OSD.data.preferences.units === 0) {
scale = FONT.embed_dot("0.10") + FONT.symbol(SYM.MI);
} else {
scale = "100" + FONT.symbol(SYM.M);
}
for (var ii = 0; ii < scale.length; ii++) {
OSD.GUI.checkAndProcessSymbolPosition(scalePos + ii + 1, scale.charCodeAt(ii));
}
}
}
};