Sign in to follow this  
jazzmanPL

VRINSIGHT BOEING MCP - PMDG NGX DISPLAY ISSUE WITH LINDA

Recommended Posts

Hello :)

 

I recently bought the VR INSIGHT MCP BOEING TYPE COMBO PANEL. Unfortunately, I have some issue with the displays and PMDG 737 NGX. The software loads with fsx and everything works great apart from the MCP displays for SPD, HDG, ALT and V/S. The values on the MCP unit stays frozen without a change when I rotate the knobs. The values in the NGX mcp are working well, they do change when I rotate the knobs but VRINSIGHT MCP is all at 000. Nothings helps until now. I read the posts on the forums but there's no any solution apart. 

 

My config is as follows:

- Newest LINDA software 2.6.3.148 INSTALLED

- PMDG NGX newest modules installed in modules->lindacfg->aircraft->pmdg ngx with .lua extension (no any .def or .default shortcut)

-added EnableDataBroadcast=1 in the 737ngx_options.ini

-installed VRI software but loading LINDA only

-defined the keystrokes in LINDA only (cleared at fsx and fsuipc, no any doubled mappings)

-FSUIPC is newest and registered 

 

Thanks for any help,

Darek

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

I'll just add that it does not happen with fsx default a/c. I checked PMDG 747 and 777 BUT THE MCPs also stays frozen. Help, please :)

Share this post


Link to post
Share on other sites

Also, I deleted all the other a/c modules folders, only NGX and default a/c left. And I had no any issues with power supply and simconnect, all works like a charm. But the display is not working at all. Trying all day to work this out, no results :/ There must be some solution for that. Thanks for any advices :) 

Share this post


Link to post
Share on other sites

That's my linda config for NGX. I think the problem lies in sending data betwween ngx and mcp unit via linda scripts. Just don't know the solution :)

 

IQN9Wd.jpg

Share this post


Link to post
Share on other sites

No expert here but you don't need the vri software.

Try removing it.

 

gb.

Share this post


Link to post
Share on other sites

With or without it, it works the same. If the vri software is off, it doesn't collide with linda in any matter. The last thing I did yesterday was removing the configs for 737NGX in linda and operating the aircraft on fsx defaults. Things got inverted somehow - the mcp unit itself was working with values changed by knobs, but it had no effect on the NGX mcp. I'm getting crazy about that.  What I think, there's some problem in communication between linda and ngx modules. That's why they cannot transfer data between them. But it relates to SPD, HDG, ALT and V/S. The rest is working ok. The radios panel works great, the efis and all the buttons also, so I'm sure there must be some solution. Thanks again for an advice. Help Guenter :)

Share this post


Link to post
Share on other sites

I did some research on the lua files. The lua programing language is relatively very simple.

 

I created my own file and for the SPD, HDG, ALT, VS it goes as follows:

 

-- MCP SPD knob
SPD1 = {
["A SHOW"] = SPD_show  ,
["A +"] = SPD_plus  ,
["A ++"] = SPD_plusfast  ,
["A -"] = SPD_minus  ,
["A --"] = SPD_minusfast  ,
["PRESS"] = empty  ,
 
}
 
 
-- MCP HDG knob
HDG1 = {
["A SHOW"] = HDG_show  ,
["A +"] = HDG_plus  ,
["A ++"] = HDG_plusfast  ,
["A -"] = HDG_minus  ,
["A --"] = HDG_minusfast  ,
["PRESS"] = Autopilot_HDG_Bug_align  ,
 
}
 
 
-- MCP ALT knob
ALT1 = {
["A SHOW"] = ALT_show  ,
["A +"] = ALT_plus  ,
["A ++"] = ALT_plusfast  ,
["A -"] = ALT_minus  ,
["A --"] = ALT_minusfast  ,
["PRESS"] = Autopilot_ALTSEL_mode  ,
 
}
 
 
-- MCP VVS knob
VVS1 = {
["A SHOW"] = VVS_show  ,
["A +"] = VVS_plus  ,
["A ++"] = VVS_plusfast  ,
["A -"] = VVS_minus  ,
["A --"] = VVS_minusfast  ,
["PRESS"] = Autopilot_VSSEL_mode  ,
 
}
 
With this file the display in the unit is working well, however mcp in ngx is frozen.
 
Inside the newest module from avsim the file shows:
 
