added roller code
This commit is contained in:
parent
670de6a143
commit
877b7aaf8d
@ -8,6 +8,8 @@ import org.usfirst.frc.team2059.robot.commands.MoveArm;
|
|||||||
import org.usfirst.frc.team2059.robot.commands.SetArmPosition;
|
import org.usfirst.frc.team2059.robot.commands.SetArmPosition;
|
||||||
import org.usfirst.frc.team2059.robot.commands.SetShooterState;
|
import org.usfirst.frc.team2059.robot.commands.SetShooterState;
|
||||||
import org.usfirst.frc.team2059.robot.commands.SetArmStopState;
|
import org.usfirst.frc.team2059.robot.commands.SetArmStopState;
|
||||||
|
import org.usfirst.frc.team2059.robot.commands.ShootAtSpeed;
|
||||||
|
import org.usfirst.frc.team2059.robot.commands.SpinRollers;
|
||||||
import org.usfirst.frc.team2059.robot.RobotMap;
|
import org.usfirst.frc.team2059.robot.RobotMap;
|
||||||
/**
|
/**
|
||||||
* This class is the glue that binds the controls on the physical operator
|
* This class is the glue that binds the controls on the physical operator
|
||||||
@ -29,7 +31,8 @@ public class OI {
|
|||||||
}
|
}
|
||||||
// Print log when button 1 pressed
|
// Print log when button 1 pressed
|
||||||
//joystickButtons[0][0].whenPressed(new LogEncoder());
|
//joystickButtons[0][0].whenPressed(new LogEncoder());
|
||||||
joystickButtons[0][0].whileHeld(new SetShooterState(true));
|
joystickButtons[0][0].whileHeld(new SpinRollers(1));
|
||||||
|
joystickButtons[0][1].whileHeld(new SetShooterState(true));
|
||||||
|
|
||||||
joystickButtons[1][0].whileHeld(new MoveArm(0.5));
|
joystickButtons[1][0].whileHeld(new MoveArm(0.5));
|
||||||
joystickButtons[1][1].whileHeld(new MoveArm(-0.5));
|
joystickButtons[1][1].whileHeld(new MoveArm(-0.5));
|
||||||
|
@ -17,6 +17,8 @@ public class Robot extends IterativeRobot {
|
|||||||
SmartDashboard.putData("Auto mode", chooser);
|
SmartDashboard.putData("Auto mode", chooser);
|
||||||
SmartDashboard.putData("MainArm",CommandBase.mainArm.getPIDController());
|
SmartDashboard.putData("MainArm",CommandBase.mainArm.getPIDController());
|
||||||
SmartDashboard.putBoolean("CompressorEnabled",true);
|
SmartDashboard.putBoolean("CompressorEnabled",true);
|
||||||
|
//Automatically determine if rolling in or rolling out
|
||||||
|
SmartDashboard.putBoolean("SmartRollers",true);
|
||||||
}
|
}
|
||||||
public void disabledInit() {
|
public void disabledInit() {
|
||||||
}
|
}
|
||||||
@ -37,6 +39,7 @@ public class Robot extends IterativeRobot {
|
|||||||
autonomousCommand.cancel();
|
autonomousCommand.cancel();
|
||||||
}
|
}
|
||||||
CommandBase.pneumatics.setCompressorEnabled(true);
|
CommandBase.pneumatics.setCompressorEnabled(true);
|
||||||
|
CommandBase.pneumatics.setArmStopState(false);
|
||||||
}
|
}
|
||||||
public void teleopPeriodic() {
|
public void teleopPeriodic() {
|
||||||
Scheduler.getInstance().run();
|
Scheduler.getInstance().run();
|
||||||
|
@ -25,7 +25,7 @@ public class RobotMap {
|
|||||||
public static int armStopSolenoidOne = 4;
|
public static int armStopSolenoidOne = 4;
|
||||||
public static int armStopSolenoidTwo = 5;
|
public static int armStopSolenoidTwo = 5;
|
||||||
//Misc
|
//Misc
|
||||||
public static int mainArmPresetCollect = 0;
|
public static int mainArmPresetCollect = -3;
|
||||||
public static int mainArmPresetTraverse = 11;
|
public static int mainArmPresetTraverse = 11;
|
||||||
public static int mainArmPresetCloseShot = 90;
|
public static int mainArmPresetCloseShot = 90;
|
||||||
public static int mainArmPresetFarShot = 70;
|
public static int mainArmPresetFarShot = 70;
|
||||||
|
@ -3,17 +3,20 @@ import org.usfirst.frc.team2059.robot.subsystems.DriveBase;
|
|||||||
import org.usfirst.frc.team2059.robot.subsystems.EncoderBase;
|
import org.usfirst.frc.team2059.robot.subsystems.EncoderBase;
|
||||||
import org.usfirst.frc.team2059.robot.subsystems.MainArm;
|
import org.usfirst.frc.team2059.robot.subsystems.MainArm;
|
||||||
import org.usfirst.frc.team2059.robot.subsystems.Pneumatics;
|
import org.usfirst.frc.team2059.robot.subsystems.Pneumatics;
|
||||||
|
import org.usfirst.frc.team2059.robot.subsystems.Shooter;
|
||||||
import edu.wpi.first.wpilibj.command.Command;
|
import edu.wpi.first.wpilibj.command.Command;
|
||||||
public abstract class CommandBase extends Command {
|
public abstract class CommandBase extends Command {
|
||||||
public static EncoderBase encoderBase;
|
public static EncoderBase encoderBase;
|
||||||
public static DriveBase driveBase;
|
public static DriveBase driveBase;
|
||||||
public static MainArm mainArm;
|
public static MainArm mainArm;
|
||||||
public static Pneumatics pneumatics;
|
public static Pneumatics pneumatics;
|
||||||
|
public static Shooter shooter;
|
||||||
public static void init() {
|
public static void init() {
|
||||||
encoderBase = new EncoderBase();
|
encoderBase = new EncoderBase();
|
||||||
driveBase = new DriveBase();
|
driveBase = new DriveBase();
|
||||||
mainArm = new MainArm();
|
mainArm = new MainArm();
|
||||||
pneumatics = new Pneumatics();
|
pneumatics = new Pneumatics();
|
||||||
|
shooter = new Shooter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// vim: sw=2:ts=2:sts=2
|
// vim: sw=2:ts=2:sts=2
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
package org.usfirst.frc.team2059.robot.commands;
|
||||||
|
import org.usfirst.frc.team2059.robot.commands.CommandBase;
|
||||||
|
import org.usfirst.frc.team2059.robot.Robot;
|
||||||
|
import org.usfirst.frc.team2059.robot.RobotMap;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ShootAtSpeed extends CommandBase {
|
||||||
|
double speed;
|
||||||
|
public ShootAtSpeed(double s) {
|
||||||
|
speed=s;
|
||||||
|
}
|
||||||
|
// Called just before this Command runs the first time
|
||||||
|
protected void initialize() {
|
||||||
|
}
|
||||||
|
// Called repeatedly when this Command is scheduled to run
|
||||||
|
protected void execute() {
|
||||||
|
shooter.shootAtSpeed(speed);
|
||||||
|
}
|
||||||
|
// Make this return true when this Command no longer needs to run execute()
|
||||||
|
protected boolean isFinished() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Called once after isFinished returns true
|
||||||
|
protected void end() {
|
||||||
|
shooter.shootAtSpeed(0);
|
||||||
|
}
|
||||||
|
// Called when another command which requires one or more of the same
|
||||||
|
// subsystems is scheduled to run
|
||||||
|
protected void interrupted() {
|
||||||
|
end();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// vim: sw=2:ts=2:sts=2
|
38
src/org/usfirst/frc/team2059/robot/commands/SpinRollers.java
Normal file
38
src/org/usfirst/frc/team2059/robot/commands/SpinRollers.java
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package org.usfirst.frc.team2059.robot.commands;
|
||||||
|
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
|
||||||
|
import org.usfirst.frc.team2059.robot.commands.CommandBase;
|
||||||
|
import org.usfirst.frc.team2059.robot.Robot;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SpinRollers extends CommandBase {
|
||||||
|
double speed;
|
||||||
|
public SpinRollers(double s) {
|
||||||
|
speed=s;
|
||||||
|
}
|
||||||
|
// Called just before this Command runs the first time
|
||||||
|
protected void initialize() {
|
||||||
|
}
|
||||||
|
// Called repeatedly when this Command is scheduled to run
|
||||||
|
protected void execute() {
|
||||||
|
if(SmartDashboard.getBoolean("SmartRollers") && mainArm.getDegrees()<5){
|
||||||
|
shooter.shootAtSpeed(-.5);
|
||||||
|
}else{
|
||||||
|
shooter.shootAtSpeed(speed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Make this return true when this Command no longer needs to run execute()
|
||||||
|
protected boolean isFinished() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Called once after isFinished returns true
|
||||||
|
protected void end() {
|
||||||
|
shooter.shootAtSpeed(0);
|
||||||
|
}
|
||||||
|
// Called when another command which requires one or more of the same
|
||||||
|
// subsystems is scheduled to run
|
||||||
|
protected void interrupted() {
|
||||||
|
end();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// vim: sw=2:ts=2:sts=2
|
15
src/org/usfirst/frc/team2059/robot/subsystems/Shooter.java
Normal file
15
src/org/usfirst/frc/team2059/robot/subsystems/Shooter.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package org.usfirst.frc.team2059.robot.subsystems;
|
||||||
|
import org.usfirst.frc.team2059.robot.RobotMap;
|
||||||
|
import edu.wpi.first.wpilibj.command.Subsystem;
|
||||||
|
import edu.wpi.first.wpilibj.CANTalon;
|
||||||
|
public class Shooter extends Subsystem {
|
||||||
|
CANTalon shooterMotorLeft = new CANTalon(RobotMap.shooterLeftMotor);
|
||||||
|
CANTalon shooterMotorRight = new CANTalon(RobotMap.shooterRightMotor);
|
||||||
|
public void initDefaultCommand() {
|
||||||
|
}
|
||||||
|
public void shootAtSpeed(double speed){
|
||||||
|
shooterMotorRight.set(speed);
|
||||||
|
shooterMotorLeft.set(speed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// vim: sw=2:ts=2:sts=2
|
Loading…
Reference in New Issue
Block a user