Software not running with New XEM3050


We develop a DLL that uses the “okFronPanel.dll” and “okFrontPanelDLL.h” from the FP3.0.11.
Now we just receive the latest XEM3050 and it doesn’t work anymore.

:confused:Is there modifications in the “okFrontPanelDLL.h” and “okFronPanel.dll” that requires to recompile my DLL?

Our configuration is:
DLL built with LabWindows 8.5

Thanks and regards,

Hello again.

Sorry for the post but I found the solution of my problem. I uninstall/reinstall the Opal Kelly driver. Otherwhile, the device ID of the latest XEM3050 was corrupted, it was not “Opal Kelly XEM3050” as it should be. This cause my application to not recognize the ID, it should come from the function GetDeviceID().
I can change the device ID with the FrontPanel 3.0.11

By the way, I saw that the latest front panel version 4.0.0 is no more compatible with the older versions of front panel v 3.0.11. ie the release notes.

This is impacting the code developed with the previous okFrontPanel.dll and okFrontPanelDLL.h.

Thanks and rergards,


I apologize, but your post was a little hard to follow. Have you resolved all your issues or do you still have questions?


I still have questions about the device ID.
With the latest XEM3050 received, the device ID seems to be corrupted or not properly set (see attached file “OpalKellyDeviceID.JPG”).

This is causing the crash of my software that is using the GetDeviceID function of “okFrontPanel.dll”.

If I open the FrontPanel version 3.0.11 to change this device ID to “Opal Kelly XEM3050” it solves my software issue.

Do you know if this device ID is wrong ?[ATTACH=CONFIG]209[/ATTACH]

Thanks and regards,

OpalKellyDeviceID.JPG (24.9 KB)


Yes, it looks like the device ID of that device may not have been set at the factory. As you found, however, setting the device ID through FrontPanel solves that problem.

If that is the case, then the PLL settings were probably also not set correctly. But those are just default settings and should not be relied upon anyway. You should open FrontPanel and set the PLL settings as your application requires, then store them to the EEPROM.

The PLL settings are correctly set because I can load any samples and it is running. The only problem is the device ID. As it is done by the FrontPanel my sofware is able to open the communication, load bitfile to FPGA but as soon as the GetDeviceID is called in the program, it crashes.

This function only retrieves the device ID string without error handling.

My question is about the different behavior between the FrontPanel and my sofware regarding this GetDeviceID function call. I don’t understand why my sofware crashes and the FrontPanel don’t.

Thanks and regards,

When you updated to the latest DLL, I assume you rebuilt your application with the new stub functions. Is this correct?