-- MCP SPD knob
SPD1 = {
["A SHOW"] = empty  ,
["A  +"] = NGX_AP_SPD_inc  ,
["A ++"] = NGX_AP_SPD_incfast  ,
["A  -"] = NGX_AP_SPD_dec  ,
["A --"] = NGX_AP_SPD_decfast  ,
["PRESS"]  = NGX_AP_SPD_INTV  ,
}
 
 
-- MCP HDG knob
HDG1 = {
["A SHOW"] = empty  ,
["A  +"] = NGX_AP_HDG_inc  ,
["A ++"] = NGX_AP_HDG_incfast  ,
["A  -"] = NGX_AP_HDG_dec  ,
["A --"] = NGX_AP_HDG_decfast  ,
["PRESS"]  = NGX_AP_HDG_BANK_toggle  ,
}
 
 
-- MCP ALT knob
ALT1 = {
["A SHOW"] = empty  ,
["A  +"] = NGX_AP_ALT_inc  ,
["A ++"] = NGX_AP_ALT_incfast  ,
["A  -"] = NGX_AP_ALT_dec  ,
["A --"] = NGX_AP_ALT_decfast  ,
["PRESS"]  = NGX_AP_ALT_INTV  ,
}
 
 
-- MCP VVS knob
VVS1 = {
["A SHOW"] = empty  ,
["A  +"] = NGX_AP_VS_inc  ,
["A ++"] = NGX_AP_VS_inc  ,
["A  -"] = NGX_AP_VS_dec  ,
["A --"] = NGX_AP_VS_dec  ,
["PRESS"]  = empty  ,
}

 

With this one the vri mcp stays frozen, however ngx mcp works well.

There's a difference with the functions naming, so the problem lies here somewhere.

Had anyone have a problem like this before?

Is it possible to assign both values for one function? I'll try to do that and inform about the results.

 

Any help greatly appreciated :)

Share this post


Link to post
Share on other sites

Ok I'm doing fine with the LINDA scripts, sth starts to happen. I'll inform You with the results. I'm trying to synchronise the displays with ngx thanks to lua scripts for 737NGX. I'll upload the files for LINDA when I'm done. For now being the displays on VRI mcp starts work  and the NGX mcp values are changing a little bit. Next night on programming and setting the displays up :) Anyway, there is a problem with the actual module and functions inside, that's why they are not working as they should. Throttle on :)

Share this post


Link to post
Share on other sites

Sorry, for not responding, but I have no idea...

The 737 modules do work without any issue here.

 

Maybe Andrew can join here some day ...

Share this post


Link to post
Share on other sites

Can You please help me with that:

 

ipc.control(70022, 16384)
 
What I understand (70022) is for EVT_MCP_HEADING_SELECTOR where EVT equals NGX and is responsible for turning the hdg selector knob on the Ngx mcp
 
What is the 16384 value used for and where can I find it?
 
Thanks again :)

Share this post


Link to post
Share on other sites

Do you really want to start over building a new module?

The old works!

 

Wouldn't it be better to solve the issues?

 

Are you sure LINDA has the correct aircraft search string?

 

VosPEVy.png

 

 

 

For your question:

the 737 was the first addon module developed for LINDA.

Or better said, LINDA was initially developed for the 737.

We have produced the module after the initial release of the 737 without any SDK etc. So, many funktions are just from the gathered functions we found by ourselfes.

So, what you see is an event as you found out. And the numbers after that, are mostly just for increase or decrease a knob or press or release. That are just random(?) numbers from PMDG

Share this post


Link to post
Share on other sites

I was trying to solve the issues with the old one, but nothing happened. I thought it might be better to start from the very beginning to identify what's wrong. The problem lies somewhere in the actions.lua. When the file is clear the values on the mcp change, nut NGX mcp stays frozen. The fsx default one works well since it's using some fallbacked actions (I don't know where to find them) but only with the default fsx airplanes - the mcp on the default aircraft is cooperating with the vr insinght mcp. When I use the module 3.4 the VRI stays frozen, but the NGX mcp values are changing. I decided to create a script that changes one value, ex. SPD and try to synchronise that one with vri mcp. After that I try to add HDG, ALT and VS and at the very end - I'll add that scripts to the 3.4 module.

 

The problem is like that:

My NGX mcp shows that for default - SPD=100//HDG=000//ALT=10000//VS remains blank since it's not activated of course.

My VRI combo shows all vaules at zero: SPD=000//HDG=000//ALT=00000//VS=000

What I'm trying to do is to show the same vaules at the VRI mcp cause they do not synchronise when the module is loaded.

At the beginning of the script - 'initvars' I've got:

ngx_spd = 0

ngx_hdg = 0

ngx_alt = 0

ngx_vvs = 0

 

I tried to do sth like that to change the vaules on the vri display

 

ngx_spd = ipc.readLvar("L:ngx_SPDwindow")

ngx_hdg = ipc.readLvar("L:ngx_HDGwindow")

ngx_alt = ipc.readLvar("L:ngx_ALTwindow")

ngx_vvs = ipc.readLvar("L:ngx_VVSwindow")

but it doesn't work

 

As I understand these are used later for the following functions which are responsible for showing what's on the vri display:

 

function InitDsp ()

NGX_AP_SPD_show ()

NGX_AP_HDG_show ()

NGX_AP_ALT_show ()

NGX_AP_VS_show ()

end

 

This one is the main function for creatin what's on the vri display for the SPD

and the DspSPD is the LINDA function which actually sends the data to the VRI SPD display

 

function NGX_AP_SPD_show ()

ipc.sleep(50)

ngx_spd = ipc.readLvar("L:ngx_SPDwindow")

if ngx_spd < 0 then ngx_spd = 0 end

DspSPD(ngx_spd)

end

 

Something is not working here. At the very beginning the ngx_spd is set to 0, here it reads the ngx display, so it goes for two values set. An is it possible that the value for speed is less than 0 (maybe for reverse thrust, I'm not sure about that)?

 

I keeps me fighting the third day and I'm going a little bit crazy about that.

Thanks for reading this Guenter, maybe You can find some more advices for me :)

I know that LINDA is a fantastic app and I have to find the clue :)

