Multiple MSOs using Python automation library

I have two MSOs plugged in to the same machine. I can see both with the Logic program.

I am trying to use the Python library to access both at the same time. I was able to grab one of the two with the library. I was not able to grab the second one.

I tried getting both by explicitly invoking the mso_api.MSO() instance with its serial number. (Side note: I couldn’t find the serial number from the Python library, I had to use Logic to get them.) I could grab one device. When I would invoke the second instance, the instance would be created, but I would get an error as soon as I tried to do something, like look at the ‘part_number’ attribute.

Even running a second instance of Python to get the second one would cause an error, “mso_data_recorder binary is already running”.

Is it currently feasible to run more than one MSO thru the Python library?

Unfortunately at the moment any instance grabs exclusive access to all the Saleae devices it can detect, even though it’s only using one of them.

We don’t officially support this, but not for any particular reason, except that we haven’t had a reason to. We actually did add a few environment flags for internal purposes to allow us to use one device to debug another device on the same computer, with one device connected to the Logic 2 software, and the other connected to our various development tools.

What operating system are you using? Our internal feature for this only supports Windows at the moment.

I’ll talk this over internally to see if there is something we can do, but right now I can’t make a commitment, unfortunately.