Perform UI-side conversion for alt_alarm too

alt_alarm now performs unit conversion on the UI if the FC
firmware version is greater than 1.7.3
pull/276/head
Alberto García Hierro 7 years ago
parent 72c3a48078
commit 75db725f02

@ -251,6 +251,42 @@ FONT.embed_dot = function(str) {
var OSD = OSD || {};
// common functions for altitude and negative altitude alarms
function altitude_alarm_unit(osd_data) {
if (OSD.data.unit_mode === 0) {
return 'ft';
}
return 'm';
}
function altitude_alarm_to_display(osd_data, value) {
if (OSD.data.unit_mode === 0) {
// meters to feet
return Math.round(value * 3.28084)
}
return value;
}
function altitude_alarm_from_display(osd_data, value) {
if (OSD.data.unit_mode === 0) {
// feet to meters
return Math.round(value / 3.28084);
}
return value;
}
// Used to wrap altitude conversion functions for firmwares up
// to 1.7.3, since the altitude alarm used either m or feet
// depending on the OSD display unit used (hence, no conversion)
function altitude_alarm_display_function(fn) {
return function(osd_data, value) {
if (semver.gt(CONFIG.flightControllerVersion, '1.7.3')) {
return fn(osd_data, value)
}
return value;
}
}
// parsed fc output and output to fc, used by to OSD.msp.encode
OSD.initData = function () {
OSD.data = {
@ -302,12 +338,9 @@ OSD.constants = {
},
{
name: 'MAX_ALTITUDE',
unit: function(osd_data) {
if (OSD.data.unit_mode === 0) {
return 'ft';
}
return 'm';
},
unit: altitude_alarm_unit,
to_display: altitude_alarm_display_function(altitude_alarm_to_display),
from_display: altitude_alarm_display_function(altitude_alarm_from_display),
},
{
name: 'DIST',
@ -340,26 +373,9 @@ OSD.constants = {
},
{
name: 'MAX_NEG_ALTITUDE',
unit: function(osd_data) {
if (OSD.data.unit_mode === 0) {
return 'ft';
}
return 'm';
},
to_display: function(osd_data, value) {
if (OSD.data.unit_mode === 0) {
// meters to feet
return Math.round(value * 3.28084)
}
return value;
},
from_display: function(osd_data, value) {
if (OSD.data.unit_mode === 0) {
// feet to meters
return Math.round(value / 3.28084);
}
return value;
},
unit: altitude_alarm_unit,
to_display: altitude_alarm_to_display,
from_display: altitude_alarm_from_display,
},
],

Loading…
Cancel
Save