Share this post


Link to post
Share on other sites

I wrote sth like that:

 

function InitVars ()

   ngx_spd = ipc.readLvar("L:ngx_SPDwindow")
end
 
function InitDsp ()
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_show ()
    ipc.sleep(50)
    DspSPD(ngx_spd)
end
 
but the VRI display is not responding. I'm just wondering: if I write ngx_spd = 100, should the VRI display show this value of 100 or anythin else I put there, let's say 731?

Share this post


Link to post
Share on other sites

Ok after long hours of script changing I got that (I modified this in the actions.lua module):

 

function InitVars ()

    ngx_spd = 100
    ngx_hdg = 100
    ngx_alt = 100
    ngx_vvs = 0
end
 
function InitDsp ()
    NGX_AP_SPD_show ()
    NGX_AP_HDG_show ()
    NGX_AP_ALT_show ()
    NGX_AP_VS_show ()
end
 
function NGX_AP_SPD_show ()
    ipc.sleep(50)
        ngx_SPD = ipc.readLvar("L:ngx_SPDwindow")
    DspSPD(ngx_spd)
end
 
function NGX_AP_HDG_show ()
    ipc.sleep(50)
    ngx_hdg = ipc.readLvar("L:ngx_HDGwindow")
    DspHDG(ngx_hdg)
end
 
function NGX_AP_ALT_show ()
    ipc.sleep(50)
    DspALT(ngx_alt)
end
 
When I change the init vars the VRI MCP display shows both the fixed values of 100 and reads the heading from NGX - ngx_hdg = ipc.readLvar("L:ngx_HDGwindow")
 
The thing is that with this script:
 
function NGX_AP_SPD_inc ()
    ipc.control(70016, 16384)
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_incfast ()
    local i
    for i = 1, 4 do ipc.control(70016, 16384) end
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_dec ()
    ipc.control(70016, 8192)
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_decfast ()
    local i
    for i = 1, 4 do ipc.control(70016, 8192) end
    NGX_AP_SPD_show ()
end
 

the values are not changing, only the knobs are rotating. The 8192 and 16384 may be responsible for rotating the knob only, but not for changing the values on the VRI display.

 

Am I right? :)

Share this post


Link to post
Share on other sites

You know that you have to put the functions into the function "Timer" that they will show up in the displays permanent?

 

as example:

 

--------------------------

 

function NGX_AP_ALT_show ()
    ipc.sleep(50)
    DspALT(ngx_alt)
end
 
function Timer ()
    NGX_AP_ALT_show ()
end
 

--------------------------

 

and yes, there are control parameters for just rotating the knob and some for the function itself ...

 
 
 

Share this post


Link to post
Share on other sites

I simply don't get it :) 4th day and no results :) I put that in actions.lua:

 

function Timer ()
    NGX_AP_SPD_show ()
    NGX_AP_HDG_show ()
    NGX_AP_ALT_show ()
    NGX_AP_VS_show ()
end
but it doesn't work . And there's no any timer function in the 3.4 module for NGX :) I was earching for some kind of error in the common, handlers and events luas, but got nothing. 
I do not understand one thing. The radios panel on the bri works fine, it changes, rotates and does some miracles also, since theese 4 values on the mcp stays as sorcerer's stone.
I tried many combinations in the actions lua.
On the beginning I've got:
    AutoDisplay = false in the initvars.
