by veltrop » Thu Oct 21, 2010 6:40 pm
by veltrop
Thu Oct 21, 2010 6:40 pm
I would like to access the different ICS modes of my Kondo servos. I'm referring to the different sets of pulse stretch and speed settings that can be stored in the servos, as described in the latter part of
this page.
Here's the output on an oscilloscope connected to an RCB-3HV when activating mode 3 using Heart2Heart:
It looks like it sends a pulse of 200 ms before the position pulse, modes 1 and 2 send 100 and 150 ms pre-pulses.
How can I reproduce this behavior in RoBoIO? Looking at the rcservo.cpp source I see:
- Code: Select all
case RCSERVO_KONDO_COMMON: //common setting for KONDO's servos
//...
rcservo_SetCmdPulse(channel, RCSERVO_CMD_POWEROFF, 50L);
rcservo_SetCmdPulse(channel, RCSERVO_CMD1, 100L);
rcservo_SetCmdPulse(channel, RCSERVO_CMD2, 150L);
rcservo_SetCmdPulse(channel, RCSERVO_CMD3, 200L);
So it seems like this lines up with the timings of the ICS settings, but I can't get it to work.
I've tried calling rcservo_SetPlayModeCMD(servo, RCSERVO_CMD3 etc) in various places in some test code and it there's no effect on the output on the oscilloscope, it always looks like a normal PWM signal.
How do I properly call the rcservo_SetPlayModeCMD() function, or how else can I access the ICS modes with RoBoIO?
I would like to access the different ICS modes of my Kondo servos. I'm referring to the different sets of pulse stretch and speed settings that can be stored in the servos, as described in the latter part of
this page.
Here's the output on an oscilloscope connected to an RCB-3HV when activating mode 3 using Heart2Heart:
It looks like it sends a pulse of 200 ms before the position pulse, modes 1 and 2 send 100 and 150 ms pre-pulses.
How can I reproduce this behavior in RoBoIO? Looking at the rcservo.cpp source I see:
- Code: Select all
case RCSERVO_KONDO_COMMON: //common setting for KONDO's servos
//...
rcservo_SetCmdPulse(channel, RCSERVO_CMD_POWEROFF, 50L);
rcservo_SetCmdPulse(channel, RCSERVO_CMD1, 100L);
rcservo_SetCmdPulse(channel, RCSERVO_CMD2, 150L);
rcservo_SetCmdPulse(channel, RCSERVO_CMD3, 200L);
So it seems like this lines up with the timings of the ICS settings, but I can't get it to work.
I've tried calling rcservo_SetPlayModeCMD(servo, RCSERVO_CMD3 etc) in various places in some test code and it there's no effect on the output on the oscilloscope, it always looks like a normal PWM signal.
How do I properly call the rcservo_SetPlayModeCMD() function, or how else can I access the ICS modes with RoBoIO?