Basically, we are doing synthetic aperture sonar and we want to get 3 channels of 16-bit ADC data. I want to use sigrok-cli along with clone saleae logic 16 logic analyzers to acquire the data. sigrok-cli is run on a pi3. It works greatly with one logic16.
The problem that I have is once there are two of the logic 16 connected, sigrok-cli refuses to run.
"sigrok-cli only supports one device for capturing"
Is there a way of acquiring multiple logic analyzers simultaneously?
What makes it worse is that these clones all have the same device and vendor ID. My second part of question is how I can differentiate them? I bet that they have different /dev sort of files but how can I find and make the devices fixed to that file?
Thanks a lot.
Hi, not technically a bug so I'm going to close the report. More info below, though. Feel free to join us on IRC (#sigrok on Freenode) for more "live" help/discussions, if needed.
In order to show all fx2lafw-using devices you can do:
$ sigrok-cli -d fx2lafw --scan
The following devices were found:
fx2lafw:conn=2.30 - CWAV USBee SX with 8 channels: D0 D1 D2 D3 D4 D5 D6 D7
fx2lafw:conn=2.31 - CWAV USBee SX with 8 channels: D0 D1 D2 D3 D4 D5 D6 D7
Then, to talk to a specific one of the detected devices, use the "conn" driver option (in this case it uses USB "bus.address" syntax):
$ sigrok-cli -d fx2lafw:conn=2.31 --samples 1
You can start a big capture with conn=2.31 and (e.g. in another console or xterm or screen session) start another sigrok-cli instance with conn=2.30, both should capture just fine independently (and at the same time). However, note that all FX2s will share the same USB bandwidth of course, so likelyhood is high that there will be premature acquisition stops/aborts if your samplerates get too high...
Using one sigrok-cli instance to capture from multiple devices is not supported. Neither is direct (timing/sample) correlation of the two captures, if you want that you'll need to do that outside of sigrok, e.g. by having both LAs capture one specific pin which you can toggle upon some "start" point and use it later to "sync" both captures if needed. This will have to be manual stuff for now, we don't have "convenient" methods to do this currently.