View Single Post
  #1   Spotlight this post!  
Unread 19-01-2017, 18:24
Kram.Niestmaub Kram.Niestmaub is offline
Registered User
FRC #5829
 
Join Date: Jan 2017
Location: Houston Texas
Posts: 3
Kram.Niestmaub is an unknown quantity at this point
Thumbs down VersaPlanetary Integrated Encoder

We are having problems with the encoder. The Code is as follows.

public class Shooter extends Subsystem {

public CANTalon shooterMotorOne = new CANTalon(RobotMap.shooterMotorOne);
CANTalon shooterMotorTwo = new CANTalon(RobotMap.shooterMotorTwo);
CANTalon shooterMotorThree = new CANTalon(RobotMap.shooterMotorThree);
CANTalon shooterMotorFour = new CANTalon(RobotMap.shooterMotorFour);

public void updateDashboard()
{
double leftShootSpeed = shooterMotorOne.getSpeed();

SmartDashboard.putNumber("Speed",shooterMotorOne.g etSpeed());
System.out.println("Left Shoot Speed: " + leftShootSpeed);
SmartDashboard.putNumber("Error: ", shooterMotorOne.getClosedLoopError());
}
protected void initDefaultCommand() {
setDefaultCommand (new Shoot(0));
}
public void shoot(double speed) {


shooterMotorOne.setFeedbackDevice(FeedbackDevice.C treMagEncoder_Relative);
shooterMotorTwo.setFeedbackDevice(FeedbackDevice.C treMagEncoder_Relative);
shooterMotorThree.setFeedbackDevice(FeedbackDevice .CtreMagEncoder_Relative);
shooterMotorFour.setFeedbackDevice(FeedbackDevice. CtreMagEncoder_Relative);

shooterMotorOne.reverseSensor(false);
shooterMotorTwo.reverseSensor(false);
shooterMotorThree.reverseSensor(true);
shooterMotorFour.reverseSensor(true);

shooterMotorOne.changeControlMode(TalonControlMode .Speed);
shooterMotorTwo.changeControlMode(TalonControlMode .PercentVbus);
shooterMotorThree.changeControlMode(TalonControlMo de.PercentVbus);
shooterMotorFour.changeControlMode(TalonControlMod e.PercentVbus);

double shooterP = Robot.prefs.getDouble("shooterP", 0.4);
double shooterI = Robot.prefs.getDouble("shooterI", 0);
double shooterD = Robot.prefs.getDouble("shooterD", 0);
double shooterF = Robot.prefs.getDouble("shooterF", 0);
double prefspeed = Robot.prefs.getDouble("prefspeed", 100);

shooterMotorOne.setPID(shooterP, shooterI, shooterD, shooterF, 0, 0, 0);
shooterMotorTwo.setPID(shooterP, shooterI, shooterD, shooterF, 0, 0, 0);
shooterMotorThree.setPID(shooterP, shooterI, shooterD, shooterF, 0, 0, 0);
shooterMotorFour.setPID(shooterP, shooterI, shooterD, shooterF, 0, 0, 0);

shooterMotorOne.set(speed);
shooterMotorTwo.set(speed);
shooterMotorThree.set(speed);
shooterMotorFour.set(speed);
}

The code provides no errors. When we run the robot everything functions correctly, and we get an error value yet we do not receive anything for speedL. We tried 2 old encoders, and even built a new encoder.
Reply With Quote