Jump to content
The simFlight Network Forums
Steve38

GoFlight EFIS and MCP PRO Full Interface for PMDG NGX

Recommended Posts

** UPDATE 14th March, 2012**

Hi,

Since a number of people have started to ask for help in installing the script, I decided to update known issues.

1) The freeze that occured (because the cleanup/exit routines called ipc.exit) has been fixed in FSUIPC versions 4.805 and above. Please install the latest FSUIPC so that you no longer need to remark out the aformentioned routine in the script. You can get it here: http://forum.simflig...pdated-modules/

2) If you don't use Trackir and Ezdok, you will notice that the VC moves when using the MCP. This is because the mouse look command is sent to cancel out the mouse pointer being displayed. There is an option in the user customisable section of the screen to disable this functionality if problems are occuring. Change CANCELMOUSEKEY = 32 to CANCELMOUSEKEY = 0

3) 99% of the problems people have are incorrect entries in fsuipc.ini. Please ensure you remove all sections you have added related to NGX/Boeing 737 and include only these (no duplicate entries can be present):

[General]

ShortAircraftNameOk=Yes

UseProfiles=Yes

[Profile.PMDG NGX]

1="PMDG 737"

2="Boeing 737"

[Auto.PMDG NGX]

1=Lua NGX_AUTO

[buttons.PMDG NGX]

various stuff here depending upon your own config

[JoystickCalibration.PMDG NGX]

various stuff here depending upon your own config

Best wishes

Steve

** UPDATE **

New version 1.00 provides a few bug fixes for SP1 users.

Best wishes

Steve

** UPDATE **

New version 0.16B provides a temporary solution for outer baro and mins dials on EFIS. Still work in progress, so if you need support contact me on my email address at the bottom of the readme.

Best wishes

Steve

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

** UPDATE **

New version 15B fixes a few bugs and adds some performance enhancements. Still work in progress, so if you need support contact me on my email address at the bottom of the readme.

Best wishes

Steve

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

Attached is version 0.14B of an LUA script that now fully supports the MCP PRO / MCP and upto 2 EFIS (captain and FO). It now supports displays and lights.

It requires the latest version of FSUIPC and the PMDG Hotfix 4.

It's still a beta as I need some feedback to polish off any rough edges.

Best wishes

Steve

GoFlight EFIS and MCP PRO interface for the PMDG NGX.zip

Share this post


Link to post
Share on other sites

Well i just tryeid it and it worked ok,on my short testing. but like whit the driver the displays dosent show the same, before after 0.5 - 1 sec. depending on the setting used bu cant remove the lag but might be the file from goflight as same whit gf driver. + when plane crash or so the GF device gets blank. but els it seems to work quite good. exsept from the known mouse problem.

About the displays i cant say as im not much into the structure you use but mabe by let the display run as a lua file for it self might help. I did it that way on for pmdg J41 and the rest of the lua files and it works whit out any lag.

Share this post


Link to post
Share on other sites

Well i just tryeid it and it worked ok,on my short testing. but like whit the driver the displays dosent show the same, before after 0.5 - 1 sec. depending on the setting used bu cant remove the lag but might be the file from goflight as same whit gf driver. + when plane crash or so the GF device gets blank. but els it seems to work quite good. exsept from the known mouse problem.

About the displays i cant say as im not much into the structure you use but mabe by let the display run as a lua file for it self might help. I did it that way on for pmdg J41 and the rest of the lua files and it works whit out any lag.

The displays use the event.offset structure as recommeneded by Pete.

There is a user customisable section at the top of the script where you can turn up the polling times to increase performance. They are set by default to balance out for most systems (not everyone has a 4.5Ghz i7!). Try increasing the polling times to get rid of any lag.

Share this post


Link to post
Share on other sites

As said i have been tweaking whit those numbers even hig and low,even again i tryeid and keep tweaking but all there is happening is i move the moment of when it updates as it is what it´s there for. i can se it works better whit some delays and that as it gets more smooth but i cant remove that it takes xxx sec before it jumps to what the NGX says.

Therefor it dosent fix the main problem only move the moment of when it happens. look at the video here and se what i mean:

In the video i used this lua whit delay as ipc.sleep(200):

