Jump to content

seahorse

Members
  • Content Count

    94
  • Donations

    $0.00 
  • Joined

  • Last visited

Community Reputation

8 Neutral

Profile Information

  • Gender
    Male

Flight Sim Profile

  • Commercial Member
    No
  • Online Flight Organization Membership
    none
  • Virtual Airlines
    No

Recent Profile Visitors

1,832 profile views
  1. 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 , }
  2. Could you send me the files too please? Cheers, Luc
  3. Could you send me the files too please?

    Cheers,

    Luc

  4. Hi, When using Simbrief than the latest free AIRAC cycle available is 2203. However, the included AIRAC cycle in LNM is 180x (forgot the exact number) For MSFS I have the free 2203 cycle in the Packages/Community folder and is used correctly in MSFS as I can see on the MCDU of the FBW a32nx (displays navdata 2203) But when loading flightplans into LNM from Simbrief I often get errors of procedures or airways not found. In the settings I have LNM using MSFS, not Navdata. My question, when LNM is building the scenery database is it taking into account the Navdata in the Community folder which is correctly used by MSFS? Cheers, Luc
  5. @ppgasYes I was thinking of doing that but it would have been easier to have it imported from Navdata while using MSFS scenery data. I guess if I switch back to MSFS scenery just before Calculating Flightplan then everything should work out fine? I'll have to check again but I have a feeling that with the FBW A32nx it's filled out automatically in the MCDU even when I don't have Navdata. Cheers, Luc
  6. I know, very old thread but still relevant, at least to me 😉 I understand that to have the Transition Altitude you have to select "Use Navigraph..." in Scenery Library and that's working fine. However, as I want my FPL generated by LNM to be as close as possible to the AIRAC used my MSFS as I don't use Navigraph (I have no subscription). But of course I then loose the Transition Altitude. Would it be possible to have the option to display the Transition Altitude, even from 1801, in case we're not using Navigraph in the Scenery Library? Cheers, Luc
  7. @stratone It certainly looks interesting but it's not really comparable to the "Flight Display Companion". It doesn't seem to have any gauges, it's more like a "switch" or "command" panel (at least that's how it looks) Nevertheless, it might be an interesting additional tool, I will give it a whirl. Cheers, Luc
  8. @Donka, I know this post is a few months old, but I just discovered this wonderful app. I don't know if there's still ongoing development for this? Would you mind uploading the manual again please? I can't find it anywhere else. Thanks, Luc
  9. Than it must be some other parameter in FScaptain blocking AI because in the video you can clearly see that; 1) The wing walkers function as expected 2) After the AC makes a 90° turn the "blockage" is gone and the tug will advance to the AC Cheers, Luc
  10. Just an idea, switch off the taxi lights or change the corresponding parameter in FScaptain. I know there's a function in FScaptain to stop AI in a certain radius when taxi light are on. Cheers Luc
  11. If you like you can use this Freeware, it works very well. https://fscaptain.proboards.com/thread/1114 Inside this post you will find a link to the download Cheers, Luc
  12. Me too, I can certainly recomend simstarter. Very usefull if you want different configurations for different situations. Cheers, Luc
  13. Just for info, unfortunatly I never found a solution and still am interested too. Cheers Luc
  14. Yes indeed, as in many cases the default will/might work so we can save ourselves the time to do that for every parking spot. Myself I hardly fly in between the same airport pairs, always fly new routes. Also, my arrival parking is assigned by my ATC, and even at the same airport will/might be always different, so I wouldn't know in forehand where I will end up. If every time at arrival I have to start configuring the parking spot than that would really have an impact on immersion. Cheers, Luc PS I really hate to refer to GSX but I wonder how they solve that with the marchaller at arrival.
  15. I too think that would be the best way to tackle this. Two suggestions if I may - Have a fix distance between the marchaller and the aircraft, programmable by type of aircraft. - Then apply your solution with slider but moving the marchaller on a half circle to the left or right, keeping the same distance. Like this you would make it possible to move "it" out of the building and still respect the viewable distance out of the cockpit. Cheers, Luc
×
×
  • Create New...