I’m having a fully functional Maestro controller which works without any problems when I plug it into my mac after the system has started. But if I restart or do a power cycle without touching the USB cable the controller is visible in System information but no UART port is present thus I can’t connect to it.
I’ve looked through the forum and found out that there are some issues which require a reset error command sent to the Maestro but in my case I obviously can’t do that until I unplug and plug it back again. I’m a bit stuck since I don’t know where it comes from and I’ve never experienced such a thing on Windows before (thus I assume it’s not a problem with the Maestro controller).
I’ve tested this on 3 different Macs with OSX 10.7, 10.9 and 10.10 and haven’t found a way to fix or overcome that.
I’d like to ask if somebody has experienced such a thing before and maybe knows hot could this be fixed? I really need to have Maestro accessible after system start since the whole setup needs to work autonomously in a daily pre-set work cycle.
Thank you for reporting this issue. I was able to reproduce it here on a computer running Mac OS X 10.10. I think it is caused by a bug somewhere in Mac OS X. As a workaround, I tried writing some code to call ResetDevice and USBDeviceReEnumerate, but unfortunately those functions do not seem to help.
If you have another device in your system that has a digital output that can be controlled from USB, you might consider using that device to reset the Maestro, which should simulate it being unplugged and plugged in. You might also be able to make the Maestro reset itself by setting one of its channels to be an output, connecting that channel to the RST pin, and then using libusb to send a Set Target command that drives the channel low to the Maestro’s native USB interface.
You might also consider using libusb to send all your commands to the Maestro so that you are not dependent on the virtual COM port. There are some customer-contributed examples in the “Related Resources” section of the Maestro user’s guide that show how to do that. One such project that might work for you is libusc. You can also look at the code in the Pololu USB SDK.
Thank you David.
For starters I’ll try with some FTDI UAB-UART converter and change the Maestro to be controlled via UART instead of USB and if it doesn’t work I’ll check the libusb approach. I’d like to avoid changing my source code at this point.