Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Java coding (http://www.chiefdelphi.com/forums/showthread.php?t=103984)

Team1605 28-02-2012 22:04

Java coding
 
/*----------------------------------------------------------------------------*/
/* Copyright (c) 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(AxisT ype.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);
}


}
}

Jared Russell 28-02-2012 22:41

Re: Java coding
 
Is there a question here?

jp1247 28-02-2012 23:11

Re: Java coding
 
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?

Team1605 01-03-2012 13:09

Re: Java coding
 
yes i have only two joystick and u sing one button

dbeckwith 02-03-2012 07:34

Re: Java coding
 
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.

Quote:

Originally Posted by Team1605 (Post 1136494)
Joystick stickDriverLeft = new Joystick(1);
Joystick stickDriverRight = new Joystick(2);
Joystick trigger = new Joystick (3);
Joystick button = new Joystick (4);

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.


All times are GMT -5. The time now is 21:15.

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