January 28, 20242 yr This occurs both in the FSX and MSFS version so it's not SIM related. I have different functions for the rotary knobs in EFIS depending on the mode (VRI_EFIS_MODE_n) n=1,2or3 When I use the mode switch then mode 2(or 3) function for the EFIS_MINS and EFIS_BARO rotary knobs works fine but the mode 2(or 3) function for the EFIS_CTR or EFIS_TFC don't work. I had a look at the hanfler-mcp.lua and I really don't see any difference between the the MINS, BARO and the CTR,TFC rotary knobs. Attached the handler-mcp.lua and the config-mcp.lua that I use. As you can see, just for test purposes(!), I programmed both mode 2 for BARO and TFC rotary with HDG inc and dec. For the BARO knob mode 2 that's working but not for the TFC knob which always execute the mode 1 function. Does anyone has a fix for this or even can shed some light on this? Would be much appreciate, Luc It looks like you can't attach files so I will copy/past -- HANDLER FOR MCP1 (Original) PANELS -- Updated for LINDA 4.1.3 -- Feb 2022 -- **************************************************************** -- -- DO NOT EDIT OR CHANGE THE CONTENTS OF THIS FILE -- -- CORE LINDA FUNCTIONALITY -- -- PLACE USER FUNCTIONS IN USER.LUA (\linda\[aircraft]\) -- -- **************************************************************** -- reading VRI events -- function MCPcontrols (h, s) -- function MCPcontrols (handle, datastring, length) function MCPcontrols (h, s) -- _logg(s) -- if length < 8 then return end -- local s = string.format('%s', datastring) -- if s == '' then return end -- skip this command skip = false -- Getting first two chars of VRI-commad to group them into functions group = string.sub(s, 1, 3) -- Getting 4th and all next chars - it's an exact command in group command = string.sub(s, 4) -- Debug -- _logg("Handle :: [" .. group .. "] / [" .. command .. "] " .. tostring(length)) -- Detecting knob-press commands if command == "SEL+" or command == "SEL-" then -- pause flight info updates ipc.set("FIP", ipc.elapsedtime() + 500) -- knob_press = true switch (group, KNOBPRESS, "_knob_press", group) return end -- Detecting if it is a knob-rotation fc = string.sub(command, 1, 1) if fc == "+" or fc == "-" or tonumber(fc) then ----------------------- -- KNOB ROTATION detected !!! ----------------------- -- pause flight info updates ipc.set("FIP", ipc.elapsedtime() + 500) if ipc.get("DSPmode") == 2 then if ipc.get("APlock") == 1 then if (group == "SPD" or group == "HDG" or group == "ALT" or group == "OBS" or group == "VVS" ) and mcp_tmp ~= 1 then DspALT(1) DspHDG(1) DspSPD(1) mcp_tmp = 1 DspShow("DSP!", "LOCK", false) end end -- working with AP rotaries while in FLIGHT INFO MODE if (group == "ALT" or group == "SPD" or group == "HDG") and mcp_tmp ~= 1 then Dsp0("*ap*") InitDsp() Dsp0("*ap*") mcp_tmp = 1 skip = true end end if not skip then switch (group, KNOBROTATE, "_knob_rotate", command) end return end -- Parsing MCP knob buttons (those under rotaries, which have the same -- as rotary command group HDG / SPD / ALT / VVS if switch(group, KNOBBUTTONS, "_knob_buttons", command) then -- Success! It was one of them. Finishing. return end -- Now checking and parsing any other groups left if switch(group, OTHER, "_other_controls", command) then -- Success! Found something. Exiting happy. return end -- Everything else. Never should happen. -- _err ("Error: Command group not assigned! " .. group .. " / " .. command ) end function VRI_TIMER () -- Updating DME data if DME is open on radio panel if dme_open == 1 then Default_DME_1_init () elseif dme_open == 2 then Default_DME_2_init () end -- Updating COM data if COM is open on radio panel if com_open == 1 then Default_COM_1_init () elseif com_open == 2 then Default_COM_2_init () end -- Updating NAV data if NAV is open on radio panel if nav_open == 1 then Default_NAV_1_init () elseif nav_open == 2 then Default_NAV_2_init () end -- Updating current flight info if ipc.get("DSPmode") == 2 then -- only if no rotaries where move in last second if ipc.elapsedtime() - ipc.get("FIP") > 1000 then DisplayFlightInfo () end else -- only if no rotaries where move in last second if ipc.elapsedtime() - ipc.get("FIP") > 1000 then local info = "M" .. tostring(ipc.get("EFISmode")) .. tostring(ipc.get("MCPmode")) .. tostring(ipc.get("USERmode")) if info == "M111" then if FLIGHT_INFO1 ~= '' then Dsp0 (FLIGHT_INFO1) else Dsp0 (' ') end else Dsp0(info) end if FLIGHT_INFO2 ~= '' then if info == "M111" then Dsp1 (FLIGHT_INFO2) end else if ipc.readUD(0x07BC) ~= AP_STATE then AP_STATE = ipc.readUD(0x07BC) if AP_STATE == 1 then Dsp1("*AP*") else Dsp1("-ap-") end end end end end VRI_DELAY = ipc.get("VRI_DELAY") -- clear dsp feature (dsp_count is the ipc.elapsedtime() from the moment of last DSP update) if dsp_count > 0 then if ipc.elapsedtime() - dsp_count > 1000 then DspShow(dsp0_prev, dsp1_prev) dsp_count = 0 end end -- Return EFIS to mode 1 if ipc.get("EFISmode") > 1 and ipc.get("EFISrestore") == 1 then -- only if no input in that mode if ipc.elapsedtime() - ipc.get("EFISalt") > VRI_DELAY then EFIS_MODE_one () _log('[MCP1] EFIS Mode 1') end end -- Return MCP to mode 1 if ipc.get("MCPmode") > 1 and ipc.get("MCPrestore") == 1 then -- only if no input in that mode if ipc.elapsedtime() - ipc.get("MCPalt") > VRI_DELAY then MCP_MODE_one () _log('[MCP1] MCP Mode 1') end end -- Return USER to mode 1 if ipc.get("USERmode") > 1 and ipc.get("USERrestore") == 1 then -- only if no input in that mode if ipc.elapsedtime() - ipc.get("USERalt") > VRI_DELAY then USER_MODE_one () _log('[MCP1] USER Mode 1') end end end -- ## RADIO CONTROLS ######## function RADIO_DME (skip, skip, s) _loggg("[MCP1] DME :: " .. s) if s == "SEL1" then Default_DME_1_init () switch ("DME1 Select", RADIOS, "RADIOS") elseif s == "SEL2" then Default_DME_2_init () switch ("DME2 Select", RADIOS, "RADIOS") elseif s == "AUX" then switch ("DMEs Mode", RADIOS, "RADIOS") end end function RADIO_DME_rotate (skip, skip, s) _loggg("[MCP1] DME rotate :: " .. s) Default_DME_set (s) end function RADIO_ADF (skip, skip, s) _loggg("[MCP1] ADF :: " .. s) if s == "SEL1" then Default_ADF_1_init () switch ("ADF1 Select", RADIOS, "RADIOS") elseif s == "SEL2" then Default_ADF_2_init () switch ("ADF2 Select", RADIOS, "RADIOS") elseif s == "AUX" then switch ("ADFs Mode", RADIOS, "RADIOS") end end function RADIO_ADF_rotate (skip, skip, s) _loggg("[MCP1] ADF :: " .. s) Default_ADF_set (s) end function RADIO_NAV (skip, skip, s) _loggg("[MCP1] NAV :: " .. s) if s == "SEL1" then Default_NAV_1_init () switch ("NAV1 Select", RADIOS, "RADIOS") return elseif s == "SEL2" then Default_NAV_2_init () switch ("NAV2 Select", RADIOS, "RADIOS") return elseif s == "AUX" then switch ("NAVs Mode", RADIOS, "RADIOS") return end t = string.sub(s, 1, 1) if t == "s" then Default_NAV_1_set (string.sub(s, 2)) elseif t == "S" then Default_NAV_2_set (string.sub(s, 2)) elseif t == "x" then Default_NAV_1_swap () switch ("NAV1 Swap", RADIOS, "RADIOS") elseif t == "X" then Default_NAV_2_swap () switch ("NAV2 Swap", RADIOS, "RADIOS") end end function RADIO_COM (skip, skip, s) _loggg("[MCP1] COM :: " .. s) if s == "SEL1" then Default_COM_1_init () switch ("COM1 Select", RADIOS, "RADIOS") return elseif s == "SEL2" then Default_COM_2_init () switch ("COM2 Select", RADIOS, "RADIOS") return elseif s == "AUX" then switch ("COMs Mode", RADIOS, "RADIOS") return end t = string.sub(s, 1, 1) if t == "s" then Default_COM_1_set (string.sub(s, 2)) elseif t == "S" then Default_COM_2_set (string.sub(s, 2)) elseif t == "x" then Default_COM_1_swap () switch ("COM1 Swap", RADIOS, "RADIOS") elseif t == "X" then Default_COM_2_swap () switch ("COM2 Swap", RADIOS, "RADIOS") end end function RADIO_TRN (skip, skip, s) _loggg("[MCP1] TRN :: " .. s) if string.sub(s, 1, 1) == "X" then Default_XPND_set (string.sub(s, 2)) switch ("XPND Swap", RADIOS, "RADIOS") elseif s == "SEL" then Default_XPND_init () switch ("XPND Select", RADIOS, "RADIOS") elseif s == "AUX" then switch ("XPND Mode", RADIOS, "RADIOS") end end -- ############################################################## -- -- ############################################################## -- -- ## EFIS KNOBS ################ function EFIS_MINS_press () if ipc.get("EFISmode") == 1 then switch ("PRESS", MINS1, "MINS") elseif ipc.get("EFISmode") == 2 then switch ("PRESS", MINS2, "MINS") ipc.set("EFISalt", ipc.elapsedtime()) else switch ("PRESS", MINS3, "MINS") ipc.set("EFISalt", ipc.elapsedtime()) end end function EFIS_MINS_rotate (skip, skip, command) if ipc.get("EFISmode") == 1 then switch (MINSmode .. " " .. command, MINS1, "MINS", command) elseif ipc.get("EFISmode") == 2 then switch (MINSmode .. " " .. command, MINS2, "MINS", command) ipc.set("EFISalt", ipc.elapsedtime()) else switch (MINSmode .. " " .. command, MINS3, "MINS", command) ipc.set("EFISalt", ipc.elapsedtime()) end end function EFIS_BARO_press () if ipc.get("EFISmode") == 1 then switch ("PRESS", BARO1, "BARO") elseif ipc.get("EFISmode") == 2 then switch ("PRESS", BARO2, "BARO") ipc.set("EFISalt", ipc.elapsedtime()) else switch ("PRESS", BARO3, "BARO") ipc.set("EFISalt", ipc.elapsedtime()) end end function EFIS_BARO_rotate (skip, skip, command) if ipc.get("EFISmode") == 1 then switch (BAROmode .. " " .. command, BARO1, "BARO", command) elseif ipc.get("EFISmode") == 2 then switch (BAROmode .. " " .. command, BARO2, "BARO", command) ipc.set("EFISalt", ipc.elapsedtime()) else switch (BAROmode .. " " .. command, BARO3, "BARO", command) ipc.set("EFISalt", ipc.elapsedtime()) end end function EFIS_CTR_press () if ipc.get("EFISmode") == 1 then switch ("PRESS", CTR1, "CTR") elseif ipc.get("EFISmode") == 2 then switch ("PRESS", CTR2, "CTR") ipc.set("EFISalt", ipc.elapsedtime()) else switch ("PRESS", CTR3, "CTR") ipc.set("EFISalt", ipc.elapsedtime()) end end function EFIS_CTR_rotate (skip, skip, command) if ipc.get("EFISmode") == 1 then switch (CTRmode .. " " .. command, CTR1, "CTR", command) elseif ipc.get("EFISmode") == 2 then switch (CTRmode .. " " .. command, CTR2, "CTR", command) ipc.set("EFISalt", ipc.elapsedtime()) else switch (CTRmode .. " " .. command, CTR3, "CTR", command) ipc.set("EFISalt", ipc.elapsedtime()) end end function EFIS_TFC_press () if ipc.get("EFISmode") == 1 then switch ("PRESS", TFC1, "TFC") elseif ipc.get("EFISmode") == 2 then switch ("PRESS", TFC2, "TFC") ipc.set("EFISalt", ipc.elapsedtime()) else switch ("PRESS", TFC3, "TFC") ipc.set("EFISalt", ipc.elapsedtime()) end end function EFIS_TFC_rotate (skip, skip, command) if ipc.get("EFISmode") == 1 then switch (TFCmode .. " " .. command, TFC1, "TFC", command) elseif ipc.get("EFISmode") == 2 then switch (TFCmode .. " " .. command, TFC2, "TFC", command) ipc.set("EFISalt", ipc.elapsedtime()) else switch (TFCmode .. " " .. command, TFC3, "TFC", command) ipc.set("EFISalt", ipc.elapsedtime()) end end -- ## MCP KNOBS ################ function MCP_HDG_press () switch ("PRESS", HDG1, "HDG") end function MCP_HDG_rotate (skip, skip, command) value = string.sub(command, 1, 3) command = string.sub(command, 4) switch (HDGmode .. " " .. command, HDG1, "HDG", value) end function MCP_HDG_buttons (skip, skip, command) if ipc.get("MCPmode") == 1 then if command == "HDG+" or command == "HDG-" then switch ("HDGSEL", MCP1, "MCP") elseif command == "HLD+" or command == "HLD-" then switch ("HDGHLD", MCP1, "MCP") end elseif ipc.get("MCPmode") == 2 then if command == "HDG+" or command == "HDG-" then switch ("HDGSEL", MCP2, "MCP") elseif command == "HLD+" or command == "HLD-" then switch ("HDGHLD", MCP2, "MCP") end ipc.set("MCPalt", ipc.elapsedtime()) else if command == "HDG+" or command == "HDG-" then switch ("HDGSEL", MCP3, "MCP") elseif command == "HLD+" or command == "HLD-" then switch ("HDGHLD", MCP3, "MCP") end ipc.set("MCPalt", ipc.elapsedtime()) end end function MCP_ALT_press () switch ("PRESS", ALT1, "ALT") end function MCP_ALT_rotate (skip, skip, command) value = string.sub(command, 1, 3) command = string.sub(command, 4) switch (ALTmode .. " " .. command, ALT1, "ALT", value) end function MCP_ALT_buttons (skip, skip, command) if ipc.get("MCPmode") == 1 then switch ("ALTHLD", MCP1, "MCP") elseif ipc.get("MCPmode") == 2 then switch ("ALTHLD", MCP2, "MCP") ipc.set("MCPalt", ipc.elapsedtime()) else switch ("ALTHLD", MCP3, "MCP") ipc.set("MCPalt", ipc.elapsedtime()) end end function MCP_SPD_press () switch ("PRESS", SPD1, "SPD") end function MCP_SPD_rotate (skip, skip, command) value = string.sub(command, 1, 3) command = string.sub(command, 4) switch (SPDmode .. " " .. command, SPD1, "SPD", value) end function MCP_SPD_buttons (skip, skip, command) if ipc.get("MCPmode") == 1 then if command == "N1+" or command == "N1-" then switch ("N1", MCP1, "MCP") elseif command == "SPD+" or command == "SPD-" then switch ("SPD", MCP1, "MCP") elseif command == "LVL+" or command == "LVL-" then switch ("FLCH", MCP1, "MCP") end elseif ipc.get("MCPmode") == 2 then if command == "N1+" or command == "N1-" then switch ("N1", MCP2, "MCP") elseif command == "SPD+" or command == "SPD-" then switch ("SPD", MCP2, "MCP") elseif command == "LVL+" or command == "LVL-" then switch ("FLCH", MCP2, "MCP") end ipc.set("MCPalt", ipc.elapsedtime()) else if command == "N1+" or command == "N1-" then switch ("N1", MCP3, "MCP") elseif command == "SPD+" or command == "SPD-" then switch ("SPD", MCP3, "MCP") elseif command == "LVL+" or command == "LVL-" then switch ("FLCH", MCP3, "MCP") end ipc.set("MCPalt", ipc.elapsedtime()) end end function MCP_VVS_press () switch ("PRESS", VVS1, "VVS") end function MCP_VVS_rotate (skip, skip, command) switch (VVSmode .. " " .. command, VVS1, "VVS", command) end function MCP_VVS_buttons (skip, skip, command) if ipc.get("MCPmode") == 1 then switch ("V/S FPA", MCP1, "MCP") elseif ipc.get("MCPmode") == 2 then switch ("V/S FPA", MCP2, "MCP") ipc.set("MCPalt", ipc.elapsedtime()) else switch ("V/S FPA", MCP3, "MCP") ipc.set("MCPalt", ipc.elapsedtime()) end end function MCP_CRS_press () switch ("PRESS", CRS1, "CRS") end function MCP_CRS_rotate (skip, skip, command) switch (CRSmode .. " " .. command, CRS1, "CRS", command) end function MCP_CRS_buttons (skip, skip, command) -- empty by purpose -- do not delete end -- ############################################################## -- -- ## BUTTONS ################ function MCP_buttons (skip, skip, s) if ipc.get("MCPmode") == 1 then -- Switches if s == "AT+" then switch ("A/T UP", MCP1, "MCP") return elseif s == "AT-" then switch ("A/T DN", MCP1, "MCP") return elseif s == "FD+" then switch ("F/D UP", MCP1, "MCP") return elseif s == "FD-" then switch ("F/D DN", MCP1, "MCP") return elseif s == "MAST+" then switch ("MASTER UP", MCP1, "MCP") return elseif s == "MAST-" then switch ("MASTER DN", MCP1, "MCP") return end s = string.sub(s, 1, string.len(s)-1) switch (s, MCP1, "MCP") elseif ipc.get("MCPmode") == 2 then -- Switches if s == "AT+" then switch ("A/T UP", MCP2, "MCP") return elseif s == "AT-" then switch ("A/T DN", MCP2, "MCP") return elseif s == "FD+" then switch ("F/D UP", MCP2, "MCP") return elseif s == "FD-" then switch ("F/D DN", MCP2, "MCP") return elseif s == "MAST+" then switch ("MASTER UP", MCP2, "MCP") return elseif s == "MAST-" then switch ("MASTER DN", MCP2, "MCP") return end s = string.sub(s, 1, string.len(s)-1) switch (s, MCP2, "MCP") ipc.set("MCPalt", ipc.elapsedtime()) else -- Switches if s == "AT+" then switch ("A/T UP", MCP3, "MCP") return elseif s == "AT-" then switch ("A/T DN", MCP3, "MCP") return elseif s == "FD+" then switch ("F/D UP", MCP3, "MCP") return elseif s == "FD-" then switch ("F/D DN", MCP3, "MCP") return elseif s == "MAST+" then switch ("MASTER UP", MCP3, "MCP") return elseif s == "MAST-" then switch ("MASTER DN", MCP3, "MCP") return end s = string.sub(s, 1, string.len(s)-1) switch (s, MCP3, "MCP") ipc.set("MCPalt", ipc.elapsedtime()) end end function EFIS_buttons (skip, skip, s) if ipc.get("EFISmode") == 1 then switch (s, EFIS1, "EFIS") elseif ipc.get("EFISmode") == 2 then switch (s, EFIS2, "EFIS") ipc.set("EFISalt", ipc.elapsedtime()) else switch (s, EFIS3, "EFIS") ipc.set("EFISalt", ipc.elapsedtime()) end end function USER_buttons (skip, skip, s) s = string.sub(s, 3, 3) local um = ipc.get("USERmode") if um == 1 then switch (s, USER1, "USER") elseif um == 2 then switch (s, USER2, "USER") ipc.set("USERalt", ipc.elapsedtime()) else switch (s, USER3, "USER") ipc.set("USERalt", ipc.elapsedtime()) end end -- ## Tables init ############################################################ -- OTHER = { ["APL"] = MCP_buttons , ["EFI"] = EFIS_buttons , ["CTL"] = USER_buttons , ["COM"] = RADIO_COM , ["NAV"] = RADIO_NAV , ["TRN"] = RADIO_TRN , ["DME"] = RADIO_DME , ["ADF"] = RADIO_ADF , } KNOBBUTTONS = { ["HDG"] = MCP_HDG_buttons , ["ALT"] = MCP_ALT_buttons , ["SPD"] = MCP_SPD_buttons , ["VVS"] = MCP_VVS_buttons , } KNOBPRESS = { ["HDG"] = MCP_HDG_press , ["ALT"] = MCP_ALT_press , ["SPD"] = MCP_SPD_press , ["VVS"] = MCP_VVS_press , ["OBS"] = MCP_CRS_press , ["MIN"] = EFIS_MINS_press , ["BAR"] = EFIS_BARO_press , ["NDM"] = EFIS_CTR_press , ["NDR"] = EFIS_TFC_press } KNOBROTATE = { ["HDG"] = MCP_HDG_rotate , ["ALT"] = MCP_ALT_rotate , ["SPD"] = MCP_SPD_rotate , ["VVS"] = MCP_VVS_rotate , ["OBS"] = MCP_CRS_rotate , ["MIN"] = EFIS_MINS_rotate , ["BAR"] = EFIS_BARO_rotate , ["NDM"] = EFIS_CTR_rotate , ["NDR"] = EFIS_TFC_rotate , ["ADF"] = RADIO_ADF_rotate , ["CRS"] = RADIO_DME_rotate , } -- config-mcp.lua @ 2401281459 (LINDA 4.1.5.289) -- -- ############################################### -- -- ## EFIS block mode1 -- ############################################### -- -- EFIS block buttons and switches EFIS1 = { ["ENABLED"] = true , ["IDENT"] = "GPS" , ["FPV"] = A32nx_GLSD_ATTNL_WARNING_push , ["MTR"] = A32nx_GLSD_ATTNL_CAUTION_push , ["WX"] = VRI_EFIS_MODE_toggle , ["STA"] = A32nx_GLSD_EFISL_cstr , ["WPT"] = A32nx_GLSD_EFISL_wpt , ["ARPT"] = A32nx_GLSD_EFISL_aprt , ["DATA"] = A32nx_GLSD_EFISL_vor , ["POS"] = A32nx_GLSD_EFISL_ndb , ["TERR"] = empty , ["ADF1"] = A32nx_GLSD_EFISL_NAVAID1_adf , ["ADF2"] = A32nx_GLSD_EFISL_NAVAID2_adf , ["VOR1"] = A32nx_GLSD_EFISL_NAVAID1_vor , ["VOR2"] = A32nx_GLSD_EFISL_NAVAID2_vor , } -- EFIS MINS knob MINS1 = { ["A SHOW"] = GPS_PAGE_show , ["A +"] = GPS_PAGE_inc , ["A ++"] = GPS_PAGE_inc , ["A -"] = GPS_PAGE_dec , ["A --"] = GPS_PAGE_dec , ["PRESS"] = VRI_EFIS_MODE_toggle , } -- EFIS BARO knob BARO1 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_EFISL_BARO_inc , ["A ++"] = A32nx_GLSD_EFISL_BARO_inc , ["A -"] = A32nx_GLSD_EFISL_BARO_dec , ["A --"] = A32nx_GLSD_EFISL_BARO_dec , ["PRESS"] = A32nx_GLSD_EFISL_BARO_toggle , } -- EFIS CTR knob CTR1 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_EFISL_NDMODE1_inc , ["A ++"] = A32nx_GLSD_EFISL_NDMODE1_inc , ["A -"] = A32nx_GLSD_EFISL_NDMODE1_dec , ["A --"] = A32nx_GLSD_EFISL_NDMODE1_dec , ["PRESS"] = VRI_EFIS_MODE_toggle , } -- EFIS TFC knob TFC1 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_EFISL_NDRANGE1_inc , ["A ++"] = A32nx_GLSD_EFISL_NDRANGE1_inc , ["A -"] = A32nx_GLSD_EFISL_NDRANGE1_dec , ["A --"] = A32nx_GLSD_EFISL_NDRANGE1_dec , ["PRESS"] = A32nx_PED_TCAS_MODE_cycle , } -- ############################################### -- -- ## EFIS block mode2 -- ############################################### -- -- EFIS block buttons and switches EFIS2 = { ["ENABLED"] = true , ["IDENT"] = "EFB" , ["FPV"] = empty , ["MTR"] = empty , ["WX"] = VRI_EFIS_MODE_toggle , ["STA"] = empty , ["WPT"] = empty , ["ARPT"] = empty , ["DATA"] = empty , ["POS"] = empty , ["TERR"] = empty , ["ADF1"] = empty , ["ADF2"] = empty , ["VOR1"] = empty , ["VOR2"] = empty , } -- EFIS MINS knob MINS2 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_FCU_SPD_inc , ["A ++"] = A32nx_GLSD_FCU_SPD_incfast , ["A -"] = A32nx_GLSD_FCU_SPD_dec , ["A --"] = A32nx_GLSD_FCU_SPD_decfast , ["PRESS"] = VRI_EFIS_MODE_toggle , } -- EFIS BARO knob BARO2 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_FCU_HDG_inc , ["A ++"] = A32nx_GLSD_FCU_HDG_incfast , ["A -"] = A32nx_GLSD_FCU_HDG_dec , ["A --"] = A32nx_GLSD_FCU_HDG_decfast , ["PRESS"] = empty , } -- EFIS CTR knob CTR2 = { ["A SHOW"] = empty , ["A +"] = A32nx_CKPT_INTLT_DSPLYS_inc , ["A ++"] = A32nx_CKPT_INTLT_DSPLYS_inc , ["A -"] = A32nx_CKPT_INTLT_DSPLYS_dec , ["A --"] = A32nx_CKPT_INTLT_DSPLYS_dec , ["PRESS"] = VRI_EFIS_MODE_toggle , } -- EFIS TFC knob TFC2 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_FCU_HDG_inc , ["A ++"] = A32nx_GLSD_FCU_HDG_incfast , ["A -"] = A32nx_GLSD_FCU_HDG_dec , ["A --"] = A32nx_GLSD_FCU_HDG_decfast , ["PRESS"] = empty , } -- ############################################### -- -- ## EFIS block mode3 -- ############################################### -- -- EFIS block buttons and switches EFIS3 = { ["ENABLED"] = false , ["IDENT"] = "WXR" , ["FPV"] = RXP_WX500_TRACK_L , ["MTR"] = RXP_WX500_TRACK_R , ["WX"] = RXP_WX500_POPUP_TOGGLE , ["STA"] = empty , ["WPT"] = empty , ["ARPT"] = empty , ["DATA"] = weather_OAT , ["POS"] = empty , ["TERR"] = empty , ["ADF1"] = RXP_WX500_SUBMODE_DN , ["ADF2"] = RXP_WX500_RANGE_DN , ["VOR1"] = RXP_WX500_SUBMODE_UP , ["VOR2"] = RXP_WX500_RANGE_UP , } -- EFIS MINS knob MINS3 = { ["A SHOW"] = empty , ["A +"] = RXP_WX500_BRT_INC , ["A ++"] = RXP_WX500_BRT_INC , ["A -"] = RXP_WX500_BRT_DEC , ["A --"] = RXP_WX500_BRT_DEC , ["PRESS"] = empty , } -- EFIS BARO knob BARO3 = { ["A SHOW"] = empty , ["A +"] = RXP_WX500_GAIN_INC , ["A ++"] = RXP_WX500_GAIN_INC , ["A -"] = RXP_WX500_GAIN_DEC , ["A --"] = RXP_WX500_GAIN_DEC , ["PRESS"] = empty , } -- EFIS CTR knob CTR3 = { ["A SHOW"] = empty , ["A +"] = RXP_WX500_MAIN_MODE_NEXT , ["A ++"] = RXP_WX500_MAIN_MODE_NEXT , ["A -"] = RXP_WX500_MAIN_MODE_PREV , ["A --"] = RXP_WX500_MAIN_MODE_PREV , ["PRESS"] = empty , } -- EFIS TFC knob TFC3 = { ["A SHOW"] = empty , ["A +"] = RXP_WX500_TILT_INC , ["A ++"] = RXP_WX500_TILT_INC , ["A -"] = RXP_WX500_TILT_DEC , ["A --"] = RXP_WX500_TILT_DEC , ["PRESS"] = RXP_WX500_TILT_ZERO , } -- ############################################### -- -- ## MCP block mode1 -- ############################################### -- -- MCP block buttons and switches MCP1 = { ["ENABLED"] = true , ["IDENT"] = "AP_1" , ["TOGA"] = empty , ["TOGN"] = empty , ["N1"] = empty , ["SPD"] = A32nx_GLSD_FCU_SPD_managed , ["FLCH"] = A32nx_GLSD_FCU_ALT_selected , ["HDGSEL"] = A32nx_GLSD_FCU_HDG_selected , ["HDGHLD"] = empty , ["ALTHLD"] = A32nx_GLSD_FCU_VS_leveloff , ["V/S FPA"] = A32nx_GLSD_FCU_VS_selected , ["APP"] = A32nx_GLSD_FCU_APPR_toggle , ["VNAV"] = A32nx_GLSD_FCU_ALT_managed , ["LNAV"] = A32nx_GLSD_FCU_HDG_managed , ["CMDA"] = A32nx_GLSD_FCU_AP_1_toggle , ["CMDB"] = A32nx_GLSD_FCU_AP_2_toggle , ["CMDC"] = A32nx_GLSD_FCU_AP_Disconnect , ["LOC"] = A32nx_GLSD_FCU_LOC_toggle , ["CWSA"] = VRI_MCP_MODE_toggle , ["CWSB"] = DSP_MODE_toggle , ["A/T UP"] = A32nx_GLSD_FCU_ATHR_toggle , ["A/T DN"] = A32nx_GLSD_FCU_ATHR_Disconnect , ["F/D UP"] = A32nx_GLSD_EFISL_FD_toggle , ["F/D DN"] = A32nx_GLSD_EFISL_FD_toggle , ["MASTER UP"] = empty , ["MASTER DN"] = empty , } -- MCP CRS knob CRS1 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_FCU_HDG_inc , ["A ++"] = A32nx_GLSD_FCU_HDG_incfast , ["A -"] = A32nx_GLSD_FCU_HDG_dec , ["A --"] = A32nx_GLSD_FCU_HDG_decfast , ["PRESS"] = empty , } -- MCP SPD knob SPD1 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_FCU_SPD_inc , ["A ++"] = A32nx_GLSD_FCU_SPD_incfast , ["A -"] = A32nx_GLSD_FCU_SPD_dec , ["A --"] = A32nx_GLSD_FCU_SPD_decfast , ["PRESS"] = A32nx_GLSD_FCU_SPD_selected , } -- MCP HDG knob HDG1 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = empty , } -- MCP ALT knob ALT1 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_FCU_ALT_inc , ["A ++"] = A32nx_GLSD_FCU_ALT_inc , ["A -"] = A32nx_GLSD_FCU_ALT_dec , ["A --"] = A32nx_GLSD_FCU_ALT_dec , ["PRESS"] = A32nx_GLSD_FCU_ALT_STEP_toggle , } -- MCP VVS knob VVS1 = { ["A SHOW"] = empty , ["A +"] = A32nx_GLSD_FCU_VS_inc , ["A ++"] = A32nx_GLSD_FCU_VS_inc , ["A -"] = A32nx_GLSD_FCU_VS_dec , ["A --"] = A32nx_GLSD_FCU_VS_dec , ["PRESS"] = A32nx_GLSD_FCU_VS_MODE_push , } -- ############################################### -- -- ## MCP block mode2 -- ############################################### -- -- MCP block buttons and switches MCP2 = { ["ENABLED"] = true , ["IDENT"] = "ADIR" , ["TOGA"] = empty , ["TOGN"] = empty , ["N1"] = empty , ["SPD"] = empty , ["FLCH"] = empty , ["HDGSEL"] = empty , ["HDGHLD"] = empty , ["ALTHLD"] = empty , ["V/S FPA"] = empty , ["APP"] = empty , ["VNAV"] = empty , ["LNAV"] = empty , ["CMDA"] = A32nx_OVHD_ADIRS_1_nav , ["CMDB"] = A32nx_OVHD_ADIRS_3_nav , ["CMDC"] = A32nx_OVHD_ADIRS_2_nav , ["LOC"] = empty , ["CWSA"] = VRI_MCP_MODE_toggle , ["CWSB"] = DSP_MODE_toggle , ["A/T UP"] = empty , ["A/T DN"] = empty , ["F/D UP"] = empty , ["F/D DN"] = empty , ["MASTER UP"] = empty , ["MASTER DN"] = empty , } -- MCP CRS knob CRS2 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = A32nx_GLSD_FCU_HDG_managed , } -- MCP SPD knob SPD2 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = A32nx_GLSD_FCU_SPD_managed , } -- MCP HDG knob HDG2 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = empty , } -- MCP ALT knob ALT2 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = A32nx_GLSD_FCU_ALT_managed , } -- MCP VVS knob VVS2 = { ["A SHOW"] = empty , ["A +"] = A32nx_CKPT_INTLT_DSPLYS_inc , ["A ++"] = A32nx_CKPT_INTLT_DSPLYS_inc , ["A -"] = A32nx_CKPT_INTLT_DSPLYS_dec , ["A --"] = A32nx_CKPT_INTLT_DSPLYS_dec , ["PRESS"] = empty , } -- ############################################### -- -- ## MCP block mode3 -- ############################################### -- -- MCP block buttons and switches MCP3 = { ["ENABLED"] = true , ["IDENT"] = "MCP3" , ["TOGA"] = empty , ["TOGN"] = empty , ["N1"] = empty , ["SPD"] = empty , ["FLCH"] = empty , ["HDGSEL"] = empty , ["HDGHLD"] = empty , ["ALTHLD"] = empty , ["V/S FPA"] = empty , ["APP"] = empty , ["VNAV"] = empty , ["LNAV"] = empty , ["CMDA"] = A32nx_MPNL_LDG_AUTOBRK_LOW_toggle , ["CMDB"] = A32nx_MPNL_LDG_AUTOBRK_MAX_toggle , ["CMDC"] = A32nx_MPNL_LDG_AUTOBRK_MID_toggle , ["LOC"] = empty , ["CWSA"] = VRI_MCP_MODE_toggle , ["CWSB"] = DSP_MODE_toggle , ["A/T UP"] = empty , ["A/T DN"] = empty , ["F/D UP"] = empty , ["F/D DN"] = empty , ["MASTER UP"] = empty , ["MASTER DN"] = empty , } -- MCP CRS knob CRS3 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = empty , } -- MCP SPD knob SPD3 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = empty , } -- MCP HDG knob HDG3 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = empty , } -- MCP ALT knob ALT3 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = empty , } -- MCP VVS knob VVS3 = { ["A SHOW"] = empty , ["A +"] = empty , ["A ++"] = empty , ["A -"] = empty , ["A --"] = empty , ["PRESS"] = empty , } -- ############################################### -- -- ## USER block mode1 -- ############################################### -- -- USER block buttons and switches USER1 = { ["ENABLED"] = true , ["IDENT"] = "Lght" , ["0"] = A32nx_OVHD_EXTLT_BEACON_Toggle , ["1"] = A32nx_OVHD_EXTLT_NAV_toggle , ["2"] = A32nx_OVHD_EXTLT_NOSE_cycle , ["3"] = A32nx_OVHD_EXTLT_STROBE_cycle , ["4"] = A32nx_OVHD_EXTLT_LAND_Both_cycle , ["5"] = A32nx_OVHD_EXTLT_RWYTURN_toggle , ["6"] = A32nx_OVHD_EXTLT_WING_toggle , ["7"] = VRI_USER_MODE_toggle , } -- ############################################### -- -- ## USER block mode2 -- ############################################### -- -- USER block buttons and switches USER2 = { ["ENABLED"] = true , ["IDENT"] = "SIGN" , ["0"] = A32nx_OVHD_INTLT_SEATBELT_toggle , ["1"] = A32nx_OVHD_INTLT_NOSMOKING_cycle , ["2"] = A32nx_OVHD_INTLT_EMEREXIT_arm , ["3"] = empty , ["4"] = A32nx_OVHD_INTLT_DOME_cycle , ["5"] = A32nx_OVHD_CALLS_all , ["6"] = A32nx_OVHD_OXY_CREWSUPPLY_toggle , ["7"] = VRI_USER_MODE_toggle , } -- ############################################### -- -- ## USER block mode3 -- ############################################### -- -- USER block buttons and switches USER3 = { ["ENABLED"] = true , ["IDENT"] = "TCAS" , ["0"] = A32nx_PED_TCAS_PWR_toggle , ["1"] = A32nx_PED_TCAS_MODE_cycle , ["2"] = A32nx_PED_TCAS_TFC_cycle , ["3"] = A32nx_PED_TCAS_ALT_toggle , ["4"] = A32nx_GLSD_EFISL_LS_toggle , ["5"] = A32nx_OVHD_AICE_WINDSHIELD_toggle , ["6"] = A32nx_PED_ECAM_next , ["7"] = VRI_USER_MODE_toggle , } -- ############################################### -- -- ## RADIOS block mode1 -- ############################################### -- -- RADIOS block buttons and switches RADIOS = { ["COM1 Select"] = empty , ["COM2 Select"] = empty , ["COM1 Swap"] = empty , ["COM2 Swap"] = empty , ["COMs Mode"] = Radios_COM_AUDIO_toggle , ["NAV1 Select"] = empty , ["NAV2 Select"] = empty , ["NAV1 Swap"] = empty , ["NAV2 Swap"] = empty , ["NAVs Mode"] = Radios_NAV_AUDIO_toggle , ["ADF1 Select"] = empty , ["ADF2 Select"] = empty , ["ADFs Mode"] = Radios_ADF_AUDIO_toggle , ["DME1 Select"] = empty , ["DME2 Select"] = empty , ["DMEs Mode"] = Radios_DME_AUDIO_toggle , ["XPND Select"] = empty , ["XPND Swap"] = empty , ["XPND Mode"] = Transponder_MODE_toggle , } Edited January 28, 20242 yr by seahorse Luc Jonckheere MSI Z97 GAMING 5 - Intel Core i7 4790K / 4.4GHz - Cooler Master Hyper TX3 EVO - Kingston HyperX Beast 16GB - Samsung 840 EVO 120GB - 2 x Western Digital Black, 2 TB MSI GeForce GTX 780 Ti Gaming - Cooler Master V1000 Windows 7 prof/ 64b - FSX sp2 - UTX eur - GEX eur - PMDG 737NGX
Archived
This topic is now archived and is closed to further replies.