edfair Posted August 10, 2011 Report Posted August 10, 2011 Just started working out files for MCP, EFIS and Lower Overhead for the great! new 737NGX. What a plane! I'll attach the MCP now because I've tested them with my homemade MCP. Others to follow. Anyone else out there done other function? Hope these help. Ed F. [Macros] Module="PMDG_737NGX.DLL" 1=MCP_N1=RX48bd0*X8bcc 2=MCP_IAS=RX43480*Xe8cc 3=MCP_LVL CHG=RX48c90*X8bcc 4=MCP_HDG=RX43740*X8bcc 5=MCP_APPR=RX48cd0*X8bcc 6=MCP_ALTHLD=RX48d10*X8bcc 7=MCP_VS=RX48d30*X8bcc 8=MCP_IAS_DN=RX48c50*X8bcc 9=MCP_IAS_UP=RX48c50*X8bcc,31 10=MCP_CRSA_DN=RX48b90*X8bcc 11=MCP_CRSA_UP=RX48b90*X8bcc,31 12=MCP_HD_DN=RX437c0*X8bcc 13=MCP_HD_UP=RX437c0*X8bcc,31 14=MCP_ALT_UP=RX48cf0*X8bcc,31 15=MCP_ALT_DN=RX48cf0*X8bcc 16=MCP_VS_UP=RX43a70*Xe8cc 17=MCP_VS_DN=RX43a70*Xe8cc,31 18=MCP_BANK_INC=RX43860*Xe8cc,31 19=MCP_VORLOC=RX43970*X8bcc 20=MCP_LNAV=RX48cb0*X8bcc 21=MCP_VNAV=RX43660*X8bcc 22=MCP_AT=RX43300*Xe8cc 23=MCP_FDA=RX43360*Xe8cc 24=MCP_CO=RX434e0*Xe8cc 25=MCP_SPDINTV=RX435a0*Xe8cc 26=MCP_ALTINTV=RX43a50*X8bcc 27=MCP_CMDA=RX43ad0*Xe8cc 28=MCP_CMDB=RX43b30*Xe8cc 29=MCP_APDISCON=RX43c80*X8bcc 30=MCP_CWSA=RX43b90*Xe8cc 31=MCP_CWSB=RX43bf0*Xe8cc 32=MCP_FDB=RX433c0*Xe8cc 33=MCP_BANK_DEC=RX43860*Xe8cc 34=MCP_TOGA=RX43ca0*X8bcc 35=MCP_HDG_UP=RX43790*Xe8cc,31 36=MCP_HDG_DN=RX43790*Xe8cc 37=MCP_CRSB_UP=RX432b0*X8bcc,31 38=MCP_CRSB_DN=RX432b0*X8bcc
xAlpha Posted August 10, 2011 Report Posted August 10, 2011 Just an FYI these work fine in the older Honeywell MCP, but some of the functions (like the FD and CMD buttons) don't work under the Collins MCP, because they're in a slightly different spot.
Crankpin Posted August 10, 2011 Report Posted August 10, 2011 Thanks very much for this work. I'll be trying to connect my opencockpits MCP..... then EFIS While I have a registered FSUIPC4 I've never used macro's before. Could you help me to get FSUIPC to read/eat the macro file. I've been reading the FSUIPC maual and advanced user guide but failed I'm afraid For starters I've copied the above text and pasted it into a text file I named 737PMDG.mcro and placed it in the fsx/modules folder, I had to put carriage returns in the text file to format it .. was tthat ok or not ? I have no other macro files in my /modules folder that I can see. TIA John
Pete Dowson Posted August 10, 2011 Report Posted August 10, 2011 Could you help me to get FSUIPC to read/eat the macro file. I've been reading the FSUIPC maual and advanced user guide but failed I'm afraid If the file is in the Modules folder, FSUIPC will read it. There's nothing else to do except go ahead and assign your buttons and switches. For starters I've copied the above text and pasted it into a text file I named 737PMDG.mcro and placed it in the fsx/modules folder, All of the assignment names will begin "737PMDG:" then. For instance "737PMDG:MCP_LVL CHG". Haven't you looked? I had to put carriage returns in the text file to format it .. was tthat ok or not ? What do you mean? If you copied the macro file as shown then each macro line would have been on a line in any case. How did you lose them? NEVER EVER use "Wordpad" or any word processor for plain text files, only a text editor like Notepad. Pete
Crankpin Posted August 11, 2011 Report Posted August 11, 2011 Thanks for the reply Pete, apologies for the dumb questions, while FSUIPC does lots for me, I haven't done much with it myself. Yes of course the macro file 737PMDG items from the macro file were in there as soon as I tried to assign buttons. Don't know what happened with my text copy, I'd just smeared (selected) the text, copied with a Ctrl+C , opened a new .txt file on my desktop, yes notepad, and pasted the text in, and was also surprised to see it as a block of text, no carriage returns. Maybe (????) it had been created with line feeds, no carriage returns ??? No matter, I managed. ( Is Win7 64 Notepad any different to previous Notepads ?) Thanks again that should be enough info to be dangerous :)
edfair Posted August 11, 2011 Author Report Posted August 11, 2011 Just an FYI these work fine in the older Honeywell MCP, but some of the functions (like the FD and CMD buttons) don't work under the Collins MCP, because they're in a slightly different spot. Right you are! I should have mentioned the model in the note... this matches the hardware that I've made. Thanks for pointing that out. Ed F.
edfair Posted August 11, 2011 Author Report Posted August 11, 2011 Here are some more recent macro files. I actually split up my macro files into macros titled as follows: 0_P738W_MCP.MCRO 0_P739W_EFIS.MCRO 0_P738W_OVH.MCRO Naming them this way puts them at the top of the command list.. a lot quicker when you're assigning as many buttons/switches as this. I've tried them all with my OVH and EFIS (both homemade using Bodnar interfaces) and they work in flight with the virtual cockpit or 2-D version. (Pete.. What is the max number of macro steps allowed? I know it's probably in your thorough docs but I've beem pretty busy button pushing to look! Sorry for my laziness.) Anyway here they are: Ed F 0_P739W_EFIS.MCRO [Macros] Module="PMDG_737NGX.DLL" 1=EFIS_AIRPT=RX44030*X8bcc 2=EFIS_BARO_DEC=RX43ef0*X8bcc 3=EFIS_BARO_INC=RX43ef0*X8bcc,31 4=EFIS_CTR=RX43f50*X8bcc 5=EFIS_DATA=RX44050*X8bcc 6=EFIS_FPV=RX43e70*X8bcc 7=EFIS_MINS_DEC=RX43e50*X8bcc 8=EFIS_MINS_INC=RX43e50*X8bcc,31 9=EFIS_MODE_CCW=RX43f70*X8bcc 10=EFIS_MODE_CW=RX43f70*X8bcc,31 11=EFIS_MTRS=RX43e90*X8bcc 12=EFIS_POS=RX44070*X8bcc 13=EFIS_RADBAR_CCW=RX43e10*X8b05 14=EFIS_RADBAR_CW=RX43e10*X8b05,31 15=EFIS_RANGE_CCW=RX43fb0*X8bcc 16=EFIS_RANGE_CW=RX43fb0*X8bcc,31 17=EFIS_RINGS=RX43f90*X8bcc 18=EFIS_RST=RX43e30*X8bcc 19=EFIS_STA=RX43ff0*X8bcc 20=EFIS_STD=RX43ed0*X8bcc 21=EFIS_TERR=RX44090*X8bcc 22=EFIS_VOR1_DN=RX43f10*X8bcc 23=EFIS_VOR1_UP=RX43f10*X8bcc,31 24=EFSI_VOR2_DN=RX43f30*X8bcc 25=EFIS_VOR2_UP=RX43f30*X8bcc,31 26=EFIS_WPT=RX44010*X8bcc 27=EFIS_WXR=RX43fd0*X8bcc 0_P738W_OVH.MCRO [Macros] Module="PMDG_737NGX.DLL" 1=OVH_ACMET_CCW=RX4c950*X8bcc 2=OVH_ACMET_CW=RX4c950*X8bcc,31 3=OVH_ANTICOLL=RX4e040*X8bcc 4=OVH_APU_DN=RX4df80*X8bcc 5=OVH_APU_UP=RX4df80*X8bcc,31 6=OVH_APUBLEED=RX49170*X8bcc 7=OVH_APUELEC1=RX4cc40*X8bcc 8=OVH_APUELEC2=RX4cc60*X8bcc 9=OVH_APUGEN1_DN=RX4cc40*X8bcc 10=OVH_APUGEN1_UP=RX4cc40*X8bcc,31 11=OVH_APUGEN2_DN=RX4cc60*X8bcc 12=OVH_APUGEN2_UP=RX4cc60*X8bcc,31 13=OVH_BLEED1=RX4dab0*X8bcc,31 14=OVH_BLEED2=RX49190*X8bcc 15=OVH_CABUTIL=RX4c970*Xe8cc 16=OVH_CHIME=RX49030*X8bcc,31 17=OVH_DCMET_CCW=RX48fb0*X8bcc 18=OVH_DCMET_CW=RX48fb0*X8bcc,31 19=OVH_E1_AI=RX490f0*X8bcc 20=OVH_E1_IGN_CCW=RX4dfa0*X8bcc 21=OVH_E1_IGN_CW=RX4dfa0*X8bcc,31 22=OVH_E2_AI=RX49110*X8bcc 23=OVH_E2_IGN_CCW=RX4dfe0*X8bcc 24=OVH_E2_IGN_CW=RX4dfe0*X8bcc,31 25=OVH_ELEC1_HYD=RX4d3c0*X8bcc 26=OVH_ELEC1=RX48fd0*X8bcc 27=OVH_ELEC2_HYD=RX4d3a0*X8bcc 28=OVH_ELEC2=RX4cc20*X8bcc 29=OVH_EMERLT_DN=RX4d520*Xe8cc 30=OVH_EMERLT_UP=RX4d520*Xe8cc,31 31=OVH_ENG1_ANTI=RX4d3e0*X8bcc 32=OVH_ENG1_HYD=RX4d380*X8bcc 33=OVH_ENG2_ANTI=RX49110*X8bcc 34=OVH_ENG2_HYD=RX4d3e0*X8bcc 35=OVH_FLTALT_DEC=RX491b0*X8bcc 36=OVH_FLTALT_INC=RX491b0*X8bcc,31 37=OVH_GEN1=RX48fd0*X8bcc 38=OVH_GRDPWR=RX4cb90*X8bcc,31 39=OVH_IFEPAS=RX4c9b0*X8bcc 40=OVH_IGN1_LEFT=RX4dfc0*X8bcc 41=OVH_IGN2_RT=RX4dfc0*X8bcc,31 42=OVH_ISO_DN=RX4da90*X8bcc 43=OVH_ISO_UP=RX4da90*X8bcc,31 44=OVH_LANDALT_DEC=RX491f0*X8bcc 45=OVH_LANDALT_INC=RX491f0*X8bcc,31 46=OVH_LNDGLT_ALLOFF=RX4ddc0*X8bcc,31 47=OVH_LNDGLT_ALLON=RX4de30*Xa1cc 48=OVH_LOGOLT=RX4e000*X8bcc 49=OVH_LPACK_DN=RX4da70*X8bcc 50=OVH_LPACK_UP=RX4da70*X8bcc,31 51=OVH_LWIPER_CCW=RX48ff0*X8bcc 52=OVH_LWIPER_CW=RX48ff0*X8bcc,31 53=OVH_MASTER_DN=RX4cab0*Xe8cc 54=OVH_MASTER_UP=RX4cab0*Xe8cc,31 55=OVH_PRBHT1=RX490b0*X8bcc 56=OVH_PRBHT2=RX4d2a0*X8bcc 57=OVH_PUMP_CTR1=RX4cdc0*X8bcc 58=OVH_PUMP_CTR2=RX4cde0*X8bcc 59=OVH_PUMP1_AFT=RX4cd60*X8bcc 60=OVH_PUMP1_FWD=RX4cd40*X8bcc 61=OVH_PUMP2_AFT=RX4cda0*X8bcc 62=OVH_PUMP2_FWD=RX4cd80*X8bcc 63=OVH_RND_PWR=RX4cb90*X8bcc 64=OVH_RPACK_DN=RX49150*X8bcc 65=OVH_RPACK_UP=RX49150*X8bcc,31 66=OVH_RUNTRN_L=RX4df20*X8bcc 67=OVH_RUNTRN_R=RX4df40*X8bcc 68=OVH_SEATBELT_OFF=RX4d590*X8bcc,31 69=OVH_SEATBELT_ON=RX4d590*X8bcc 70=OVH_STBYPWR_LF=RX4cb40*Xe8cc 71=OVH_STBYPWR_RT=RX4cb40*Xe8cc,31 72=OVH_STROBE_DN=RX4e020*X8bcc 73=OVH_STROBE_UP=RX4e020*X8bcc,31 74=OVH_TAXI=RX4df60*X8bcc 75=OVH_TRIMAIR=RX4d880*X80cc 76=OVH_TRIPRESET=RX49510*X8bcc 77=OVH_WHEEL_LT=RX4e080*X8bcc 78=OVH_WIN_OHT=RX4d280*X8bcc,31 79=OVH_WIN_PT=RX4d280*X8bcc 80=OVH_WING_AI=RX490d0*X8bcc 81=OVH_WING_LT=RX4e060*X8bcc 82=OVH_WINHT_LF=RX4d240*X8bcc 83=OVH_WINHT_LS=RX4d220*X8bcc 84=OVH_WINHT_RF=RX49090*X8bcc 85=OVH_WINHT_RS=RX4d260*X8bcc 86=OVH_YAWD=RX48e10*X8bcc
edfair Posted August 11, 2011 Author Report Posted August 11, 2011 Just noticed my typo in the last post ..... [Macros] 0_P739W_EFIS.MCRO should be 0_P738W_EFIS.MCRO (it can be called whatever you want.. just didn't want to leave it that way) Ed F.
Pete Dowson Posted August 11, 2011 Report Posted August 11, 2011 Just noticed my typo in the last post ..... [Macros] 0_P739W_EFIS.MCRO should be 0_P738W_EFIS.MCRO (it can be called whatever you want.. just didn't want to leave it that way) I've edited it for you. Pete.. What is the max number of macro steps allowed? If you mean number of macros per file, it was until recently limited more by the actual file size -- until recent updates a large enough MCRO file (over 16k, approaching 32k) caused a memory problem in FSUIPC which stopped everything else working. That was fixed in one of the recent interim updates. The inbuilt limits are 255 files, each with up to 1023 macro lines. That's to do with internal reference encoding. The whole system was bolted into the general joystick button assignment and messaging system which only gives room for 32-bits for the encoded assignment. This is defined by the Windows messaging system for "WM_COMMAND" which has a 32-bit "wParam" and a 32-bit "lParam". The wParam holds the command encoding and the lParam the parameter value. In this I have to allow for Lua calls, Macro calls, FSUIPC added controls, Offset controls, and of course all of the possible FS and add-on controls. I'd hoped it would be enough forever! ;-) Regards Pete
xAlpha Posted August 11, 2011 Report Posted August 11, 2011 Quick question, since I'm trying to get a macro file for the Collins MCP going.... These MCRO files here are using the DLL, but in the documentation, it looks like we can use a .GAU file? So if it loaded the Honeywell .GAU it could use one set, and the Collins .GAU another? Assuming there is one, of course, I haven't actually checked.
Pete Dowson Posted August 11, 2011 Report Posted August 11, 2011 These MCRO files here are using the DLL, but in the documentation, it looks like we can use a .GAU file? Whether it's a GAU or a DLL which is called isn't your choice, but depends only on where the mouse click leads to in the code. If the same DLL is used for both MCPs then they will probably be calling different entry points, so you should be able to create macros for both in the same Macro file -- just give them different names. Regards Pete
xAlpha Posted August 11, 2011 Report Posted August 11, 2011 Whether it's a GAU or a DLL which is called isn't your choice, but depends only on where the mouse click leads to in the code. If the same DLL is used for both MCPs then they will probably be calling different entry points, so you should be able to create macros for both in the same Macro file -- just give them different names. Regards Pete Alright, that makes sense, thanks. I'm trying it now, but some button clicks aren't recognized. For example, clicking on any of the MCP buttons or using the wheel on the roatries doesn't come up with anything in the logs. Obviously there's a way to get those, since edfair has them from the Honeywell.... EDIT: Sorry I'm asking so amny questions, I'm just trying to learn how to do this so I can contribute as well. EDIT2: Oh! If I use it in 2D mode it works much better.
edfair Posted August 11, 2011 Author Report Posted August 11, 2011 Pete, A note of caution about the macros I just posted. It may be premature to post them ... while the program is still in some state of flux. I had a problem recently with FSX crashing on startup. Following the advice on the PMDG website I installed their hotfix. It appeared to resolve my system crash issue...... BUT ....... Upon returning to my original setup, everything looked to be in order until I tried to use my equipment - MCP, EFIS, OVH. When I looked in FSUIPC all of the button assignments were unchanged. My Throttle CH Quad, CH Yoke, CH Pedals and Saitek Radio were fine. Assignments came up OK in FSUIPC when I pressed the associated buttons. I went back with FSUIPC to create a new Mouse macro file and lo and behold the returned values were all different. Apparently the associated .dll file was changed by the hotfix. RED FLAG - anyone who has applied the same hotfix may fined my macros useless!! Apologies to anyone whose time I wasted... Maybe it's best to have the program stabilize prior to widely disseminating macros. Anybody out there experienced problems of this sort? Comments? Ed Fairchild
Pete Dowson Posted August 11, 2011 Report Posted August 11, 2011 Upon returning to my original setup, everything looked to be in order until I tried to use my equipment - MCP, EFIS, OVH. When I looked in FSUIPC all of the button assignments were unchanged. My Throttle CH Quad, CH Yoke, CH Pedals and Saitek Radio were fine. Assignments came up OK in FSUIPC when I pressed the associated buttons. I went back with FSUIPC to create a new Mouse macro file and lo and behold the returned values were all different. Apparently the associated .dll file was changed by the hotfix. Yes, I'm afraid there's no solution to that except to re-make all the macros. The recompiled code only has to have the entry points moved one byte and they obviously can't call the same code. You probably need to note the DLL or GAU version or date with them. They shouldn't do any harm used with the wrong version -- that's what the check bytes are for in the macro encoding. FSUIPC checks that the bytes at the place it calls are the same, and if not it won't call the code. Regards Pete
edfair Posted August 12, 2011 Author Report Posted August 12, 2011 Thanks Pete, Another lesson learned! Ed F.
Kevin Conlon Posted August 14, 2011 Report Posted August 14, 2011 Thanks for sharing the macros you have created. I have a dumb question about setup within FSUIPC. My GoFlight EFIS has each range increment a seperate button. How do I pass that I want the macro to execute n times within FSUIPC - like to get from APP to Plan it is 3 CW clicks from APP? I have tried setting incremental values in the parameter field but no luck. I am new on this learning curve. Thanks Kevin
bandini Posted August 15, 2011 Report Posted August 15, 2011 Hello, I'm quite new in the "FSUIPC" world....and really enjoy this wonderfull soft. I'm actually trying to understand how I can use my new MCP Combo II Boeing version. Concerning the macros posted here by edfair, I would like to know if they work also in 3D/virtual cockpit ? And more generaly: the macros created with FSUIPC did they also work in any cirtual cockpit ? Thanks a lot for your help. (my english is bad...sorry....not my mother langage) Cedric
Pete Dowson Posted August 15, 2011 Report Posted August 15, 2011 I'm quite new in the "FSUIPC" world....and really enjoy this wonderfull soft. I'm actually trying to understand how I can use my new MCP Combo II Boeing version. Concerning the macros posted here by edfair, I would like to know if they work also in 3D/virtual cockpit ? I thought that was the only cockpit you got with the PMDG 737NGX? If not, surely no one is using the 2D one? And more generaly: the macros created with FSUIPC did they also work in any cirtual cockpit ? Mouse Macros have to be specifically made for each version of each cockpit, because they depend upon finding the actual place in the Gauge code to be called when used. Even a small update by the originator can render them useless, necessitating a remake. They are a type of "hack" into the code in the gauges. Pete
kbumbaz Posted August 16, 2011 Report Posted August 16, 2011 Hi all, Not sure it is the correct place to post but does macros can be linked to SIOC card ? I am thinking on an overhead panel. bye
Emile B. Posted September 8, 2011 Report Posted September 8, 2011 Mouse Macros have to be specifically made for each version of each cockpit, because they depend upon finding the actual place in the Gauge code to be called when used. Even a small update by the originator can render them useless, necessitating a remake. They are a type of "hack" into the code in the gauges. Pete Peter, This is my first post here though I've been using your invaluable FSUIPC for a number of years now. Reading the above, I'm just wondering if some users could look at using FSX controls through FSUIPC via a Lua plug-in ? No need to worry about mouse co-ordinates that way. For me it's been like a gift from heaven (OK, perhaps this should read "from somewhere near Stoke-on-Trent" :grin:). With some help I managed to track down the FSX controls that activate the CDU buttons in the PMDG NGX. From there, after reading your FSUIPC docs, I managed to create a simple Lua plugin that depending upon what's in ipcparam, will use ipc.control to send the desired control to FSX that will operate the desired button of the PMDG NGX CDU. The reason why I chose to embark on a learning curve and do things this way, was that unlike with the PMDG B1900D and the Level-D 763, for which your mouse macro creation facility worked like a charm, I had no such luck with the PMDG NGX. FYI I am turning 59 next month so learning new stuff takes longer than it used to, but I enjoyed it and thought it might be worthwhile sharing. Cheers, Emile.
Pete Dowson Posted September 8, 2011 Report Posted September 8, 2011 Reading the above, I'm just wondering if some users could look at using FSX controls through FSUIPC via a Lua plug-in ? No need to worry about mouse co-ordinates that way. Actually, there are no screen coordinates involved at all. The reason they need regenerating for updated software or different models with different gauges is that the internal code in those gauges changes and so the address in memory of the routines being called changes. FSUIPC's mouse macros call gauge or DLL code directly. They are called "mouse macros" because the position in code being called is determined when a real mouse click is processed internally. Of course generally there is no need for a Lua plug-in to send FSX controls, only non-standard ones like those used in the PMDG 737NGX as you have found. But as far as I know that is the first and so far only aircraft add-on to implement things in such a fashion. If it became a common thing to do I'd probably look at adding ways of assigning them in the FSUIPC dialogue too, presumably then by number instead of name. Regards Pete
riccardo74 Posted January 4, 2012 Report Posted January 4, 2012 Hi to all, does the macros above are still working or are outdated due to the last SP1b? If outdated where can I find them working with the last SP1b? Many thanks
ose159 Posted August 13, 2013 Report Posted August 13, 2013 Dear Ed Fairchild , i tryed to use your macros after the fix and as it has been mentioned they are not working for the reason Pete expalined. Did you redo the macros afetr that ? May i have the one for the overhead in this case ? Thanks in advance Ciao Claudio
Pete Dowson Posted August 13, 2013 Report Posted August 13, 2013 i tryed to use your macros after the fix and as it has been mentioned they are not working for the reason Pete expalined.Did you redo the macros afetr that ? May i have the one for the overhead in this case ? You're a bit behing the times. If your 737NGX is up to date, then all the controls you need are already available without macros. Just check the Event list at the end of the .h document installed in your NGX SDK folder. You can assign them by number in any recent version of FSUIPC. Regards Pete
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now