prevCRS1 = -1
prevspeed = -1
prevhdg = -1
prevalt = -1
prevVS = -1
prevCRS2 = -1
while 1 do
	CRS1 = ipc.readSW("0C4E")
    	if (CRS1 ~= prevCRS1) then
        	stringCRS1 = string.format("%03d", CRS1)
        	gfd.setDisplay(GFMCPPRO,0,0,stringCRS1)
        	prevCRS1 = CRS1
    	end
    	speed = ipc.readLvar("L:ngx_SPDwindow")
    	if (speed ~= prevspeed) then
        	stringspeed = string.format("%03d", speed)
        	gfd.setDisplay(GFMCPPRO,0,1,stringspeed)
        	prevspeed = speed
	end
    	hdg = ipc.readLvar("L:ngx_HDGwindow")
    	if (hdg ~= prevhdg) then
        	stringhdg = string.format("%03d", hdg)
        	gfd.setDisplay(GFMCPPRO,0,2,stringhdg)
        	prevhdg = hdg
    	end
	alt = ipc.readLvar("L:ngx_ALTwindow")
    	if (alt ~= prevalt) then
        	stringalt = string.format("%05d", alt)
        	gfd.setDisplay(GFMCPPRO,0,3,stringalt)
        	prevalt = alt
    	end
	VS = ipc.readLvar("L:ngx_VSwindow")
    	if (VS ~= prevVS) then
        	stringalt = string.format("%05d", VS)
        	gfd.setDisplay(GFMCPPRO,0,4,stringalt)
        	prevVS = VS
    	end
	CRS2 = ipc.readSW("0C5E")
    	if (CRS2 ~= prevCRS2) then
        	stringCRS2 = string.format("%03d", CRS2)
        	gfd.setDisplay(GFMCPPRO,0,5,stringCRS2)
        	prevCRS2 = CRS2
	end
    ipc.sleep(200)
end

Share this post


Link to post
Share on other sites

Attached is version 0.14B of an LUA script that now fully supports the MCP PRO / MCP and upto 2 EFIS (captain and FO). It now supports displays and lights.

It requires the latest version of FSUIPC and the PMDG Hotfix 4.

It's still a beta as I need some feedback to polish off any rough edges.

Best wishes

Steve

Hi, may I ask on which MCP-PRO firmware the has been tested ?

I'm currenlty have tons of issues with A22 and 2.03 new drivers ... freezes, lags ... lookups etc..

Regards,

Francesco

Share this post


Link to post
Share on other sites

I tested whit A25 and the latest versions of FSUIPC + goflight driver.

Francesco, i have something you could test to se if that helps you to.. i have attached the file i was using yesterday try it out together whit NGX_AUTO.LUA. i know using 2 files whit some of the same context isent that good but its only for testing i did it and works together, i could have attached the macro file to but if this is enough we are 1 step closer as the macro you have to assign in fsuipc and would be waste of time in the first place. so plz try it and report back... as i want to see if it´s just me this helps. as the file is a looping and keep looking for new input to the MCP displays of the 737ngx.

PMDG737NGX_demo .zip

Share this post


Link to post
Share on other sites

I tested whit A25 and the latest versions of FSUIPC + goflight driver.

Francesco, i have something you could test to se if that helps you to.. i have attached the file i was using yesterday try it out together whit NGX_AUTO.LUA. i know using 2 files whit some of the same context isent that good but its only for testing i did it and works together, i could have attached the macro file to but if this is enough we are 1 step closer as the macro you have to assign in fsuipc and would be waste of time in the first place. so plz try it and report back... as i want to see if it´s just me this helps. as the file is a looping and keep looking for new input to the MCP displays of the 737ngx.

Thanks a lot!

Could you be so kind to recap the steps to do for 'install' the Lua file, as I tryied to follow the instructions on the forum but... I'm a little bit consufing cause probalby there is something wrong on what I'm doing.

Thanks in advance

FRancesco

Share this post


Link to post
Share on other sites

well lets take the importan steps here, i start whit the file from steveo38:

1) Take his file (NGX_AUTO.lua) place it in the modules folder.

