I installed the picoscope sw (most recent version) on a ubuntu 14.04. With this I
wrote a little CLI program to control the signal generator on a ps2206a. This is run
as a server through xinetd. The program does very little: it opens the device
with ps2000aOpenUnit and calls ps2000aSetSigGenBuiltIn repeatedly with
different parameters for frequency and amplitude based on user input.
Now, what I observe is that the program stops responding
after a while. I attached gdb to the process in this state. Aparently, the program is
multi threaded by magic of the ps2000a library. What I see is:
- My application thread waiting for input on stdin. This is OK
- 6 threads started from the ps2000a library sitting in cond_wait
- Another thread started from libusb sitting in the poll system call
My impression is that this is either a thread locking problem or the ps2206a not responding.
Or my diagnosis is entirely wrong. What can be done about this: we need to run the picoscope
in this mode for weeks continuously.