diff --git a/js/fc.js b/js/fc.js index a626563f..b576d5e5 100644 --- a/js/fc.js +++ b/js/fc.js @@ -14,6 +14,7 @@ const FwApproachCollection = require('./fwApproachCollection') const { PLATFORM } = require('./model') const VTX = require('./vtx'); const BitHelper = require('./bitHelper'); +const { FLIGHT_MODES } = require('./flightModes'); var FC = { @@ -28,7 +29,7 @@ var FC = { RC_MAP: null, RC: null, RC_tuning: null, - AUX_CONFIG: null, + AUX_CONFIG: [], AUX_CONFIG_IDS: null, MODE_RANGES: null, ADJUSTMENT_RANGES: null, @@ -199,47 +200,16 @@ var FC = { manual_yaw_rate: 0, }; - this.AUX_CONFIG = [ - "ARM", - "PREARM", - "MULTI FUNCTION", - "ANGLE", - "HORIZON", - "TURN ASSIST", - "HEADING HOLD", - "CAMSTAB", - "HEADFREE", - "HEADADJ", - "FPV ANGLE MIX", - "NAV POSHOLD", - "NAV RTH", - "NAV WP", - "NAV CRUISE", - "NAV COURSE HOLD", - "HOME RESET", - "GCS NAV", - "WP PLANNER", - "MISSION CHANGE", - "MC BRAKING", - "NAV ALTHOLD", - "BEEPER", - "BEEPER MUTE", - "OSD OFF", - "BLACKBOX", - "FAILSAFE", - "CAMERA CONTROL 1", - "CAMERA CONTROL 2", - "CAMERA CONTROL 3", - "USER1", - "USER2", - "USER3", - "USER4", - "OSD ALT 1", - "OSD ALT 2", - "OSD ALT 3", - "MIXER PROFILE 2", - "MIXER TRANSITION" - ]; + this.generateAuxConfig = function () { + console.log('Generating AUX_CONFIG'); + + for ( let i = 0; i < FLIGHT_MODES.length; i++ ) { + if (this.AUX_CONFIG_IDS.indexOf(FLIGHT_MODES[i].permanentId) > -1) { + this.AUX_CONFIG.push(FLIGHT_MODES[i].boxName); + } + } + }; + this.AUX_CONFIG_IDS = [ 0, 51, diff --git a/js/flightModes.js b/js/flightModes.js index aab1f0cb..e725dda0 100644 --- a/js/flightModes.js +++ b/js/flightModes.js @@ -283,4 +283,4 @@ var FLIGHT_MODES = [ } ]; -module.exports = FLIGHT_MODES; \ No newline at end of file +module.exports = {FLIGHT_MODES}; \ No newline at end of file diff --git a/tabs/auxiliary.js b/tabs/auxiliary.js index 3436a5ed..82fdc9b7 100644 --- a/tabs/auxiliary.js +++ b/tabs/auxiliary.js @@ -23,7 +23,14 @@ TABS.auxiliary.initialize = function (callback) { GUI.active_tab_ref = this; GUI.active_tab = 'auxiliary'; - MSP.send_message(MSPCodes.MSP_MODE_RANGES, false, false, get_rc_data); + MSP.send_message(MSPCodes.MSP_MODE_RANGES, false, false, get_box_ids); + + function get_box_ids() { + MSP.send_message(MSPCodes.MSP_BOXIDS, false, false, function () { + FC.generateAuxConfig(); + get_rc_data(); + }); + } function get_rc_data() { if (FC.SERIAL_CONFIG.ports.length == 0) {