Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   VEX (http://www.chiefdelphi.com/forums/forumdisplay.php?f=162)
-   -   Vex SquareBot- movement programming problem (http://www.chiefdelphi.com/forums/showthread.php?t=49822)

Nathan 05-11-2006 15:12

Vex SquareBot- movement programming problem
 
Hi, I'm programming the Vex SquareBot in MPLAB IDE, and am having some problems programming the movement since one of the motors on the SquareBot is inverted. I tried this code:

Code:

void normal_operation()
{
        int R_Joy_Up    = 127;                // These hold the joystick values.
        int L_Joy_Up    = 127;                // Only R_Joy_Up & L_Joy_Up are used in tank mode.
        int R_Joy_Down  = 127;                // This probably isn't really needed, to be cleaned up after project completed.
        int L_Joy_Down  = 127;
        int R_Joy_Right = 127;
        int L_Joy_Right = 127;
        int R_Joy_Left  = 127;
        int L_Joy_Left  = 127;
       
        int temp;
       
        while(autonomous != 255)
        {
                R_Joy_Up = GetRxInput( 1,2 );
                L_Joy_Up = GetRxInput( 1,3 );
               
                if(L_Joy_Up > NEUTRAL)
                {
                        temp = L_Joy_Up - 127;
                        L_Joy_Up = NEUTRAL - temp;
                }
                else if(L_Joy_Up < NEUTRAL)
                {
                        temp = L_Joy_Up - 127;
                        L_Joy_Up = NEUTRAL - temp;
                        if(L_Joy_Up <= 0)
                        {
                                L_Joy_Up = 253;
                        }
                }

                autonomous = GetRxInput(1,5);
                drive ( R_Joy_Up, L_Joy_Up );
                PrintToScreen ( "L_Joy_Up: %d\n" , (int)L_Joy_Up );
                Wait(1);
        }

My code works fine, until I move the left joystick on the vex controller all the way to the bottom. The the motor suddenly reverses direction :(

Does anyone have any suggestions? I really appreciate the help :)

Thanks,
Nathan

10scott10 05-11-2006 17:00

Re: Vex SquareBot- movement programming problem
 
what is happening is that you are probably going below 0. when that happens it loops back to 255.
just put in an if statement to catch that before it changes speed. the same problem could cause it to go 255 to 0. so put in a if statement to catch that also

Nathan 05-11-2006 17:19

Re: Vex SquareBot- movement programming problem
 
Yep, your right! I found this out about an hour after I posted for help. I still don't understand why the value went below 0 though?

Thanks for your help,
Nathan


All times are GMT -5. The time now is 22:18.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi