The attached program uses 8 commands in a loop, with the first 4 allowing the left joystick in R/C to shift a holonomic drive up/down left/right, the last 4 allowing channel 5 to spin the bot. When I insert the first 4 commands in the loop, the bot shifts properly. The last 4 commands in the same loop (without the first 4) spins it properly. But all 8 commands in the loop causes the bot to go berserk. Does 8 commands force it to sample too frequently? And how do I work around the problem? When I insert 2 loops sequentially, it never makes it to the second, because the first condition is always true.
A secondary problem: how do I copy and paste text in EasyC? I had to do a screen shot to post the program.
- The second four commands are overriding the first four.
I wrote this code from memory, so if it isn’t perfect don’t yell at me.
void main ( void )
x = GetRxInput ( 1 , 1 ) ;
y = GetRxInput ( 1 , 2 ) ;
r = GetRxInput ( 1 , 3 ) ;
// convert the inputs so 0 is neutral.
x -= 127 ;
y -= 127 ;
r -= 127 ;
// compute outputs
nw = x + y - r ;
se = x + y + r ;
ne = x - y - r ;
sw = x - y + r ;
SetPWM ( 1 , nw + 127 ) ;
SetPWM ( 2 , ne + 127 ) ;
SetPWM ( 3 , sw + 127 ) ;
SetPWM ( 4 , se + 127 ) ;
You should also add code so that you don’t try to send the motors values less than 0 or over 255.
2) This is how you get text from EasyC.
a. Select the Project tab under the list of functions.
b. Right click on the function you want to get text from, and click Open C file.
c. Highlight the code, right click, select Copy OR Ctrl+C.
NOTE: You should post programming questions in the programming section of the forum, even if your questions are Vex specific.