I am using FrontPanel 1.4 from VB.Net and everything works great. But I would like to switch configurations in my XEM3010-1500 without powering down. My initialization code is simple enough (coming straight from the DES example) and includes PLL initialization (again, same as the DES example).

When I am finished with the current configuration, I do a okUsbFrontPanel_ResetFPGA() and a okUsbXEM3010_Destruct(). After that, I try to initialize and download a new configuration using the exact same code as before. The code always fails in the SetPLLConfiguration(), the GetDeviceID(), and ConfigureFPGA() functions. If I close the program and restart it without powering down the FPGA it will also fail.

NOTE: If I comment out the PLL code and the call to GetDeviceId, the program will work over and over again ā€“ even if I close and restart it.

So, I need a way to programatically reset the FPGA and FrontPanel interface back to its original state. Any info?


-Bob F.

Hi Bob-

To reinitialize the FPGA without powering down, all you need to do is call ConfigureFPGA with the new configuration. The PLL configuration will remain.

ResetFPGA() is really a bit of a misnomer ā€“ it only resets the host interface in a fashion and is really never used in practice.

However, what you describe should not cause any problems, so Iā€™m curious about that. Our regression test exercises the API is a lot of different ways including destroying the instance and recreating it several times. It also performs dozens of configuration cycles to test various things.

If you can reduce it to a simple test case, perhaps you can post the code and we can take a look.