1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-23 00:05:22 +03:00

Merge pull request #1280 from McGiverGim/add_unknown_osd_warning

Add unknown OSD warnings
This commit is contained in:
Michael Keller 2019-01-24 01:44:58 +13:00 committed by GitHub
commit e7f6269871
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 4 deletions

View file

@ -3687,6 +3687,9 @@
"message": "Select the timer alarm threshold in minutes, when the time exceeds this value the OSD element will blink, setting this to 0 disables the alarm" "message": "Select the timer alarm threshold in minutes, when the time exceeds this value the OSD element will blink, setting this to 0 disables the alarm"
}, },
"osdWarningUnknown": {
"message": "Unknown warning (details to be added in a future release)"
},
"osdWarningArmingDisabled": { "osdWarningArmingDisabled": {
"message": "Reports the most severe reason for not arming" "message": "Reports the most severe reason for not arming"
}, },

View file

@ -1342,7 +1342,7 @@ OSD.msp = {
result.push16(OSD.data.alarms.alt.value); result.push16(OSD.data.alarms.alt.value);
if (semver.gte(CONFIG.apiVersion, "1.37.0")) { if (semver.gte(CONFIG.apiVersion, "1.37.0")) {
var warningFlags = 0; var warningFlags = 0;
for (var i = 0; i < OSD.constants.WARNINGS.length; i++) { for (var i = 0; i < OSD.data.warnings.length; i++) {
if (OSD.data.warnings[i].enabled) { if (OSD.data.warnings[i].enabled) {
warningFlags |= (1 << i); warningFlags |= (1 << i);
} }
@ -1485,14 +1485,25 @@ OSD.msp = {
} }
// Parse enabled warnings // Parse enabled warnings
var warningCount = OSD.constants.WARNINGS.length;
var warningFlags = view.readU16(); var warningFlags = view.readU16();
if (semver.gte(CONFIG.apiVersion, "1.41.0")) { if (semver.gte(CONFIG.apiVersion, "1.41.0")) {
var warningCount = view.readU8(); warningCount = view.readU8();
// the flags were replaced with a 32bit version // the flags were replaced with a 32bit version
warningFlags = view.readU32(); warningFlags = view.readU32();
} }
for (var i = 0; i < OSD.constants.WARNINGS.length; i++) { for (var i = 0; i < warningCount; i++) {
d.warnings.push($.extend(OSD.constants.WARNINGS[i], { enabled: (warningFlags & (1 << i)) != 0 }));
// Known warning field
if (i < OSD.constants.WARNINGS.length) {
d.warnings.push($.extend(OSD.constants.WARNINGS[i], { enabled: (warningFlags & (1 << i)) != 0 }));
// Push Unknown Warning field
} else {
var warningNumber = i - OSD.constants.WARNINGS.length + 1;
d.warnings.push({name: 'UNKNOWN_' + warningNumber, desc: 'osdWarningUnknown', enabled: (warningFlags & (1 << i)) != 0 });
}
} }
} }