2) make sure you have copyeid: GFDev.dll from GoFlight folder (default location on 64 bit version = Program Files (x86)\GoFlight 32 bit i mean it is Program Files\GoFlight)

and placed the file in the modules folder as well.

3) inside modules folder there is a file named: FSUIPC4.ini open it whit a text editor (notepad or so)

go to the last line and add this if you havent don it yet.

[Auto.PMDG 737]
1=Lua NGX_AUTO

[Auto.Boeing 737]
1=Lua NGX_AUTO

inside the dokunment use the search to find:ShortAircraftNameOk then set =YES if it is NO so it looks like this: ShortAircraftNameOk=Yes

4) save the dokument and Setup is done for his file.

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

The test:

1) download the file i uploaded, insert ipcready.lua in the modules folder, and start FS.

There is no need for doeing anything to the file as i have named it ipcready thats becaus FSUIPC would then run it automatic.

If it have been the release version i would have named it different and you would have to do like whit the other file.

like:

[Auto.Boeing 737]
1=Lua NGX_AUTO
2=Lua NGX_AUTO2 

[Auto.PMDG 737]
1=Lua NGX_AUTO
2=Lua NGX_AUTO2

so i call it NGX_AUTO2.lua insted of ipcready.lua

Note i hope you could see an difference, as i could give you the macro as well if you want to try assign all the rotation buttons to be 100% sure, as now his file is still running and could give a different result like it still dosent work for you. but as said i like you to do that first, before giving you the macro file to save you time, so you dont spend more time on it then required.

hope it is enough els let me know

Share this post


Link to post
Share on other sites

well lets take the importan steps here, i start whit the file from steveo38:

1) Take his file (NGX_AUTO.lua) place it in the modules folder.

2) make sure you have copyeid: GFDev.dll from GoFlight folder (default location on 64 bit version = Program Files (x86)\GoFlight 32 bit i mean it is Program Files\GoFlight)

and placed the file in the modules folder as well.

3) inside modules folder there is a file named: FSUIPC4.ini open it whit a text editor (notepad or so)

go to the last line and add this if you havent don it yet.

[Auto.PMDG 737]
1=Lua NGX_AUTO

[Auto.Boeing 737]
1=Lua NGX_AUTO

inside the dokunment use the search to find:ShortAircraftNameOk then set =YES if it is NO so it looks like this: ShortAircraftNameOk=Yes

4) save the dokument and Setup is done for his file.

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

The test:

1) download the file i uploaded, insert ipcready.lua in the modules folder, and start FS.

There is no need for doeing anything to the file as i have named it ipcready thats becaus FSUIPC would then run it automatic.

If it have been the release version i would have named it different and you would have to do like whit the other file.

like:

[Auto.Boeing 737]
1=Lua NGX_AUTO
2=Lua NGX_AUTO2 

[Auto.PMDG 737]
1=Lua NGX_AUTO
2=Lua NGX_AUTO2

so i call it NGX_AUTO2.lua insted of ipcready.lua

Note i hope you could see an difference, as i could give you the macro as well if you want to try assign all the rotation buttons to be 100% sure, as now his file is still running and could give a different result like it still dosent work for you. but as said i like you to do that first, before giving you the macro file to save you time, so you dont spend more time on it then required.

hope it is enough els let me know

Fantastic! I'll let you know ... many many thanks!

Francesco

Share this post


Link to post
Share on other sites

Fantastic! I'll let you know ... many many thanks!

Francesco

Be carefull with this extra script since it will result in dual read and writes which Pete identified as a possible cause for the displays freezing and potentially MCP lock ups. For those without a lock up problem go ahead if it helps.

I'll look at refining the script further to improve performace, but at the moment its written to be safe and will be fine with people on older firmware. The vast majority of people have reported great success with it so far, so don't worry.

I support people directly via email, so if you need support contact me on my email address at the bottom of the readme.

Best wishes

Steve

Share this post


Link to post
Share on other sites

well steveo38 of cause its a extra script dual read but no writes, and already told. and is only testing and the way its setup,

was more petes work then my as it´s him there learnde me how to do it whit the struckture.

And he had problem whit freezes, lags ... lookups whit out the test file. and by the way the sleep funktion is there to limit the resourses.

