diff --git a/locales/en/messages.json b/locales/en/messages.json index 4372c5e8b8..5dd10521ba 100755 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -2295,57 +2295,45 @@ "auxiliaryModeLogicAND": { "message": "AND" }, + "auxiliaryHelpMode_3D": { + "message": "Enables reversible motor direction to provide negative thrust and allow inverted flight. Throttle becomes -100 to +100 instead of 0 to 100", + "description": "Help text to 3D mode" + }, + "auxiliaryHelpMode_ACROTRAINER": { + "message": "Flight mode which limits craft angle when flying in acro mode", + "description": "Help text to ACRO TRAINER mode" + }, "auxiliaryHelpMode_ARM": { - "message": "Enables motors and flight stabilisation", + "message": "Enables motor output and allows the craft to fly", "description": "Help text to ARM mode" }, "auxiliaryHelpMode_ANGLE": { "message": "In this auto-leveled mode the roll and pitch channels control the angle between the relevant axis and the vertical, achieving leveled flight just by leaving the sticks centered", "description": "Help text to ANGLE mode" }, - "auxiliaryHelpMode_HORIZON": { - "message": "This hybrid mode works exactly like the ANGLE mode with centered roll and pitch sticks (thus enabling auto-leveled flight), then gradually behaves more and more like the default RATE mode as the sticks are moved away from the center position", - "description": "Help text to HORIZON mode" - }, - "auxiliaryHelpMode_MAG": { - "message": "Heading lock to Magnetometer direction", - "description": "Help text to MAG mode" + "auxiliaryHelpMode_ANTIGRAVITY": { + "message": "Flight mode increases P and I term during fast throttle movements to improve stick tracking and avoid nose drift on fast throttle changes", + "description": "Help text to ANTIGRAVITY mode" }, - "auxiliaryHelpMode_HEADFREE": { - "message": "In this mode, the \"head\" of the multicopter is always pointing to the same direction as when the feature was activated. This means that when the multicopter rotates around the Z axis (yaw), the controls will always respond according the same \"head\" direction.
With this mode it is easier to control the multicopter, even fly it with the physical head towards you since the controls always respond the same. This is a friendly mode to new users of multicopters and can prevent losing the control when you don't know the head direction", - "description": "Help text to HEADFREE mode" - }, - "auxiliaryHelpMode_PASSTHRU": { - "message": "Pass roll, yaw, and pitch directly from rx to servos in airplane mix", - "description": "Help text to PASSTHRU mode" - }, - "auxiliaryHelpMode_FAILSAFE": { - "message": "Enter failsafe stage 2 manually", - "description": "Help text to FAILSAFE mode" - }, - "auxiliaryHelpMode_GPSRESCUE": { - "message": "Enable 'GPS Rescue' to return the craft to the location where it was last armed", - "description": "Help text to GPS RESCUE mode" - }, - "auxiliaryHelpMode_HEADADJ": { - "message": "Heading Adjust - Sets a new yaw origin for HEADFREE mode", - "description": "Help text to HEAD ADJ mode" + "auxiliaryHelpMode_AIRMODE": { + "message": "In the standard mixer / mode, when the roll, pitch and yaw gets calculated and saturates a motor, all motors will be reduced equally. When a motor goes below minimum it gets clipped off. Say you had your throttle just above minimum and tried to pull a quick roll - since two motors can't go any lower, you essentially get half the power (half of your PID gain). If your inputs would have asked for more than a 100% difference between the high and low motors, the low motors would get clipped, breaking the symmetry of the motor balance by unevenly reducing the gain", + "description": "Help text to AIRMODE mode" }, "auxiliaryHelpMode_BEEPER": { "message": "Enable beeping - useful for locating a crashed aircraft", "description": "Help text to BEEPER mode" }, - "auxiliaryHelpMode_LEDLOW": { - "message": "Switch off LED_STRIP output", - "description": "Help text to LEDLOW mode" + "auxiliaryHelpMode_BEEPERMUTE": { + "message": "Disable/enable beeper including warning, status and BEEPER mode", + "description": "Help text to BEEPERMUTE mode" }, - "auxiliaryHelpMode_OSDDISABLE": { - "message": "Enable/Disable On-Screen-Display", - "description": "Help text to OSD mode" + "auxiliaryHelpMode_BEEPERON": { + "message": "Enable BEEPER ON mode", + "description": "Help text to BEEPER ON mode" }, - "auxiliaryHelpMode_TELEMETRY": { - "message": "Enable telemetry via switch", - "description": "Help text to TELEMETRY mode" + "auxiliaryHelpMode_BEEPGPSSATELLITECOUNT": { + "message": "Enable BEEP GPS SATELLITE COUNT modee", + "description": "Help text to BEEP GPS SATELLITE COUNT mode" }, "auxiliaryHelpMode_BLACKBOX": { "message": "Enable BlackBox logging", @@ -2355,13 +2343,13 @@ "message": "Erase BlackBox log", "description": "Help text to BLACKBOX ERASE mode" }, - "auxiliaryHelpMode_AIRMODE": { - "message": "In the standard mixer / mode, when the roll, pitch and yaw gets calculated and saturates a motor, all motors will be reduced equally. When a motor goes below minimum it gets clipped off. Say you had your throttle just above minimum and tried to pull a quick roll - since two motors can't go any lower, you essentially get half the power (half of your PID gain). If your inputs would have asked for more than a 100% difference between the high and low motors, the low motors would get clipped, breaking the symmetry of the motor balance by unevenly reducing the gain", - "description": "Help text to AIRMODE mode" + "auxiliaryHelpMode_BOXPREARM": { + "message": "Enables BOXPREARM mode", + "description": "Help text to BOXPREARM mode" }, - "auxiliaryHelpMode_FPVANGLEMIX": { - "message": "Apply yaw rotation relative to a FPV camera mounted at a preset angle", - "description": "Help text to FPV ANGLE MIX mode" + "auxiliaryHelpMode_CALIB": { + "message": "Start in-flight calibration", + "description": "Help text to CALIB mode" }, "auxiliaryHelpMode_CAMERACONTROL1": { "message": "Use to toggle customized CAMERA CONTROL 1. Check in vendor manual", @@ -2375,66 +2363,126 @@ "message": "Use to toggle customized CAMERA CONTROL 3. Check in vendor manual", "description": "Help text to customized CAMERA CONTROL 3 mode" }, - "auxiliaryHelpMode_USER1": { - "message": "Use to toggle customized USER1. Check in vendor manual", - "description": "Help text to customized USER1 mode" - }, - "auxiliaryHelpMode_USER2": { - "message": "Use to toggle customized USER2. Check in vendor manual", - "description": "Help text to customized USER2 mode" - }, - "auxiliaryHelpMode_USER3": { - "message": "Use to toggle customized USER3. Check in vendor manual", - "description": "Help text to customized USER3 mode" + "auxiliaryHelpMode_CAMSTAB": { + "message": "Enables Camera Stabilisation mode", + "description": "Help text to CAMSTAB mode" }, - "auxiliaryHelpMode_USER4": { - "message": "Use to toggle customized USER4. Check in vendor manual", - "description": "Help text to customized USER4 mode" + "auxiliaryHelpMode_FAILSAFE": { + "message": "Enter failsafe stage 2 manually", + "description": "Help text to FAILSAFE mode" }, "auxiliaryHelpMode_FLIPOVERAFTERCRASH": { "message": "Reverse the motors to flip over an upside down craft after a crash (DShot required)", "description": "Help text to FLIP OVER AFTER CRASH mode" }, - "auxiliaryHelpMode_PREARM": { - "message": "When arming, wait for this switch to be activated before actually arming", - "description": "Help text to PREARM mode" + "auxiliaryHelpMode_FPVANGLEMIX": { + "message": "Apply yaw rotation relative to a FPV camera mounted at a preset angle", + "description": "Help text to FPV ANGLE MIX mode" }, "auxiliaryHelpMode_GPSBEEPSATELLITECOUNT": { - "message": "Use a number of beeps to indicate the number of GPS satellites found", + "message": "Use to indicate the number of GPS satellites found by beeping this number of times", "description": "Help text to GPS BEEP SATELLITE COUNT mode" }, - "auxiliaryHelpMode_VTXPITMODE": { - "message": "Switch the VTX into pit mode (low output power, if supported)", - "description": "Help text to VTX PIT MODE mode" + "auxiliaryHelpMode_GPSRESCUE": { + "message": "Enable 'GPS Rescue' to return the craft to the location where it was last armed", + "description": "Help text to GPS RESCUE mode" }, - "auxiliaryHelpMode_PARALYZE": { - "message": "Permanently disable a crashed craft until it is power cycled", - "description": "Help text to PARALYZE mode" + "auxiliaryHelpMode_HEADADJ": { + "message": "Heading Adjust - Sets a new yaw origin for HEADFREE mode", + "description": "Help text to HEAD ADJ mode" }, - "auxiliaryHelpMode_ACROTRAINER": { - "message": "Enable 'acro trainer' angle limiting in acro mode", - "description": "Help text to ACRO TRAINER mode" + "auxiliaryHelpMode_HEADFREE": { + "message": "Flight mode where yaw is aligned with an external frame of reference (often where the pilot is facing) instead of the craft's. Designed for beginners but rarely used, advise ANGLE mode", + "description": "Help text to HEADFREE mode" }, - "auxiliaryHelpMode_VTXCONTROLDISABLE": { - "message": "Disable the control of VTX settings through the OSD", - "description": "Help text to VTX CONTROL DISABLE mode" + "auxiliaryHelpMode_HORIZON": { + "message": "This hybrid mode works exactly like the ANGLE mode with centered roll and pitch sticks (thus enabling auto-leveled flight), then gradually behaves more and more like the default RATE mode as the sticks are moved away from the center position", + "description": "Help text to HORIZON mode" }, "auxiliaryHelpMode_LAUNCHCONTROL": { "message": "Race start assistance system", "description": "Help text to LAUNCH CONTROL mode" }, - "auxiliaryHelpMode_STICKCOMMANDSDISABLE": { - "message": "Disable/enable stick command", - "description": "Help text to STICK COMMANDS DISABLE mode" + "auxiliaryHelpMode_LEDLOW": { + "message": "Switch off LED STRIP output", + "description": "Help text to LEDLOW mode" }, - "auxiliaryHelpMode_BEEPERMUTE": { - "message": "Disable/enable beeper including warning, status and BEEPER mode", - "description": "Help text to BEEPERMUTE mode" + "auxiliaryHelpMode_MAG": { + "message": "Heading lock to Magnetometer direction (compass control)", + "description": "Help text to MAG mode" + }, + "auxiliaryHelpMode_MSPOVERRIDE": { + "message": "Enable MSP Override mode", + "description": "Help text to MSP OVERRIDE mode" + }, + "auxiliaryHelpMode_OSDDISABLE": { + "message": "Enable/Disable On-Screen-Display", + "description": "Help text to OSD mode" + }, + "auxiliaryHelpMode_PASSTHRU": { + "message": "Pass roll, yaw, and pitch directly from rx to servos in airplane mix", + "description": "Help text to PASSTHRU mode" + }, + "auxiliaryHelpMode_PARALYZE": { + "message": "Permanently disable a crashed craft until it is power cycled", + "description": "Help text to PARALYZE mode" + }, + "auxiliaryHelpMode_PIDAUDIO": { + "message": "Use to toggle PIDAUDIO", + "description": "Help text to PIDAUDIO mode" + }, + "auxiliaryHelpMode_PREARM": { + "message": "When arming, wait for this switch to be activated before actually arming", + "description": "Help text to PREARM mode" }, "auxiliaryHelpMode_READY": { "message": "Added in BF4.4, you can now show 'READY' in the OSD using a switch. This is a niche improvement for racing situations where all pilot video feeds are on one central screen. The pilot can flick a switch to indicate that they are ready to fly, and the word READY appears on their OSD. The race director can then tell if all pilots are ready by looking at the central screen. On arming, the READY text disappears", "description": "Help text to READY mode" }, + "auxiliaryHelpMode_STICKCOMMANDSDISABLE": { + "message": "Disable/enable stick command", + "description": "Help text to STICK COMMANDS DISABLE mode" + }, + "auxiliaryHelpMode_SERVO1": { + "message": "Use to toggle SERVO1", + "description": "Help text to SERVO1 mode" + }, + "auxiliaryHelpMode_SERVO2": { + "message": "Use to toggle SERVO2", + "description": "Help text to SERVO2 mode" + }, + "auxiliaryHelpMode_SERVO3": { + "message": "Use to toggle SERVO3", + "description": "Help text to SERVO3 mode" + }, + "auxiliaryHelpMode_TELEMETRY": { + "message": "Enable telemetry via switch", + "description": "Help text to TELEMETRY mode" + }, + "auxiliaryHelpMode_USER1": { + "message": "Use to toggle customized USER1. Controls arbitrary output via PINIO", + "description": "Help text to customized USER1 mode" + }, + "auxiliaryHelpMode_USER2": { + "message": "Use to toggle customized USER2. Controls arbitrary output via PINIO", + "description": "Help text to customized USER2 mode" + }, + "auxiliaryHelpMode_USER3": { + "message": "Use to toggle customized USER3. Controls arbitrary output via PINIO", + "description": "Help text to customized USER3 mode" + }, + "auxiliaryHelpMode_USER4": { + "message": "Use to toggle customized USER4. Controls arbitrary output via PINIO", + "description": "Help text to customized USER4 mode" + }, + "auxiliaryHelpMode_VTXCONTROLDISABLE": { + "message": "Disable the control of VTX settings through the OSD", + "description": "Help text to VTX CONTROL DISABLE mode" + }, + "auxiliaryHelpMode_VTXPITMODE": { + "message": "Switch the VTX into pit mode (low output power, if supported)", + "description": "Help text to VTX PIT MODE mode" + }, "adjustmentsHelp": { "message": "Configure adjustment switches. See the 'in-flight adjustments' section of the manual for details. The changes that adjustment functions make are not saved automatically." }, diff --git a/src/js/VirtualFC.js b/src/js/VirtualFC.js index 04281c8b96..ef11818891 100644 --- a/src/js/VirtualFC.js +++ b/src/js/VirtualFC.js @@ -166,12 +166,13 @@ const VirtualFC = { virtualFC.RC.channels[i] = 1500; } - // from https://betaflight.com/docs/development/Modes + // from https://betaflight.com/docs/development/Modes or msp/msp_box.c virtualFC.AUX_CONFIG = ["ARM","ANGLE","HORIZON","ANTI GRAVITY","MAG","HEADFREE","HEADADJ","CAMSTAB","PASSTHRU","BEEPERON","LEDLOW","CALIB", - "OSD","TELEMETRY","SERVO1","SERVO2","SERVO3","BLACKBOX","FAILSAFE","AIRMODE","3D","FPV ANGLE MIX","BLACKBOX ERASE","CAMERA CONTROL 1", + "OSD","TELEMETRY","SERVO1","SERVO2","SERVO3","BLACKBOX","FAILSAFE","AIR MODE","3D","FPV ANGLE MIX","BLACKBOX ERASE","CAMERA CONTROL 1", "CAMERA CONTROL 2","CAMERA CONTROL 3","FLIP OVER AFTER CRASH","BOXPREARM","BEEP GPS SATELLITE COUNT","VTX PIT MODE","USER1","USER2", - "USER3","USER4","PID AUDIO","PARALYZE","GPS RESCUE","ACRO TRAINER","DISABLE VTX CONTROL","LAUNCH CONTROL"]; - FC.AUX_CONFIG_IDS = [0,1,2,4,5,6,7,8,12,13,15,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49]; + "USER3","USER4","PID AUDIO","PARALYZE","GPS RESCUE","ACRO TRAINER","DISABLE VTX CONTROL","LAUNCH CONTROL", "MSP OVERRIDE", "STICK COMMANDS DISABLE", + "BEEPER MUTE", "READY"]; + FC.AUX_CONFIG_IDS = [0,1,2,4,5,6,7,8,12,13,15,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]; for (let i = 0; i < 16; i++) { virtualFC.RXFAIL_CONFIG[i] = { diff --git a/src/js/tabs/auxiliary.js b/src/js/tabs/auxiliary.js index 8b63a6223a..3e2756ea78 100644 --- a/src/js/tabs/auxiliary.js +++ b/src/js/tabs/auxiliary.js @@ -142,6 +142,9 @@ auxiliary.initialize = function (callback) { linkList.append(linkOption); } + // sort linkedTo options, empty option on top + linkList.sortSelect(); + linkOptionTemplate.val(0); configureLogicList(linkTemplate);