When I change that one to true - the values change but only one degree/kt/ft on plus and minus. 
There must be some solution to move this #@$ display :)
Guenter is it possible that You send me some working actions.lua and config-mcp2.lua for jazzsim@wp.pl?
I'm just curious what's the heck wrong with that.
Thanks for help :)

Share this post


Link to post
Share on other sites

Hi,

 

I do not have to send you a working actions.lua via mail as it is the same as you can download.

 

 

And what do you mean with:

 

 

And there's no any timer function in the 3.4 module for NGX :) 

 

 

mN1miZa.png

 

 

???

Share this post


Link to post
Share on other sites

Seems like the black hole :) I put these functions in the timer already but they don't seem to update the values.

I worked with the init vars yesterday.

At the beginning we've got that:

    ngx_spd = 0
    ngx_hdg = 0
    ngx_alt = 0
    ngx_vvs = 0
 
When I change values, ex. ngx_spd=200, the init display shows 200 for speed with this function:
function NGX_AP_SPD_show ()
    ipc.sleep(50)
    DspSPD(ngx_spd)
end
 
However when I change the ngx_spd to display what's on the ngx mcp with this var:
    ngx_spd = ipc.readLvar("L:ngx_SPDwindow")
it does not even load the value of whatever it is (for default the ngx mcp spd shows 100).
By somehow I think the lvar "ipc.readLvar("L:ngx_SPDwindow")" is not working, but I don't know why :)
 
I checked it with vri software and pmdg and the effect is the same. It works wth the default airplanes, but these values with ngx remains stucked. That's some kind of bull..it for me.
Anyway I'm not going to leave this. This one is a must :)
 

Share this post


Link to post
Share on other sites

ok,

 

reset ;)

 

Have you tried the following:

remove (backup!) the current actions.lua you use for the NGX and insert there a complete vanilla file and try it again?

 

Maybe simply with this functions:

function Timer ()
	NGX_AP_SPD_show ()
end


function NGX_AP_SPD_show ()
    ipc.sleep(50)
    ngx_spd = ipc.readLvar("L:ngx_SPDwindow")
    if ngx_spd < 0 then ngx_spd = 0 end
    DspSPD(ngx_spd)
end



function NGX_AP_SPD_inc ()
    ipc.control(70016, 16384)
    NGX_AP_SPD_show ()
end

function NGX_AP_SPD_dec ()
    ipc.control(70016, 8192)
    NGX_AP_SPD_show ()
end

Assign NGX AP SPD inc/dec to your MCP combo and have a try ...

This should work in any case, otherwise there is a bigger problem

Share this post


Link to post
Share on other sites

Hello Guneter :)

 

I did as You told me and I found some interesting clues. Ok let me start from the very beginning :)

 

I got his code:

 

function Timer ()
NGX_AP_SPD_show ()
NGX_AP_HDG_show ()
NGX_AP_ALT_show ()
end
 
 
function NGX_AP_SPD_show ()
    ipc.sleep(50)
    ngx_spd = ipc.readLvar("L:ngx_SPDwindow")
    DspSPD(ngx_spd)
end
 
function NGX_AP_SPD_inc ()
    ipc.control(70016, 16384)
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_incfast ()
    local i
    for i = 1, 4 do ipc.control(70016, 16384) end
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_dec ()
    ipc.control(70016, 8192)
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_decfast ()
    local i
    for i = 1, 4 do ipc.control(70016, 8192) end
    NGX_AP_SPD_show ()
end
 
 
 
 
function NGX_AP_HDG_show ()
    ipc.sleep(50)
    ngx_hdg = ipc.readLvar("L:ngx_HDGwindow")
    DspHDG(ngx_hdg)
end
 
function NGX_AP_HDG_inc ()
    ipc.control(70022, 16384)
    NGX_AP_HDG_show ()
end
 
function NGX_AP_HDG_dec ()
    ipc.control(70022, 8192)
    NGX_AP_HDG_show ()
end
 
 
 
function NGX_AP_ALT_show ()
    ngx_alt = ipc.readLvar("L:ngx_ALTwindow")
    DspALT(ngx_alt)
end
 
function NGX_AP_ALT_inc ()
    ipc.control(70032, 16384)
    NGX_AP_ALT_show ()
end
 
function NGX_AP_ALT_dec ()
    ipc.control(70032, 8192)
    NGX_AP_ALT_show ()
end
 
With this code the values start to change on the pmdg mcp and on the vri mcp, but there's some other issue. The values on the vri mcp change as I rotate the knob, but they do always reset to their default state of 000 (the good thing is that they started to change :)

 

=====================================================================================================
 