I just simply don`t se why you don´t split i into to 2 sections of files as that would solve it.. 1 whit only the displays like the file i provided and 1 for the rest that would work.

thats all i try to say and let the test show

"at the moment its written to be safe and will be fine with people on older firmware"

What is the point in only support some device, we all have the same hardware but for some reason there is a difference on the firmware whitch have shown different results even whit the GFdriver where people fight to get it working when otheres sit and say no problem it works..

Share this post


Link to post
Share on other sites

well steveo38 of cause its a extra script dual read but no writes, and already told. and is only testing and the way its setup,

was more petes work then my as it´s him there learnde me how to do it whit the struckture.

And he had problem whit freezes, lags ... lookups whit out the test file. and by the way the sleep funktion is there to limit the resourses.

I just simply don`t se why you don´t split i into to 2 sections of files as that would solve it.. 1 whit only the displays like the file i provided and 1 for the rest that would work.

thats all i try to say and let the test show

"at the moment its written to be safe and will be fine with people on older firmware"

What is the point in only support some device, we all have the same hardware but for some reason there is a difference on the firmware whitch have shown different results even whit the GFdriver where people fight to get it working when otheres sit and say no problem it works..

So I'm trying right now and : I.'ve now GF driver 1.93.0.20 and both the scripts...

Results:

1- no dash lines now on MCP;

2-all zero's at start

3- when rotate no vaules is changed all remain zero!

4- buttons dont work;

5- if I change values on panel VC only Course data is updates on MCP.

Why I'm using old drivers: couse freezes are rare and I can unplug and plug MCP againg and values on it comes up updated when I rotate and push buttons.

Iìm going to install new driver to do other test with your files,keeping fingers crossed !

Regards,

Francesco

Share this post


Link to post
Share on other sites

well year ok i dident test whit that, as my device dosent work whit drivers older than 1.95 but hope you get god results whit the latest driver and remember to update the GFDev.dll in the moduls folder as well, because that file have been chagsed over time as well..

Share this post


Link to post
Share on other sites

well year ok i dident test whit that, as my device dosent work whit drivers older than 1.95 but hope you get god results whit the latest driver and remember to update the GFDev.dll in the moduls folder as well, because that file have been chagsed over time as well..

Bad news ... with 2.03 same as per 1.93 driver. I see values 0 and no change in vaules when rotate or push button... ( I have updated GFDev.dll )

I noticed some strange behavoirs also flying with other B737 it is normal?

Regards,

Francesco

Share this post


Link to post
Share on other sites

well when using the file i gave you, could make some funny things to default planes also why when its a finished product isent set as ipcready as it runs all the time, thats why we set:

[Auto.PMDG 737]
1=Lua NGX_AUTO

[Auto.Boeing 737]
1=Lua NGX_AUTO  

This does it only loads when we use this plane the ipcready runns always no matter what plane.

you havent assigned any buttons right? as it should work whit out setting any buttons in fsuipc

It just sound wired that you only se 0 thats shown when steveo38 lua file start but here it updates after a sec

but you could try shutdown the goflight driver. as mabe the saved file dosent save the compatible mode as some users experinced that. as out scrips work whitout the gf driver thats why you insert the GFDev.dll

Share this post


Link to post
Share on other sites

well when using the file i gave you, could make some funny things to default planes also why when its a finished product isent set as ipcready as it runs all the time, thats why we set:

[Auto.PMDG 737]
1=Lua NGX_AUTO

[Auto.Boeing 737]
1=Lua NGX_AUTO  

This does it only loads when we use this plane the ipcready runns always no matter what plane.

you havent assigned any buttons right? as it should work whit out setting any buttons in fsuipc

It just sound wired that you only se 0 thats shown when steveo38 lua file start but here it updates after a sec

but you could try shutdown the goflight driver. as mabe the saved file dosent save the compatible mode as some users experinced that. as out scrips work whitout the gf driver thats why you insert the GFDev.dll

No I havent assigned buttons. So if I have understood, I have to shutdown the driver tha starts with FSX and start which is in FSX module manually .. is better ? ( GFDev.dll )

Just to recap: when I start FS dash lines appears on MCP, when the ariplane is loades some 000's appears on MCP. Rotation doesnt do anything with I need to assign rotation and buttons via FSUIPC ( that's correct ? )

