diff --git a/locales/en/messages.json b/locales/en/messages.json index da485e5d..6fe8aee8 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -3564,6 +3564,12 @@ "osdDescElementFlipArrow": { "message": "Arrow showing which side motors are up in turtle mode" }, + "osdDescElementLinkQuality": { + "message": "Alternative indicator for 'link quality' based on frame loss - use with caution" + }, + "osdDescElementFlightDist": { + "message": "Distance flown during this flight." + }, "osdDescElementTimer1" : { "message": "Shows the value of timer 1" }, @@ -3585,6 +3591,9 @@ "osdDescGForce": { "message": "Shows how much G-Force the craft is experiencing" }, + "osdDescElementMotorDiag": { + "message": "Shows a graph of the output of each motor" + }, "osdDescElementLogStatus": { "message": "Blackbox number and warnings" }, @@ -3646,6 +3655,12 @@ "osdDescStatEscRpm": { "message": "Max ESC RPM" }, + "osdDescStatMinLinkQuality": { + "message": "Minimum of the alternative indicator for 'link quality' based on frame loss" + }, + "osdDescStatFlightDistance": { + "message": "Total distance travelled during the flight" + }, "osdTimerSource": { diff --git a/src/js/tabs/osd.js b/src/js/tabs/osd.js index 4aae3ec4..669ba06b 100755 --- a/src/js/tabs/osd.js +++ b/src/js/tabs/osd.js @@ -801,6 +801,17 @@ OSD.constants = { positionable: true, preview: '1.0G' }, + MOTOR_DIAG: { + name: 'MOTOR_DIAGNOSTICS', + desc: 'osdDescElementMotorDiag', + default_position: -1, + draw_order: 325, + positionable: true, + preview: FONT.symbol(0x84) + + FONT.symbol(0x85) + + FONT.symbol(0x84) + + FONT.symbol(0x83) + }, LOG_STATUS: { name: 'LOG_STATUS', desc: 'osdDescElementLogStatus', @@ -817,6 +828,24 @@ OSD.constants = { positionable: true, preview: FONT.symbol(SYM.ARROW_EAST) }, + LINK_QUALITY: { + name: 'LINK_QUALITY', + desc: 'osdDescElementLinkQuality', + default_position: -1, + draw_order: 350, + positionable: true, + preview: '8' + }, + FLIGHT_DIST: { + name: 'FLIGHT_DISTANCE', + desc: 'osdDescElementFlightDist', + default_position: -1, + draw_order: 360, + positionable: true, + preview: function(osd_data) { + return '653' + FONT.symbol(osd_data.unit_mode === 0 ? SYM.FEET : SYM.METRE); + } + }, }, UNKNOWN_DISPLAY_FIELD: { name: 'UNKNOWN_', @@ -901,6 +930,14 @@ OSD.constants = { MAX_ESC_RPM: { name: 'MAX_ESC_RPM', desc: 'osdDescStatEscRpm' + }, + MIN_LINK_QUALITY: { + name: 'MIN_LINK_QUALITY', + desc: 'osdDescStatMinLinkQuality' + }, + FLIGHT_DISTANCE: { + name: 'FLIGHT_DISTANCE', + desc: 'osdDescStatFlightDistance' } }, ALL_WARNINGS: { @@ -1046,13 +1083,16 @@ OSD.chooseFields = function () { if (semver.gte(CONFIG.apiVersion, "1.40.0")) { OSD.constants.DISPLAY_FIELDS = OSD.constants.DISPLAY_FIELDS.concat([ F.G_FORCE, - F.LOG_STATUS, - ]); - if (semver.gte(CONFIG.apiVersion, "1.41.0")) { - OSD.constants.DISPLAY_FIELDS = OSD.constants.DISPLAY_FIELDS.concat([ - F.FLIP_ARROW, + ]); + if (semver.gte(CONFIG.apiVersion, "1.41.0")) { + OSD.constants.DISPLAY_FIELDS = OSD.constants.DISPLAY_FIELDS.concat([ + F.MOTOR_DIAG, + F.LOG_STATUS, + F.FLIP_ARROW, + F.LINK_QUALITY, + F.FLIGHT_DIST, ]); - } + } } } } @@ -1135,8 +1175,10 @@ OSD.chooseFields = function () { ]; if (semver.gte(CONFIG.apiVersion, "1.41.0")) { OSD.constants.STATISTIC_FIELDS = OSD.constants.STATISTIC_FIELDS.concat([ - F.MAX_ESC_TEMP, - F.MAX_ESC_RPM + F.MAX_ESC_TEMP, + F.MAX_ESC_RPM, + F.MIN_LINK_QUALITY, + F.FLIGHT_DISTANCE ]); } }