In-Development EDDX52 - EDDiscovery X52 Pro Addon

If anyone owns a Saitek FiP (Flight Instruments Panel), integration of it is possible. If you want me to include support for it, please contact me so I can send you test versions.

Releases can be found here:
https://github.com/wulkanat/EDDX52/releases

As of the latest update of, addons written in C++ or C# are being supported by EDDiscovery. This is the first extension for EDD, giving you the ability to control LED colors via the Action language, as well as providing a powerful way to use the MFD.

EDDX52 is still in development, thus everything you see might be in subject to change.

A video demo of the plugin in actoin can be found here:
[video=youtube;ezgLSQocb_k]https://www.youtube.com/watch?v=ezgLSQocb_k[/video]

EDDX52 comes with four functions to control the LEDs.

Code:
DLLCall EDDX52, setLed, [LED name], [LED state]
DLLCall EDDX52, advSetLed, [LED ID], [LED state ID]
DLLCall EDDX52, resetLED
DLLCall EDDX52, turnAllLEDOff

With the first function you can control the color of every illuminated button.
The second one is closer to what DirectOutput provides, it uses IDs instead of names, also the red and green component are now different LEDs.
The last two functions basically do the same, they turn off all LEDs.

LEDs are:
Code:
FIRE
FIRE_A
FIRE_B
FIRE_D
FIRE_E
TOGGLE_1_2
TOGGLE_3_4
TOGGLE_5_6
POV_2
CLUTCH
THROTTLE
Note that FIRE and THROTTLE don't support manual setting of color. However you still can turn the illumination on or off for them.


Saitek wanted us to use a page system, but it does not work, which is why I abandoned it and replaced it with a scrollable MFD (Was a lot of work).
The MFD nativeley supports three lines of 16 character text. When you exceed the 16 char limit, it scrolls horizontally. What I did is adding the functionallity to have an infinity amount of lines you can manually scroll through using the right scrolling wheel.
The second big thing I did is making the MFD two-way. That means, that you can select entries. Each time you add an entry to the MFD, you will be able to specify a callback action you can use within the Action language. The selected item is being determined by what entry is currently at the top of the MFD screen.
Code:
DLLCall EDDX52, setString, [line], [text], [Callback event name]
DLLCall EDDX52, getLinesCount
DLLCall EDDX52, resetMFD
DLLCall EDDX52, setLine, [line]
resetMFD clears all entries on the MFD.
setLine jumps to the entry at the specified line.

Code:
DLLCall EDDX52, reset
This is just a combination of resetLED and resetMFD

To give you an example of how you could use the MFD:
Code:
EVENT Undocked, Undocked, "", Condition AlwaysTrue
EVENT EDDX52_ExtendGear, BtnCallback, "", Condition AlwaysTrue
EVENT EDDX52_Supercruise, BtnCallback2, "", Condition AlwaysTrue



PROGRAM Undocked

DLLCall EDDX52, reset
DLLCall EDDX52, setString, 1, "Gear", EDDX52_ExtendGear
DLLCall EDDX52, setString, 3, "Supercruise", EDDX52_Supercruise

END PROGRAM



PROGRAM BtnCallback

Print "GEAR!" //Replace this with putting down landing gear

END PROGRAM



PROGRAM BtnCallback2

Print "Supercruise!" //Replace this with jumping into supercruise

END PROGRAM

As you can see there is lots of potential there, I mean who hasn't felt like all our buttons on the Joystick aren't enough or accidentally enable silent running because he flipped the toggle in the wrong direction...

I am currently working a way of letting buttons blink in a specific pattern, to get load off the Action scripts. A video of the feature in action can be found here:
[video=youtube_share;X7Aa_dmgoHg]https://youtu.be/X7Aa_dmgoHg[/video]
The plugin is pretty stable, so a release is right around the corner, after I made sure I am happy with the basic structure of the calls.

If you are intrested in trying out the Plugin right now or if you are just curious about the source code, check out my Github page:
https://github.com/wulkanat/EDDX52

If you have any suggestions please let me know and I will be happy to implement them (If they are not too offbeat)!
 
Last edited:
Hi wulkanat

I really like your EDDX52 dll! It works very well with the released alphaV1.1! I'm learning to figure things out, at the moment I can let LEDs blinking and text display on the MFD. That's great! Have to learn a bit the ACTiION language from ED-Discovery, but that may take some time... Great plugin for X52-pro users with ED-Discovery! :)

Gruss aus der Schweiz / Greetings from switzerland
 
Hi wulkanat,

at first i apologize for my bad english,
i try to use this addon but nothing happens, i need installed visual studio or just need upload dlls to folders what you select at top of your post?

when i try to use your script with visual studio, joystick buttons stop light and after trying to use that roll button on throttle doing one of three situations - stop EDD (needed kill from proces), EDD make error or nothing happens.
After trying to use your addon at EDD without visual studio just nohing happen, looks like EDD wont load dlls or like hotas dont have commands from EDD.

Can you help me? Im not programateur so i know i must make something wrong.

P.S. (at visual studio i make right ways to right folders and still)

Thank you.
 
this tool is great! But it is really difficult to set up for a newb.

I managed to set the LEDs to certain ingame events, for example charge FSD -> FSD button blinks.
But when two actions happen at once, for example FSD charge = button 1 blinking, heat damage = button 2 blinking, only 1 button blinks, and after its over the second button starts blinking instead of both at once.
Why is that?

And how can i use the MFD to show me information like the estimated values tab from EDDiscovery?
 
Last edited:
I know not much has been posted here in a while. But couldn't find another thread about this.

The combination of EDDiscovery and this DLL does open up some quite nice options for those with an X52.

I wrote a bit of an example script to make use of this, and it works quite well. Hopefully it might be useful to someone else. Probably changing which lights are used.

In answer to pato's question. Yes sometimes events fire over eachother and as such, you need a priority system. So, I just use the events to set flags for the various things that are happening, and then a master method to work on a priority system, based on the more important events to update the lighting state.

The text of the action script is here https://pastebin.com/J7gNsJEB of course you need to make a new action script file, and then paste this over the current existing contents. Or I think drop it in the folder and restart.

Of course it's tailored to how I have buttons setup etc. But, it will show current system/star class if known on MFD, and when docked, system and station. Lights on the toggle buttons show landing gear state and FSD/Hyperdrive status.

Hoping to expand it to flash some of the throttle lights in certain alert situations/general actions. Scooping, interdiction, fuel low, under attack, shields down etc.
 
Hello,
i'm French (in Belgium) and sorry for my terrilble english
Is there any workable setup with thelast version off Elite, X52 pro...?
I can't find any set of files that can be simply installed and working.
The best result i can obtain is a empty page on the MFD with all the led OFF.
Any suggestion to add some working function? implément the script described https://pastebin.com/J7gNsJEB ?
I've got eddiscovery working but...
 
Hello,
i'm French (in Belgium) and sorry for my terrilble english
Can you help me to add the script at the good place to make it working please?
 
Top Bottom