Problem with starting XEM3010

My first HDL contained PipeOut for readout RAM. External hardware fills the RAM with period 24ms. Progamm (C++) made polling with this period and readout data. I can start and exit program any time. Now I’ve new HDL design - add trigger of filling of memory.
My program makes polling of trigger and if data ready readout data. But now I can start program one time. When I exit and start program again program hangs some time and system abort it without messages. The problem into OpenBySerial() function - no exit from it. If I switch off and on power supply XEM3010 - program starts and works.


Sounds like you may not be properly destroying the instance of okCFrontPanel by calling its destructor.

The program is do the same, just added polling from UpdateTriggerOuts() and IsTriggered() instead of time loop. When I exit program hardware with XEM3010 is working. May be problem into firmware? I control my device and program remotely and haven’t possibility to switch off/on power supply.

Do our samples work for you? Does the FrontPanel application with Counters, for example work?

These samples and the FrontPanel application make extensive use of all our API methods and HDL modules. These all work without locking up.

Are you calling API methods from multiple threads/processes?

When I’ve started to design my HDL I tested examples for learning. I use the line program (framework):
while(!data_ready()); // waiting for trigger, at first design was time delay

I made experiment: I changed bit file into old project for new one.
At second start program the program can’t initializes XEM and system abort it.

Another experiment:
I start my old project and exit. Then I start Front Panel application and I can see the name of connected board. If I make this sequence for new project I see nothing as if no boards connected to PC. The same effect presence with another board.