UscCmd Crash

I can use the Pololu Maestro Control Center with 100% reliability.

When I use UscCmd it sometimes works but not consistently. When I use this command:

I sometimes receive this error:

C:\Program Files\Pololu\Maestro\bin>usccmd --servo 0,7000
Setting target of servo 0 to 7000...
Unhandled Exception: System.Exception: Failed to set target of servo 0 to 7000. ---> System.ComponentModel.Win32Exception: Control transfer failed.
   at Pololu.WinusbHelper.WinUsbDevice.controlTransfer(WINUSB_SETUP_PACKET setupPacket, Void* buffer)
   at Pololu.WinusbHelper.WinUsbDevice.controlTransfer(WINUSB_SETUP_PACKET setupPacket)
   at Pololu.UsbWrapper.UsbDevice.MyWinUsbDevice.controlTransfer(Byte RequestType, Byte Request, UInt16 Value, UInt16 Index)
   at Pololu.UsbWrapper.UsbDevice.controlTransfer(Byte RequestType, Byte Request, UInt16 Value, UInt16 Index)
   at Pololu.Usc.Usc.setTarget(Byte servo, UInt16 value)
   --- End of inner exception stack trace ---
   at Pololu.Usc.Usc.setTarget(Byte servo, UInt16 value)
   at Pololu.Usc.UscCmd.Program.Main(String[] args)

Sometimes I can send a few commands without error and the servo moves then randomly I get the error.

My setup uses these components:
Maestro 6 channel controller
HD-1800A Servo
Four AAA alkaline batteries for servo power

I am using Windows in a Virtual Machine (VMWare Fusion) on a an Apple Mac running Yosemite.

Some other threads here indicate maybe there is a USB communications problem. Since the Pololu Maestro Control Center seems to work 100% of the time that does not seem like the issue.

Any suggestions would be appreciated.

I found that the UscCmd program works just fine when it is run on a “real” Windows 7 machine. ZERO program crashes.

I am pretty sure the crash is related to running in a Virtual machine (VMWare Fusion on a Mac) and USB ports. What is strange is NONE of the the other sample programs give any errors except UscCmd.

Since my final application will be run from a “real” Windows 7 machine it is OK for now but debugging would be easier on my VM.

Hello, Mark.

It does sound like there is an issue between VMWare Fusion and your USB ports. Unfortunately, we have not seen this issue before and do not have any useful suggestions on how to troubleshoot it. You might try posting your issue on the VMWare Fusion Support Center website and the VMWare Fusion Community website.

By the way, is there a reason why you want to use the UscCmd utility instead of the Maestro Control Center?

- Amanda

I am planning on integrating two servos into my home control system (Homeseer) so my choices are to write the logic from scratch into the control system OR to call a command line utility to rotate the servo to a specific position.

I suppose I could create some embedded scripts in the Maestro board and trigger them but it seems that the command line option will be fairly simple to implement.

The servos will rotate a mechanical knob on the heating system in my sunroom that does not have any electronic control.

If I figure out the VMware problem I will let you know. It is strange that the simplest program (UscCmd) is the one with the problem.

Thanks, Mark