Jump to content
The simFlight Network Forums

Controlling PMDG CDU keys from FSUIPC,Lua & hidmacros


Recommended Posts

Hi, although I'm pretty new to all this I've managed to control the CDU through the PMDG offsets using both the FSUIPC Buttons & Switches page & through a Lua script.

The info is out there but in a few different places so I though I'd post this for reference:

Open up PMDG\PMDG 737 NGX\SDK\PMDG_NGX_SDK.h

Find the address to write to by adding your event to THIRD_PARTY_EVENT_ID_MIN

#define THIRD_PARTY_EVENT_ID_MIN          0x00011000  // equals to 69632
#define EVT_CDU_L_A         (THIRD_PARTY_EVENT_ID_MIN + 573) 

So to write the letter 'A' to the CDU the address is 70205. In Addons/FSUIPC/Buttons+Switches under 'Control sent when button pressed' select <custom Control> & enter 70205.

So far so obvious. What was not immediately obvious was the parameter. You might expect to just send a '1'. However, although this appears to work the first time, if you try to send another 'A' char it doesn't. You need to send the left mouse single click value as defined here in the header:

#define MOUSE_FLAG_LEFTSINGLE    0x20000000      // 536870912 in decimal

 

I then went on to do this through a Lua script that was called from the external hidmacros program:

CDU.lua (Saved in FSUIPC folder: P3Dv3\Modules) :

--[[

 LUA Script that gets called by a hidmacros script with the key value pressed on the CDU.

In hidmacros use the following script:

HIDMacros.setFSUIPCInt &amp;H0D6C,4,70205
HIDMacros.setFSUIPCString &amp;H0D70,40,"Lua CDU"

Note:

The 1st line writes 70205, 'A' key to the FSUIPC ipcPARAM variable.

Replace 'CDU' with the name of your Lua script (without the .lua extension)

--]]

 

LEFT_MOUSE_SINGLE = 0x20000000

key = ipcPARAM
ipc.log("CDU: Sending " .. key)
ipc.control(key, LEFT_MOUSE_SINGLE)

 

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

P3D v3.4.18.19475

SimConnect v3.4.0.0

FSUIPC v4.959

hidmacros v2.3.0.710

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • 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.