[FTC]: Buttons RobotC

I am trying to assign buttons to control a Tetrix DC motor when ever i assign 2 functions to control the same motor say one button forward and one backward the motor coughs and jumps and vibrates moving spastically. I attached the code below, how could i solve this problem?

if(joy2Btn(2) )
{
motor[motorF] = 100;
}
else
{
motor[motorF] = 0;
}

if(joy2Btn(1) )
{
motor[motorF] = -100;
}
else
{
motor[motorF] = 0;
}

Let’s break this down step by step:

What the above “if” is saying is “If Button 2 on Joystick 2 is pushed, set power to motorF to 100%. Otherwise, set it to 0”.

This one is saying “if Button 1 on Joystick 2 is pushed, set power to motorF to 100% in reverse. Otherwise, set it to 0”.

The problem is not with the if (true) conditions, it’s the else conditions that are conflicting with each other. If Button 1 is pressed, then button might or might be pressed, so motorF shouldn’t go (the else conditions). Likewise for Button 2.

A better way to right the code is:


if (joy2Btn(1))
    {
    motor[motorF] = -100;
    }
else if (joy2Btn(2))
   {
    motor[motorF] = 100;
   }
else
    {
    motor[motorF] = 0;
    }

Since the target of the conditional test is the same resource (motorF), you’ll have to keep the tests with the target in one condition.

Good luck!

Thanks this worked perfectly