I'm currently developing a solution which uses multiple 2204A Picoscopes connected to one PC but I've hit a snag and I'm reaching out for help!
I have written a C# .Net (.net 6.0) wrapper around the native PS2000.dll assembly. With one Picoscope (device1) this works well. I start the fast stream process using a call to "ps2000_run_streaming_ns" and handle the response with a delegate which copies over the buffers.
Running one process and executable works well and I'm able to stream data constantly and reliably.
At this point I start another instance of the program to talk to the next Picoscope (device2). I am able to call "OpenUnit()", retrieve a valid handle and pull the correct device information from device2. However, as soon as I try to begin streaming data the program hangs at the "ps2000_run_streaming_ns" call - there is no status response from this function.
A test I have done is to start both instances before starting to stream data. I am able to make a good connection to both Picoscopes and retrieve device infos as expected. If I start streaming on device2 I then see the same hang on "ps2000_run_streaming_ns" when attempting to start the stream on device1. In other words, it's not device related.
I have tested with Picoscope 6 software and I am able to run 2 instances and stream data from each Picoscope independently with no issue. So there must be a solution available to achieve what I need here...
Can anyone help?