But !!! when I was changing the code I got some funny thing. If I put this code (I change the DspSPD and DspALT to  DspHDG as it goes down there - the alt and spd on the vri do change!!!, only the hdg value resets to 000 when I stop rotating the HDG knob):
 
function Timer ()
NGX_AP_SPD_show ()
NGX_AP_HDG_show ()
NGX_AP_ALT_show ()
end
 
 
 
 
function NGX_AP_SPD_show ()
    ipc.sleep(50)
    ngx_spd = ipc.readLvar("L:ngx_SPDwindow")
    DspHDG(ngx_spd)
end
 
function NGX_AP_SPD_inc ()
    ipc.control(70016, 16384)
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_incfast ()
    local i
    for i = 1, 4 do ipc.control(70016, 16384) end
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_dec ()
    ipc.control(70016, 8192)
    NGX_AP_SPD_show ()
end
 
function NGX_AP_SPD_decfast ()
    local i
    for i = 1, 4 do ipc.control(70016, 8192) end
    NGX_AP_SPD_show ()
end
 
 
 
 
function NGX_AP_HDG_show ()
    ipc.sleep(50)
    ngx_hdg = ipc.readLvar("L:ngx_HDGwindow")
    DspHDG(ngx_hdg)
end
 
function NGX_AP_HDG_inc ()
    ipc.control(70022, 16384)
    NGX_AP_HDG_show ()
end
 
function NGX_AP_HDG_dec ()
    ipc.control(70022, 8192)
    NGX_AP_HDG_show ()
end
 
 
 
function NGX_AP_ALT_show ()
    ngx_alt = ipc.readLvar("L:ngx_ALTwindow")
    DspHDG(ngx_alt)
end
 
function NGX_AP_ALT_inc ()
    ipc.control(70032, 16384)
    NGX_AP_ALT_show ()
end
 
function NGX_AP_ALT_dec ()
    ipc.control(70032, 8192)
    NGX_AP_ALT_show ()
end
 
As You can see in the NGX_AP_SPD_show, NGX_AP_HDG_show and NGX_AP_ALT_show there's continuously -  DspHDG(ngx_spd), DspHDG(ngx_hdg) and DspHDG(ngx_alt).
It gave me to thinking that there may be something wrong with the common.lua DspHDG DspSPD and DspALT, because some part of the code is resetting the displays to 000 even when the values start changing.
 
That's my actual code from common.lua for these functions:
 
function DspSPD (i)
    if dev == 0 then return end
    local strVal
    strVal = DspNum(i)
        if DSP_SPD_PREV ~= strVal then
            if _MCP2() then --or _MCP2a() then
               Dsp9("\\\\ \\")
        end
        ipc.sleep(20)
        com.write(dev, "SPD" .. DspNum(i) .. "__", 8)
        SPD = i
        DSP_SPD_PREV = strVal
        DspHideCursor()
    end
end
 
function DspHDG (i)
       if dev == 0 then return end
       local strVal
       strVal = DspNum(i)
       if DSP_HDG_PREV ~= strVal then
              if _MCP1() then
              ipc.sleep(30)
              com.write(dev, "HDG" .. DspNum(i), 8)
              DspHideCursor()
              elseif _MCP2() then
             DspC(DspNum(i) .. '\\')
             elseif (_MCP2a() and Airbus) then
             ipc.sleep(30)
             com.write(dev, "HDG" .. DspNum(i,3) .. '\\', 8)
             else -- MCP2a default
             DspB(DspNum(i) .. '\\')
             end
             HDG = i
             DSP_HDG_PREV = strVal
       end
end
 
function DspALT (i)
     if dev == 0 then return end
     local strVal
     strVal = DspNum(i)
     if DSP_ALT_PREV ~= strVal then
          ipc.sleep(30)
          com.write(dev, "ALT" .. DspNum(i), 8)
          DspHideCursor()
          ALT = i
          DSP_ALT_PREV = strVal
     end
end

 

Thanks again for Your patience and great advices :)

Share this post


Link to post
Share on other sites

OK topic closed tonight :) I uninstalled all PMDG prducts I had and made clean install of NGX, VRI SOFTWARE, Linda and ngx mod. The panel with both apps started to work at last. Sth was f..ed

by the side of pmdg modules. The Linda software works great and even the responses to knobs are faster and more efficient comparing to vri software.

 

Thanks for Your time and patience Guenter. For sure You are the Man :) Thanks also that I could learn a lot of another scripting language and I can use it oppose another sim addons. That means a lot for a true flight simmer. I wish You and all the team all the best and a donation for the project is a must :)

 

Happy flights and throttles on :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this