Jump to content
The simFlight Network Forums

Steve38

Members
  • Posts

    81
  • Joined

  • Last visited

Everything posted by Steve38

  1. Ok Pete, I know someone else with an MCP PRO and uses the PMDG NGX. I'll get them to test things out and see if they have the same problem. It wouldn't surprise me if its firmware or GFDev. I got GFdev from their latested software release version 2.03 here: http://www.goflightinc.com/software.shtml Thanks Steve
  2. Hi Pete, Thats a fair observation, however the display routine above was eliminated in my testing as detailed in one of the posts. By making delay equal 5 (5000ms) seconds, the display routine never ran because I kept turning the dial and it still locked the displays: function GFAPDisplaysEvent() if ipc.elapsedtime() - TLCBM > DELAY then gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS1, string.format("%03s", ipc.readSW("0C4E"))) gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS2, string.format("%03s", ipc.readSW("0C5E"))) end end thus the routine that was running that caused the lock up was: local function changeCRS1(speed) if speed > 0 then for x=1, speed, 1 do ipc.control(70008, 16384) end elseif speed < 0 then for x=-1, speed, -1 do ipc.control(70008, 8192) end end gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS1, string.format("%03s", ipc.readSW("0C4E"))) TLCBM = ipc.elapsedtime() end called from: function GFAPEvent() changeCRS1(1) end .... event.gfd(GFAPM, GFAPU, "GFAPEvent") -- Start monitoring events for MCP hardware
  3. I'm using version 2.0.1.1 of GFDev dated 23/6/2011. I'm using 4.721 of FSUIPC. Many thanks
  4. Sorry pete, I posted before seeing this reply. I have added an ipc.sleep(100) into the GFAPEvent which really slows things down as well as cancelling and restarting the event: function GFAPEvent() event.cancel("GFAPEvent") -- stop double event call changeCRS1(1) ipc.sleep(100) event.gfd(GFAPM, GFAPU, "GFAPEvent") -- Start monitoring events for MCP hardware end I can still lock the displays up. Sometimes it can take a minute, othertimes it will do it straight away.
  5. Hi Pete, I tracked the problem down to the goflight event call. Firstly I removed the goflight event call and replaced it with the following code that simply bombards FSX with course change values: for x=1, 100000, 1 do changeCRS1(1) end The above ran fine, no lock ups with the course changing in FSX and the MCP PRO. I then replaced all the code in GFAPEvent() with: function GFAPEvent() changeCRS1(1) end ... event.gfd(GFAPM, GFAPU, "GFAPEvent") -- Start monitoring events for MCP hardware so any activity on the MCP PRO would change the course. Although it was harder to lock up, it still locked the displays if you turned any dial continually fast, whilst all the buttons, switches and dials continued to work and call the event...so the VC was being updated but the MCP PRO display had frozen. Eventually the display recovers and works normally. I thought cancelling and restarting the GFAPEvent within itself would stop double calls maybe, but no joy and adding sleep commands makes it unusable. Any more thoughts? Thanks Steve
  6. DELAY = 2000 TLCBM = ipc.elapsedtime() ..... local function changeCRS1(speed) if speed > 0 then for x=1, speed, 1 do ipc.control(70008, 16384) end elseif speed < 0 then for x=-1, speed, -1 do ipc.control(70008, 8192) end end gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS1, string.format("%03s", ipc.readSW("0C4E"))) TLCBM = ipc.elapsedtime() end function GFAPDisplaysEvent() if ipc.elapsedtime() - TLCBM > DELAY then gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS1, string.format("%03s", ipc.readSW("0C4E"))) gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS2, string.format("%03s", ipc.readSW("0C5E"))) end end Tried the above. Still freezes the CRS display when turning the CRS dial fast. I tried various DELAY values from 100 to 2000ms. If I set the DELAY to 5000 and I keep turning the dial without pausing the freeze will occur but sometimes it will eventually unfreeze and the display updates which indicates its not an event clash because there was no way I paused for 5 seconds between dial rotations.
  7. Hi Pete, PMDG have just announced that they will make available the Auto Pilot Lvars in the next hotfix/SP1 for the NGX. With that in mind I've started to update my GoFlight EFIS and MCP PRO LUA script so that the displays and button lights can be updated. Until the lvars are available I have been testing code using CRS (course) values that can be accessed via 0C4E and 0C5E. Although I can code this, I am having trouble with consistency. If I work the dial very slowly, everything is fine. If I turn it fast the display doesn't update. Then after a few seconds it catches up and updates even though I have the timer on 100ms (DISPLAYPOLL constant value in the code). When I watch the MCP PRO hardware it appears to freeze whilst the MCP in the VC is working fine. Once I stop turning the dial and after a few seconds I can see the CRS display flick through some values very quickly until it reflects whats in the VC. It feels like something is getting overwhelmed and sits in a queue or has timed out. Not knowing how the underpinning events model schedules everything I have tried creating a variable to act as a "lock" token so that only the event holding the token can execute. I have also tried cancelling and restarting events in the code so that no double calls can execute. I have also added ipc.sleep delays. None of this has helped. I'm not sure if its my code, LUA problems, or Go Flight Hardware/Driver Problems. Basically the code consists of two events. One monitors the hardware and checks what dial, button has been pressed and calls the relevant funtion. The other updates the displays at a set interval: event.timer(DISPLAYPOLL, "GFAPDisplaysEvent") -- Start updating displays event.gfd(GFAPM, GFAPU, "GFAPEvent") -- Start monitoring events for MCP hardware The main functions are: function GFAPEvent() ..... elseif dial == DCRS1 then changeCRS1(dialval) ..... end function GFAPDisplaysEvent() gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS1, string.format("%03s", ipc.readSW("0C4E"))) gfd.SetDisplay(GFAPM,GFAPU, GFAPDCRS2, string.format("%03s", ipc.readSW("0C5E"))) end local function changeCRS1(speed) if speed > 0 then for x=1, speed, 1 do ipc.control(70008, 16384) end elseif speed < 0 then for x=-1, speed, -1 do ipc.control(70008, 8192) end end end Any ideas that can help me. PS I have also added code to update the CRS display within the "for loops" in the changeCRS1 function and the same freezing like behaviour occurs. PPS I have just sat watching FS Interogate and the MCP PRO whilst I rotated the CRS1 dial in the VC. Both updated with no problems. So the issue is stemming from either the IPC commands being sent or having a clash between two event calls. Best wishes Steve
  8. I have just uploaded a new version (0.03) of the LUA file on Avsim. It is available here http://library.avsim.net/esearch.php?DLID=161429&CatID=fsxutil It provides the following: -Added support for the FO's EFIS on a second GoFlight EFIS (thanks to Jim Blake for testing). -Fixed FO's MTRS bug -Added timer to update AT disarm/arm so that the light will go out if AT is automatically disarmed. -Added CANCElMOUSEKEY constant to enable/disable sending SPACE for cancelling mouse pointer display. -Fixed out of sync toggle switches and dials if set to ON when loading plane Best wishes Steve
  9. I have removed the code form this post since it is now available on avsim. http://library.avsim.net/esearch.php?DLID=161313&CatID=fsxutil Best wishes Steve
  10. It appears that the problems people are experiencing with this is due to the cut and paste of the script not working correctly. I will post the file onto avsim shortly, however in the meantime if you PM me your email address I will send the file to you. Best wishes Steve
  11. Hi Kevin, It sounds like a copy and paste error when you created the file. If you PM me your email address I will email you my version and see if that helps. Best wishes Steve
  12. There is a useful thread about the lock ups on the go flight forum. Plugging it directly into my pc helped me and disabling usb2 support. Others have bought a USB 1 card and plugged it into that has sorted it out. Best wishes Steve
  13. A user at the PMDG forum identified a typo I made that is stopping it autostarting. I've updated installation action number 4. Follow that and all should be OK.
  14. In fsuipc, button assignments. Click your joystick button and then tick FS Control. In the pulldown list below the tick box, scroll down to the lua commands and look for Lua NGX_AUTO. If you can't see it in the list, you haven't created the lua file properly. I'm replying from my phone so can't be more specific or post a picture. I will do if you still need help when I'm back at my PC. Best wishes Steve
  15. Sounds like it isn't autostarting. Try assigning the lua script to a joystick button so you can manually start it.
  16. ** EDIT 29/12/2011** Ignore this thread, please use http://forum.simflight.com/topic/69443-goflight-efis-and-mcp-pro-full-interface-for-pmdg-ngx/ ** END EDIT ** Download the LUA file and installation readme here: http://library.avsim...9&CatID=fsxutil --- OLD POST -- The enclosed LUA file provides a full implementation of the Go Flight EFIS and a partial implementation of the Go Flight MCP PRO for use with the PMDG NGX. With no SDK from PMDG and only partial access to the aircraft gauge information via FSUIPC/LUA I'm limited with what I can do with the autopilot. Until Go Flight produce something, this is a useful interium solution. All the autopilot buttons, toggle switches and dials work. Course 1 and 2 will display and the A/T FD1 and FD2 lights will work. I cannot reliably display button lights or display IAS, VS, ALTITUDE or HEADING. The EFIS is fully operational. Note the following: FPV has a dual use: - Press and hold for FPV - Press and release for CTR MTRS has a dual use: - Press and hold for MTRS - Press and release for TFC MINS dial: - Turn for inner (smaller) dial - Push/Hold and Turn for outer (larger) dial BARO dial: - Turn for inner (smaller) dial - Push/Hold and Turn for outer (larger) dial RANGE selector: - will display from 10 to 640 (not enough options on the hardware) - Changing the line EFIS640 = 1 in the code to 0 will allow the range from 5 to 320 The MCP PRO ALTITUDE Dial push button maps to TO/GO and pushing the HEADING Dial will toggle the ability to use the dial between angle change and heading change (don't push and hold as per the EFIS dials). ** INSTALLATION ** 1) Ensure no assigmments for the NGX in fsuipc or Gfconfig for the EFIS or MCP PRO that will clash (other aircraft specific assignments are OK). 2) If you haven't done so already, create an NGX configuration on GFConfig and set the MCP PRO to "compatiable addon". 3) Copy the file called NGX_AUTO.LUA (download the file from avsim here: http://library.avsim...9&CatID=fsxutil) into the modules directory in your main FSX directory. 4) Add (or update) the following sections to FSUIPC.INI stored in the modules directory [Auto.PMDG 737] 1=Lua NGX_AUTO [Auto.Boeing 737] 1=Lua NGX_AUTO 5) Add/change the setting "ShortAircraftNameOk" in the [general] section of fsuipc.ini to Yes. 6) Load FSX and select the NGX. Once loaded, the LUA script should run automatically.
  17. Pete, I had the same problem when I wrote the LUA script for interfacing the J41 with the MCP PRO last year. There is a problem reading the right hand course rotary dial within LUA. Best wishes Steve
  18. Not sure what you are trying to do, but I have completed an interface for the Go Flight MCP Pro for the J41. Its fairly easy to modify it for the MCP - instructions are included. Have a look here: Steve
  19. No worries, your English is fine. Enjoy the EFIS. Best wishes Steve
  20. I have just spent some time and sorted this out for you. Change the line numbers 42 through to 56 with the following: 42=P170,16,CM2:2,0 43=P170,16,CM2:2,0 44=P170,16,CM2:2,0 45=P170,16,CM2:2,0 46=P170,16,CM2:2,0 //47=P170,16,CM2:2,0 //48=P170,16,CM2:2,0 49=P170,17,CM2:2,0 50=P170,17,CM2:2,0 51=P170,17,CM2:2,0 52=P170,17,CM2:2,0 53=P170,17,CM2:2,0 54=P170,17,CM2:1,0 //55=P170,17,CM2:2,0 //56=P170,17,CM2:2,0 Yes, that how I have configured it since I use FS2Crew alot. You can change lines 139,140,143,144 to assign something else to it if you wish. No, I dont fly those planes.
  21. You don't appear to have a [buttons.jets] section so all will be well, just follow the instructions in my previous post.
  22. It's as per the LevelD post I orginally referred you to and you need to follow that. In summary simply paste the [buttons.Level D Simulations B767-300ER] entry into your ini file (assuming you don't have one already). Create the macro file - details in the LevelD post, change your macro's section in the ini file to this [MacroFiles] 1=747 OHD 2=LVLD767 3=APchart and you are done. If you use the APchart macro's they may not work now since the number has changed. If thats the case, as Pete has pointed out, change all the CM2 entries in [buttons.Level D Simulations B767-300ER] to CM3 and change the macro's section to this: [MacroFiles] 1=747 OHD 2=APchart 3=LVLD767 Hopefully thats cleared everything up.
  23. That is correct Pete, the orginal post over at LevelD includes all the relevent entries for the ini file, the post I made was simply to show soldano about the [buttons] entry and to provide an updated command list.
  24. This is what I currently use (its been tweaked since my post of a couple of years ago), if this helps you: [buttons.Level D Simulations B767-300ER] 7=P170,21,CM2:5,0 8=P170,21,CM2:5,0 9=P170,21,CM2:5,0 10=P170,21,CM2:5,0 11=P170,21,CM2:5,0 12=P170,21,CM2:4,0 13=P170,20,CM2:5,0 14=P170,20,CM2:5,0 15=P170,20,CM2:5,0 16=P170,20,CM2:5,0 17=P170,20,CM2:5,0 18=P170,22,CM2:5,0 19=P170,22,CM2:5,0 20=P170,22,CM2:5,0 21=P170,22,CM2:5,0 22=P170,22,CM2:5,0 23=P170,22,CM2:4,0 24=P170,22,CM2:4,0 25=P170,23,CM2:5,0 26=P170,23,CM2:5,0 27=P170,23,CM2:5,0 28=P170,23,CM2:5,0 29=P170,23,CM2:5,0 30=P170,23,CM2:4,0 31=P170,23,CM2:4,0 32=P170,23,CM2:4,0 33=P170,24,CM2:5,0 34=P170,24,CM2:5,0 35=P170,24,CM2:5,0 36=P170,24,CM2:5,0 37=P170,24,CM2:5,0 38=P170,24,CM2:4,0 39=P170,24,CM2:4,0 40=P170,24,CM2:4,0 41=P170,24,CM2:4,0 42=P170,16,CM2:1,0 43=P170,16,CM2:1,0 44=P170,16,CM2:1,0 45=P170,16,CM2:1,0 46=P170,16,CM2:1,0 47=P170,16,CM2:2,0 48=P170,16,CM2:2,0 49=P170,17,CM2:1,0 50=P170,17,CM2:1,0 51=P170,17,CM2:1,0 52=P170,17,CM2:1,0 53=P170,17,CM2:1,0 54=P170,17,CM2:2,0 55=P170,17,CM2:2,0 56=P170,17,CM2:2,0 57=P170,18,CM2:1,0 58=P170,18,CM2:1,0 59=P170,18,CM2:1,0 60=P170,18,CM2:1,0 61=P170,18,CM2:1,0 62=P170,18,CM2:2,0 63=P170,19,CM2:1,0 64=P170,19,CM2:1,0 65=P170,19,CM2:1,0 66=P170,19,CM2:1,0 67=P170,19,CM2:1,0 68=P170,9,CM2:6,0 69=P170,8,CM2:6,0 70=P170,11,CM2:7,0 71=P170,10,CM2:7,0 //72=P170,28,CM2:10,0 //73=P170,29,CM2:11,0 //74=P170,30,CM2:8,0 //75=P170,31,CM2:9,0 74=P170,1,CM2:56,0 76=P170,5,CM2:12,0 77=P170,4,CM2:15,0 78=P170,3,CM2:13,0 79=P170,2,CM2:14,0 81=P174,10,CM2:17,0 82=P174,9,CM2:18,0 83=P174,11,CM2:19,0 84=P174,8,CM2:20,0 95=P174,0,CM2:33,0 //96=P170,14,CM2:3,0 98=P170,13,CM2:34,0 99=P170,12,CM2:35,0 100=P170,25,CM2:5,0 101=P170,25,CM2:5,0 102=P170,25,CM2:5,0 103=P170,25,CM2:5,0 104=P170,25,CM2:5,0 105=P170,25,CM2:4,0 106=P170,25,CM2:4,0 107=P170,25,CM2:4,0 108=P170,25,CM2:4,0 109=P170,25,CM2:4,0 112=P101,7,CM2:41,0 113=P109,5,CM2:37,0 114=U109,5,CM2:39,0 118=P101,9,CM2:43,0 120=P170,0,CM2:54,0 121=P1,6,K54,9 122=P1,5,K55,9 123=P1,4,K53,9 124=P101,15,CM2:41,0 125=P170,15,C1005,43535 126=CP(F+170,15)170,28,CM2:49,0 127=CP(F+170,15)170,29,CM2:50,0 128=CP(F-170,15)170,28,CM2:10,0 129=CP(F-170,15)170,29,CM2:11,0 130=CU(F+170,15)170,28,CM2:49,0 131=CU(F+170,15)170,29,CM2:50,0 132=CU(F-170,15)170,28,CM2:10,0 133=CU(F-170,15)170,29,CM2:11,0 134=P170,6,CM2:16,0 //135=U170,31,CM2:9,0 //136=U170,30,CM2:8,0 137=P173,0,CM2:3,0 138=P170,14,C1005,43535 139=CP(F+170,14)170,30,CM2:51,0 140=CP(F+170,14)170,31,CM2:52,0 141=CP(F-170,14)170,30,CM2:8,0 142=CP(F-170,14)170,31,CM2:9,0 143=CU(F+170,14)170,30,CM2:51,0 144=CU(F+170,14)170,31,CM2:52,0 145=CU(F-170,14)170,30,CM2:8,0 146=CU(F-170,14)170,31,CM2:9,0 151=P0,18,K53,9 152=P0,19,K54,9 153=P0,16,CM2:45,0 155=P165,2,CM2:53,0 156=P165,1,CM2:3,0 163=P0,14,K87,11 167=P158,14,CL23:R,0 168=U158,14,CL23:K,0 169=P0,15,K75,11 170=R169,1,C66635,0 171=U169,1,C65967,0 172=R169,2,C66636,0 173=U169,2,C65972,0 174=P0,17,C65876,0 with the following macro file: [Macros] Module="B767main.GAU" 1=HSI+=RX30a0*X8bcc 2=HSI-=RX30c0*X8bcc 3=SETBUGS=RX3970*X8bcc 4=RANGE+=RX3060*Xa1cc 5=RANGE-=RX3080*Xa1cc 6=LEFTVORADF=RX7470*X83cc 7=RIGHTVORADF=RX74f0*X83cc 10=BARO+=RX3330*Xa1cc 11=BARO-=RX3250*Xa1cc 12=EFISNAV=RX2f50*Xa1cc 13=EFISARPT=RX2f90*Xa1cc 14=EFISDATA=RX2fd0*Xa1cc 15=EFISWPT=RX3010*Xa1cc 16=EFISTCAS=RX30e0*Xa1cc 27=THRUSTTEMP+=RX6f50*Xa1cc 28=THRUSTTEMP-=RX6df0*X55cc 34=ENGINEDISPLAY=RX1d60*Xa1cc 35=STATUSDISPLAY=RX1d90*Xa1cc 37=CLOCKRUN=RX2850*Xa100 38=CLOCKHOLD=RX2890*Xa1cc 39=CLOCKRESET=RX2820*Xa1cc 40=CHRTOGGLE=RX27b0*Xddcc 49=MDA+=RX34a0*Xa1cc 50=MDA-=RX34d0*Xa1cc Module1="B767pedestal.GAU" 8=DH+=R1:X4540*Xa1cc 9=DH-=R1:X44d0*Xa1cc Module2="B767Afds.GAU" 17=NAVMIN+=R2:X2130*Xa1cc 18=NAVMIN-=R2:X21d0*Xa1cc 19=NAVMJR+=R2:X2030*Xa1cc 20=NAVMJR-=R2:X2070*Xa1cc 23=AUTOBRAKES- 23.1=R3:Xf330*X8bcc 23.2=R2:X1f00*Xa1cc 24=AUTOBRAKES+ 24.1=R3:Xf330*X8bcc,31 24.2=R2:X1ed0*Xa1cc 25=ALTNFLAPS+=R2:X1bb0*Xa1cc 26=ALTNFLAPS-=R2:X1b60*Xa1cc 33=FOVORDME=R2:X22c0*X6acc 36=CAUTIONCANCEL=R2:X1d30*X56cc 41=GOAROUND=R2:Xdeb0*X55cc 51=BANKANGLE+=R2:X17f0*Xa100 52=BANKANGLE-=R2:X1810*Xa1cc 53=WARNINGCANCEL 53.1=R2:X1cc0*X8bcc 53.2=R2:X1cc0*X8bcc 54=RECALL 54.1=R2:X1e40*X6acc 54.2=R2:X1e40*X6acc 56=CANCEL=R2:X1d30*X56cc Module3="window.dll" 42=ASILESTANDLGT=R3:Xf330*X8bcc 43=ASLGT=R3:Xf330*X8bcc 46=FMC=R3:Xf330*X8bcc 47=RADIOPANEL=R3:Xf330*X8bcc 48=OVERHEADPANEL=R3:Xf330*X8bcc Module4="B767Overhead.GAU" 21=LPACK-=R4:X33e0*Xa1cc 22=RPACK-=R4:X3420*Xa1cc 29=LPACK+=R4:X3400*Xa1cc 30=APU+=R4:X24a0*Xa1cc 31=RPACK+=R4:X3440*Xa1cc 32=APU-=R4:X23a0*Xa1cc Module5="rxpDrop.DLL" 44=WXR 44.1=R5:X7740*X83cc 44.2=R6:Xf480*X83cc Module6="rxpWX500.DLL" Module7="fcrew3.GAU" 45=FS2CREWMAIN 45.1=R7:1 45.2=R8:Xb9c0*X8bcc 45.3=R8:Xb9a0*X8bcc Module8="FS2CrewLDS767.GAU"
×
×
  • Create New...

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.