joelg236
30-01-2012, 21:50
I am completely new at FRC programming, and I'm not sure what really is the best way to go about it. Anyone care to give suggestions?
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.*;
public class RobotTemplate extends IterativeRobot {
public RobotDrive drivetrain;
public Joystick leftStick;
public Joystick rightStick;
public Joystick KTrigger;
public Gyro gyro; //gyro
public Watchdog getWatchdog;
public void robotInit(){
drivetrain = new RobotDrive(1, 2, 3, 4);
leftStick = new Joystick(1);
rightStick = new Joystick(2);
KTrigger = new Joystick(3);
}
public void autonomousPeriodic(){
getWatchdog.kill();
int x = 1;
do{
gyro.reset();
int i=0;
while(i<4){
drivetrain.drive(0.5,0.0); //START GOING STRAIGHT
Timer.delay(4.0);
drivetrain.drive(0.0,0.0); //STOP
Timer.delay(4.0);
gyro.reset();
double angle = 0;
do {
drivetrain.drive(0.0, 0.15); //TURN
Timer.delay(0.5);
angle += gyro.getAngle(); //
gyro.reset();
log("Gyro reads "+angle);
}while(angle<90); //Keep going in increments of .15 until gyro returns more than 90 degrees
drivetrain.drive(0.0,0.0); //STOP
Timer.delay(4.0);
i++;
}
}while(x>0);
}
public void teleopPeriodic() {
getWatchdog().kill();
while (isOperatorControl() && isEnabled()){
Timer.delay(0.002);
while(KTrigger.getTrigger()){
drivetrain.drive(0.0,0.0);
Timer.delay(1.0);
}
double leftYAxis = leftStick.getAxis(Joystick.AxisType.kY);
double leftXAxis = leftStick.getAxis(Joystick.AxisType.kX);
double rightYAxis = rightStick.getAxis(Joystick.AxisType.kY);
double rightXAxis = rightStick.getAxis(Joystick.AxisType.kX);
double powerValue = ((leftXAxis+rightXAxis)/2); // FIND RIGHT CALCULATION FOR 0-100% (0.0-1.0)
double turnValue = ((leftYAxis+rightYAxis)/2);//FIND RIGHT CALCULATION FOR 0.0-1.0
drivetrain.drive(powerValue,turnValue);
}
}
public static String log(String aMessage){
System.out.println(aMessage);
return aMessage;
}
}
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.*;
public class RobotTemplate extends IterativeRobot {
public RobotDrive drivetrain;
public Joystick leftStick;
public Joystick rightStick;
public Joystick KTrigger;
public Gyro gyro; //gyro
public Watchdog getWatchdog;
public void robotInit(){
drivetrain = new RobotDrive(1, 2, 3, 4);
leftStick = new Joystick(1);
rightStick = new Joystick(2);
KTrigger = new Joystick(3);
}
public void autonomousPeriodic(){
getWatchdog.kill();
int x = 1;
do{
gyro.reset();
int i=0;
while(i<4){
drivetrain.drive(0.5,0.0); //START GOING STRAIGHT
Timer.delay(4.0);
drivetrain.drive(0.0,0.0); //STOP
Timer.delay(4.0);
gyro.reset();
double angle = 0;
do {
drivetrain.drive(0.0, 0.15); //TURN
Timer.delay(0.5);
angle += gyro.getAngle(); //
gyro.reset();
log("Gyro reads "+angle);
}while(angle<90); //Keep going in increments of .15 until gyro returns more than 90 degrees
drivetrain.drive(0.0,0.0); //STOP
Timer.delay(4.0);
i++;
}
}while(x>0);
}
public void teleopPeriodic() {
getWatchdog().kill();
while (isOperatorControl() && isEnabled()){
Timer.delay(0.002);
while(KTrigger.getTrigger()){
drivetrain.drive(0.0,0.0);
Timer.delay(1.0);
}
double leftYAxis = leftStick.getAxis(Joystick.AxisType.kY);
double leftXAxis = leftStick.getAxis(Joystick.AxisType.kX);
double rightYAxis = rightStick.getAxis(Joystick.AxisType.kY);
double rightXAxis = rightStick.getAxis(Joystick.AxisType.kX);
double powerValue = ((leftXAxis+rightXAxis)/2); // FIND RIGHT CALCULATION FOR 0-100% (0.0-1.0)
double turnValue = ((leftYAxis+rightYAxis)/2);//FIND RIGHT CALCULATION FOR 0.0-1.0
drivetrain.drive(powerValue,turnValue);
}
}
public static String log(String aMessage){
System.out.println(aMessage);
return aMessage;
}
}