I’m working on a project that involves a using a large number of 24 channel Mini Maestros to drive a large grid of servos. There will be 24 of them for a total of 576 servos. They will need to be daisy chained together, and I’ll probably split it into two or more chains to improve performance, with masters connected to a Raspberry Pi via USB. I’m writing a program in C++ that will control all of these chains simultaneously. That program runs on both OSX and Raspbian, for ease of development.
I have four Mini Maestros to test with at the moment, and one problem I’m encountering during development is that it’s not very easy to tell which device is which. On OSX, they get predictable names like /dev/cu.usbmodem00xxxxx1, where the name is based on the serial number. However, on Raspbian, they get mounted at /dev/ttyACMx. I imagine they’re likely to get mounted in a random order, so I can’t be sure that ACM0 is really the first Maestro in my sequence.
So here’s the question: is it possible for my program to ask each Maestro for either its serial number or its address? I see there’s c# code here that can talk directly to the Maestro to get this information:
Unfortunately, it requires libusb, and that seems to be a bit of a nuisance to set up for C++ on OSX.
It’d be great if there were an undocumented command that returns this information, but I bet there isn’t! Is there any other way to do it? For example, could I put a script on the Maestros that outputs the device number and read that back on the computer?