Servo Controller do not respond to proven commands


I have a new Micro Maestro 6-Channel Servo Controller (Assembled). I had already one but it is broken.

The problem is, that the old codes (which worked very well with the old Controller; I’ll post them below) aren’t working with the new one. The mysterious thing about the new controller is that it does its thing when I give the command over the Maestro Control Center (or the UscCmd). (Unlikely the UscCmd is no option for me. - takes too long. I have to access directly to the controller from my program)

I figured out, there was a firmware upgrade in november 2009. I bought my the old controller in december 2009, but from a german distributor. The distributor was not able to give a secure statement whether I had the old or the new firmware. (I’m sure that the hardware is the same. Compared the numbers on the board) But after all, we’re using the protocols specified in the manual. So I doubt that that is the flaw - but it’s possible. I have no other explanation. (If it is a software bug)

Another possibility is that its a hardware defect; in two or three days I’ll get a new controller and then I’ll test it. The point is that this thing really has to work on thursday and I have no idea why its not working. I will post the results.

So, here are the codes. I hope, I forgot no information.

	cout<<"Error opening servo port! Aborting program..."<<endl;
cout<<"Servo port opened successfully."<<endl;


//setting servo
unsigned char packet[4];
packet[0] = 0x84;//compact protocol
packet[1] = channel;
packet[2] = value & 0x7F;
packet[3] = (value >> 7) & 0x7F;
int sts=write(servo_fd,packet,4);
	cout<<"Error setting Servo "<<channel<<endl;

I hope, someone can help me.



P.S.: There’s no error in sts when the program writes the packet to the port. Just nothing happens. Oh and yes, I used an external power source. I tried the other protocols (Pololu protocol, Mini Protocol) as well.


How did you break your old controller? Have you configured your new one the same way? What serial mode are you using?

The firmware version is displayed at the top of the control center, so you can look there to see if you need to do an upgrade.


Thanks. The mode was the problem. (I thought I already tested this possibility. - But obviously I did not.)