Summary: I had to comment out #define cSSC_BINARYMODE 1 to get the Botduino/SSC-32/PS2controller to work.
Description: I got the Botduino/AH3-R/PS2 controller to work but I had some issues with the code.
Originally it “appeared” that the SSC-32 and the Botduino were “not talking”. I would hit the “start” button on the PS2 controller and the speaker made the start sound but nothing happened. So I hooked the Botduino up to a spare Arduino Mega’s serial port I had which in turn I sent the data received out to the regular serial port so I could see it on the PC.
It looked ok at first, lots of “#0P0#1P0…” type of data but as soon as I hit the “start” button on the PS2 controller it would send a bunch of binary data. So I traced through the code and found #define called cSSC_BINARYMODE.
It seems the code sends either binary data or ascii data to the SSC-32 depending on cSSC_BINARYMODE being defined.
So I commented that out and recompiled (with one compile error I fixed). After that it walked. The AH3-R finally walked!
So my question is am I the only one experiencing this type of problem?
Yes, I have not looked at the tutorial in awhile. But to use the binary mode, you would need to update the SSC-32s firmware to one that supports binary mode, like the 2.07EGP, that you can download from the SSC-32 page: lynxmotion.com/p-395-ssc-32- … oller.aspx
Thanks Kurt. I only received this robot a couple of days ago so I am still a complete newb to it. The tutorial did not mention commenting out the cSSC_BINARYMODE and like a fool I thought it was a hardware issue.
I almost forgot, when I comment out cSSC_BINARYMODE there is a compiler error in phoenix_driver_ssc32.cpp In ServoDriver::CommitServoDriver at the line SSCSerial.println(ServoMoveTime, DEC);
ServoMoveTime is undeclared. I changed it to wMoveTime and it seems to work fine.