Francesco

Share this post


Link to post
Share on other sites

plz standby.. i just tryeid to re-install to reprosess of what could have happend. I am as confused as az1228 latest version of FSUIPC the Script steveo38 gave only shows dashes and buttons dosent work..

sounds wired it worked before also when inserting my old fsuipc.ini file from before it works again ??? but whit the new nothing happens.

Share this post


Link to post
Share on other sites

well inside the FSUIPC.ini file this should be used insted then it works whit all the aircraft types:

[Profile.PMDG 737NG]
1=PMDG 737-800NG
2=Boeing 737-800NG
3=Boeing 737-900NG
[Auto.PMDG 737NG]
1=Lua NGX_AUTO

Insted of

[Auto.PMDG 737]
1=Lua NGX_AUTO

[Auto.Boeing 737]
1=Lua NGX_AUTO

As for some reason it just simply dosent load it whit the codes from the manual..

Share this post


Link to post
Share on other sites

plz standby.. i just tryeid to re-install to reprosess of what could have happend. I am as confused as az1228 latest version of FSUIPC the Script steveo38 gave only shows dashes and buttons dosent work..

sounds wired it worked before also when inserting my old fsuipc.ini file from before it works again ??? but whit the new nothing happens.

Read post #55 here

http://forum.avsim.net/topic/345151-goflight-efis-and-mcp-pro-partial-interface/page__st__50

Its to do with default profile settings in fsuipc.

Share this post


Link to post
Share on other sites

Have been testting and tweaking whit the file and still have the lag on both my new MCP-PRO and my very old MCP advanced same effect. as previus version

Hello Guys....

Good, Good news... I've reinstalled PMDG with latest hotfix, latest 2.03 GF driver, add buttons 321, and change userprofiles to NO in FSUIPC.ini, with lastest LUA release by steve.

And...it works !!! When plane is loaded MCP turns on values, Rotary are OK with a lite lacks , Button OK with a lite lack too expecially for A/P engage button.

A/T & F/D are ok realtime !

But the new is that NO freezes ( since now... keep fingers crossed!! )

There is something that we can do for eliminating lags when rotate and A/P engage I have to push it more that 3 times before have it on. I see that if I select before ALT HLD, V/S or HDG it turns on faster ( it is not a strange behavior ? )

Regards,

Francesco

Share this post


Link to post
Share on other sites

Hello Guys....

Good, Good news... I've reinstalled PMDG with latest hotfix, latest 2.03 GF driver, add buttons 321, and change userprofiles to NO in FSUIPC.ini, with lastest LUA release by steve.

And...it works !!! When plane is loaded MCP turns on values, Rotary are OK with a lite lacks , Button OK with a lite lack too expecially for A/P engage button.

A/T & F/D are ok realtime !

But the new is that NO freezes ( since now... keep fingers crossed!! )

There is something that we can do for eliminating lags when rotate and A/P engage I have to push it more that 3 times before have it on. I see that if I select before ALT HLD, V/S or HDG it turns on faster ( it is not a strange behavior ? )

Regards,

Francesco

Hi Francesco,

All buttons run from the same routine so if there is a performance problem it would effect all buttons. I suspect that you think the CMD button is not engaging because it wouldn't engage in the Virtual Cockpit either. If you read some of the NGX forum posts you'll realise that the AP won't enagage under some circumstances, for example above a certain height and no pressure on the yoke (properly trimmed aircraft).

No-one has reported this problem either so I think your issue is that the aircraft is not in the correct state to enagage the AP.

Best wishes

Steve

Share this post


Link to post
Share on other sites

Hi Francesco,

All buttons run from the same routine so if there is a performance problem it would effect all buttons. I suspect that you think the CMD button is not engaging because it wouldn't engage in the Virtual Cockpit either. If you read some of the NGX forum posts you'll realise that the AP won't enagage under some circumstances, for example above a certain height and no pressure on the yoke (properly trimmed aircraft).

No-one has reported this problem either so I think your issue is that the aircraft is not in the correct state to enagage the AP.

Best wishes

Steve

Ok Steve, Thanks

Francesco

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

×

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.