View Single Post
  #6   Spotlight this post!  
Unread 30-03-2012, 16:07
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Flipping the X - axis

Quote:
Originally Posted by Ether View Post
sample code? not to be flippant, but this is what I meant:

Code:
Y = -Y;
X = -X;

Maybe you don't realize that the single-argument ArcadeDrive() method he's using doesn't provide anywhere to do this inversion. The sample code he's asking for is how to get around that lack. By the way, it's only the Y axis that needs to be inverted. The originally posted code is already getting the effect of inverting both axes by running all the motors in the other direction.

Try this: (warning -- untested)
Code:
if(Driver->GetRawButton(6)) // reversed direction of robot
{
    directionInverted = true;
}
if(Driver->GetRawButton(7)) // normal configuration
{
    directionInverted = false;
}
if(directionInverted)
{
    MyBase->ArcadeDrive(-Driver->GetY(),Driver->GetX(),false);
}
else
{
    MyBase->ArcadeDrive(Driver);
}
You'll have to declare directionInverted as a static boolean variable, with an initial value of false.
Reply With Quote