by matt.stevenson » Thu Apr 29, 2010 9:47 pm
by matt.stevenson
Thu Apr 29, 2010 9:47 pm
Hi, I recently got a roboard to play with, and I've had success controlling some hitec servos and vex motors through the pwm.
I've been working on writing some java wrappers for the rcservo control, and then exposing that through JMX so I can control the servos using java across a network. I've got this mostly working, and I intend to release it (and network dynamixel control) as open source it in a couple of weeks.
I am able to connect to the servos fine, and I can begin to control them. However, after a few minutes, the roboard libraries crash.
Here is part of the error I get:
Instructions: (pc=0xb4599b8f)
0xb4599b7f: 83 ec 14 8b 45 08 66 89 45 ec 0f b7 45 ec 89 c2
0xb4599b8f: ed 89 45 fc 8b 45 fc c9 c3 55 89 e5 83 ec 08 8b
Stack: [0xb4427000,0xb4477000], sp=0xb4474f18, free space=311k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libServoControlJNIWrapper.so+0x4b8f]
C [libServoControlJNIWrapper.so+0x4e07] io_inpdw+0x14
C [libServoControlJNIWrapper.so+0x5c3a] pwm_ClearMultiFLAG+0x16
C [libServoControlJNIWrapper.so+0x8c1d] _Z20stop_playmode_pulsesv+0x14
C [libServoControlJNIWrapper.so+0x8de9] _Z19set_playmode_pulsesPm+0x17
C [libServoControlJNIWrapper.so+0x7235] rcservo_PlayAction+0x50
C [libServoControlJNIWrapper.so+0x73eb] rcservo_MoveTo+0x1d
C [libServoControlJNIWrapper.so+0x4a2f] Java_servonativewrap_ServoFacade_MoveServos+0x94
My java code is running in a continuous loop, sending move signals with a move time of 25 msec, and then the thread sleeps fro 25 msec. So the roboard get a MoveServos command about every 50 msec.
The board will crash after an arbitrary length of time. Sometimes I will only send out a few commands before it crashes, other times it will run fine for 15-20 minutes before crashing.
Looking at the error and the code, the crash comes from this function call:
inl(addr);
Its a linux port i/o command, but I could't find any further information on it or what is causing the crash.
any ideas?
Hi, I recently got a roboard to play with, and I've had success controlling some hitec servos and vex motors through the pwm.
I've been working on writing some java wrappers for the rcservo control, and then exposing that through JMX so I can control the servos using java across a network. I've got this mostly working, and I intend to release it (and network dynamixel control) as open source it in a couple of weeks.
I am able to connect to the servos fine, and I can begin to control them. However, after a few minutes, the roboard libraries crash.
Here is part of the error I get:
Instructions: (pc=0xb4599b8f)
0xb4599b7f: 83 ec 14 8b 45 08 66 89 45 ec 0f b7 45 ec 89 c2
0xb4599b8f: ed 89 45 fc 8b 45 fc c9 c3 55 89 e5 83 ec 08 8b
Stack: [0xb4427000,0xb4477000], sp=0xb4474f18, free space=311k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libServoControlJNIWrapper.so+0x4b8f]
C [libServoControlJNIWrapper.so+0x4e07] io_inpdw+0x14
C [libServoControlJNIWrapper.so+0x5c3a] pwm_ClearMultiFLAG+0x16
C [libServoControlJNIWrapper.so+0x8c1d] _Z20stop_playmode_pulsesv+0x14
C [libServoControlJNIWrapper.so+0x8de9] _Z19set_playmode_pulsesPm+0x17
C [libServoControlJNIWrapper.so+0x7235] rcservo_PlayAction+0x50
C [libServoControlJNIWrapper.so+0x73eb] rcservo_MoveTo+0x1d
C [libServoControlJNIWrapper.so+0x4a2f] Java_servonativewrap_ServoFacade_MoveServos+0x94
My java code is running in a continuous loop, sending move signals with a move time of 25 msec, and then the thread sleeps fro 25 msec. So the roboard get a MoveServos command about every 50 msec.
The board will crash after an arbitrary length of time. Sometimes I will only send out a few commands before it crashes, other times it will run fine for 15-20 minutes before crashing.
Looking at the error and the code, the crash comes from this function call:
inl(addr);
Its a linux port i/o command, but I could't find any further information on it or what is causing the crash.
any ideas?