View Single Post
  #1   Spotlight this post!  
Unread 16-02-2015, 13:15
Hawk_Prime Hawk_Prime is offline
Registered User
FRC #3229
 
Join Date: Feb 2015
Location: Holly Springs
Posts: 7
Hawk_Prime is an unknown quantity at this point
Angry Turning with the right trigger?

We have a code to run our robot with mecanum drive that works, and we are using an xbox controller. All is well except for the fact that we can't turn with the right trigger, only with the left. How do I add something in to be able to turn with the right trigger?
Code:
package org.usfirst.frc.team3229.robot;


import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.RobotDrive.MotorType;
import edu.wpi.first.wpilibj.SampleRobot;
import edu.wpi.first.wpilibj.SpeedController;
import edu.wpi.first.wpilibj.Timer;

/**
 * This is a demo program showing how to use Mecanum control with the RobotDrive class.
 */
public class Robot extends SampleRobot {
	
    RobotDrive robotDrive;
    Joystick stick;
    SpeedController elevatorMotor;
    // Channels for the wheels
    final int frontLeftChannel	= 3;
    final int rearLeftChannel	= 4;
    final int frontRightChannel	= 2;
    final int rearRightChannel	= 1;
    final int elevator = 6;
    private static final int LIFT_BUTTON=2; //or whatever button raises
    private static final int LOWER_BUTTON=1; //or whatever button lowers
    // The channel on the driver station that the joystick is connected to
    final int joystickChannel	= 0;

    public Robot() {
        robotDrive = new RobotDrive(frontLeftChannel, rearLeftChannel, frontRightChannel, rearRightChannel);
        robotDrive.setInvertedMotor(MotorType.kFrontLeft, true);	// invert the left side motors
    	robotDrive.setInvertedMotor(MotorType.kFrontRight, true);
        robotDrive.setExpiration(0.1);

       stick = new Joystick(joystickChannel);
       elevatorMotor=new Jaguar(elevator);
        
    }
        

    /**
     * Runs the motors with Mecanum drive.
     */
    public void operatorControl() {
        robotDrive.setSafetyEnabled(true);
        while (isOperatorControl() && isEnabled()) {
        	
        	// Use the joystick X axis for lateral movement, Y axis for forward movement, and Z axis for rotation.
        	// This sample does not use field-oriented drive, so the gyro input is set to zero.
            robotDrive.mecanumDrive_Cartesian(-stick.getY(), -stick.getX(), stick.getZ(), 1);
            
            if(stick.getRawButton(LIFT_BUTTON)) {
                elevatorMotor.set(0.5);
           } else if(stick.getRawButton(LOWER_BUTTON)) {
                elevatorMotor.set(-0.5);
           } else {
                elevatorMotor.set(0);
           }
            
            Timer.delay(0.010);	// wait 5ms to avoid hogging CPU cycles
        }
    }
    	
    }
Reply With Quote