Hello with the help of Youtube and CD I was finally able to make my first java program for the robot.
Here it is:
The main class:
Code:
// ***************** THIS CODE WAS WRITTEN BY BILAL MAJEED ***************** //
package bilal.robotics.code;
// ***************** TO BE USED COMPONENTS ***************** //
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.Timer;
public class Team2185Main extends IterativeRobot {
Jaguar leftMotor1 = new Jaguar(1); // define the 1st left motor
Jaguar leftMotor2 = new Jaguar(2); // define the 2nd left motor
Jaguar rightMotor1 = new Jaguar(3); // define the 1st right motor
Jaguar rightMotor2 = new Jaguar(4); // define the 2nd right motor
RobotDrive drive = new RobotDrive (leftMotor1, leftMotor2, rightMotor1, rightMotor2); // define the robot drive system
Joystick controller = new Joystick(1); // define the joystick as controller
final int buttonA = 1; // define button 1 as buttonA
Shooter shooter;
// ***************** INITIALIZATION CODE ***************** //
public void robotInit()
{
shooter = new Shooter(); // call the shooter class
}
// ***************** AUTONOMOUS METHODS ***************** //
public void autonomousInit()
{
for(int i=0; i<4; i++){
drive.drive(0.5,0.0); // drive forward at 1/2 speed
Timer.delay(2.0); // wait 2 sec
drive.drive(0.0, 0.75); // drive with 0% speed and 75% turn
Timer.delay(0.75); // wait for the 90 degree turn to complete
}
drive.drive(0.0,0.0);
}
public void autonomousPeriodic()
{
}
public void autonomousContinuous()
{
}
// ***************** TELOP METHODS ***************** //
public void teleopInit()
{
while(isOperatorControl() && isEnabled())
{
drive.tankDrive(controller, 2, controller, 5); // drive the robot according to joystick
if (controller.getRawButton(buttonA)) // if button 1 is pressed on the controller
{ // then make the robot drive forward
leftMotor1.set(1);
leftMotor2.set(1);
rightMotor1.set(1);
rightMotor2.set(1);
}
}
}
public void telopPeriodic()
{
shooter.shoot(); // every 20mS call the shooting class
}
public void telopContinuous()
{
}
// ***************** DISABLED METHODS ***************** //
public void disabledInit()
{
}
public void disabledPeriodic()
{
}
public void disabledContinuous()
{
}
}
And the shooter Class:
Code:
package bilal.robotics.code;
import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.Joystick.ButtonType;
public class Shooter
{
Jaguar shooter = new Jaguar(5);
Joystick controller = new Joystick(2);
final int buttonA = 1;
public Shooter()
{
}
public void shoot(){
if(controller.getRawButton(buttonA)) {
shooter.set(controller.getRawAxis(2));
}
}
}
So please tell me anything i did wrong, or a better way to do it.
Thanks
Also how would i deploy this code on to the robot.
Thanks