Java coding

/----------------------------------------------------------------------------/
/* Copyright © FIRST 2008. All Rights Reserved. /
/
Open Source Software - may be modified and shared by FRC teams. The code /
/
must be accompanied by the FIRST BSD license file in the root directory of /
/
the project. /
/
----------------------------------------------------------------------------*/

package edu.wpi.first.wpilibj.templates;

import edu.wpi.first.wpilibj.Joystick.AxisType;
import edu.wpi.first.wpilibj.*;

/**

  • The VM is configured to automatically run this class, and to call the

  • functions corresponding to each mode, as described in the SimpleRobot

  • documentation. If you change the name of this class or the package after

  • creating this project, you must also update the manifest file in the resource

  • directory.
    */
    public class RobotTemplate extends SimpleRobot {

    Joystick stickDriverLeft = new Joystick(1);
    Joystick stickDriverRight = new Joystick(2);
    Joystick trigger = new Joystick (3);
    Joystick button = new Joystick (4);

    Jaguar leftMotor = new Jaguar(2);
    Jaguar rightMotor = new Jaguar(1);
    Jaguar shootermotor1 = new Jaguar(3);
    Jaguar shootermotor2 = new Jaguar(4);
    Jaguar gathermotor1 = new Jaguar (5);
    Jaguar gathermotor2 = new Jaguar(6);

    RobotDrive robotDrive = new RobotDrive(leftMotor, rightMotor);
    Shooter TRIGGER_BUTTON = new Shooter(shootermotor1, shootermotor2);
    Gatherer gatherer = new Gatherer(gathermotor1, gathermotor2);

    final int buttonTriggerNumber = 1;
    final int gatherstartbuttonnumber = 2;
    final int gatherstopbuttonnumber = 3;

    /**

    • This function is called once each time the robot enters autonomous mode.
      */
      public void autonomous() {
      Timer.delay(1);
      }

    /**

    • This function is called once each time the robot enters operator control.
      */
      public void operatorControl() {
      robotDrive.tankDrive(stickDriverLeft.getAxis(AxisType.kY), stickDriverRight.getAxis(AxisType.kY));

if (trigger.getRawButton(buttonTriggerNumber)){
TRIGGER_BUTTON.set(1);
}
else {
TRIGGER_BUTTON.set(0);
}

if (button.getRawButton(gatherstartbuttonnumber)) {
gatherer.set(1);

}

if(button.getRawButton(gatherstopbuttonnumber)) {
gatherer.set(0);
}

}

}

Is there a question here?

Not sure if this was intended or not, i could be wrong, but you have ‘trigger’ and ‘button’ as separate joysticks, do you actually have 4 joystick that you’re only using one button off of two of them?

yes i have only two joystick and u sing one button

I see a big problem with this. operatorControl() is only called once, not continuously, so you need to put all your drive code and whatnot in that method in a loop so it will run more than just once. Alternatively you could use the IterativeRobot template, which calls its method periodically so you don’t need a loop.

You should only make Joystick objects for actual joysticks. To get the trigger and buttons, you would get them from whichever joystick they’re on. For example, if they were on the left joystick, you would use stickDriverLeft.getTrigger() (or stickDriverLeft.getRawButton(1)) for the trigger and stickDriverLeft.getRawButton(number) for other buttons.

Also I think you should get rid of the delay in autonomous, it’s not helping anything and could actually slow you down.