public void disable() {
   setSetpoint(0.0);
   //       pidRight.disable();
   //       pidLeft.disable();
   leftMotor.set(0.0);
   rightMotor.set(0.0);
   rightEncoder.reset();
   leftEncoder.reset();
 } // end disable
 public void setIndexMotor(int direction) {
   wheelDirection = direction;
   if (direction == 1) {
     indexMotor.set(1);
   } else if (direction == -1) {
     indexMotor.set(-1);
   } else {
     indexMotor.disable();
   }
 }
 private void moveRightMotor(double speed) {
   // rightMotor.set(speed);
   // System.out.println("limit = " + bottomLimit.getSmartDashboardType());
   if (speed < 0.0) {
     rightMotor.set(speed);
   } else if (speed > 0.0 && !bottomLimit.get()) {
     rightMotor.set(0.0);
   } else {
     rightMotor.set(speed);
   }
 }
  /** @param speed */
  private void moveLeftMotor(double speed) {
    // leftMotor.set(speed*-1.0);

    if (speed < 0.0) {
      leftMotor.set(speed * -1.0);

    } else if (speed > 0.0 && !bottomLimit.get()) {
      leftMotor.set(0.0);
    } else {
      leftMotor.set(speed * -1.0);
    }
  }
 // raises the elevator, tries again if hooks don't catch
 public void raiseElevator() {
   if (!getUpperLimit()) {
     if (!getError(true) || climberEncoder.get() < errorLowerLimit) {
       climberMotor.set(elevatorSpeed);
     } else {
       if (!getLowerLimit()) {
         climberMotor.set(-elevatorSpeed);
       }
     }
   } else {
     climberMotor.set(0);
   }
   putData();
 }
 // lowers the elevator, tries again if hooks don't catch
 public void lowerElevator() {
   if (!getLowerLimit()) {
     if (!getError(false) || climberEncoder.get() > errorUpperLimit) {
       climberMotor.set(-elevatorSpeed);
     } else {
       if (!getUpperLimit()) {
         climberMotor.set(elevatorSpeed);
       }
     }
   } else {
     climberMotor.set(0);
   }
   putData();
 }
 // sets climber speed to given value
 public void manualControl(double d) {
   if (topClimberSwitch.get() && d > 0 || bottomClimberSwitch.get() && d < 0) {
     climberMotor.set(0);
   }
   if (topClimberSwitch.get() && d < 0) {
     climberMotor.set(d);
   }
   if (bottomClimberSwitch.get() && d > 0) {
     climberMotor.set(d);
   }
   if (!topClimberSwitch.get() && !bottomClimberSwitch.get()) {
     climberMotor.set(d);
   }
   putData();
 }
 // moves elevator to starting position and sets encoder
 public void homingSequence() {
   if (homeUp) {
     while (!getUpperLimit()) {
       climberMotor.set(homingSpeed);
     }
     while (getUpperLimit()) {
       climberMotor.set(-homingReverseSpeed);
     }
     climberEncoder.reset();
   } else {
     while (!getLowerLimit()) {
       climberMotor.set(-homingSpeed);
     }
     while (getLowerLimit()) {
       climberMotor.set(homingReverseSpeed);
     }
     climberEncoder.reset();
   }
 }
  public boolean quickTurn(double setpoint) {
    // Proportional quickturn algorithm
    Preferences p = Preferences.getInstance();
    final double kP = p.getDouble("DriveTrainQuickTurnP", 0.0);
    final double kDB = p.getDouble("DriveTrainQuickTurnDeadband", 0.0);
    double angle = -getGyro(); // -driveTrain.getGyro() b/c the gyro is upsidedown
    double error = setpoint - angle;
    double twist = error * kP;
    double magnitude = Math.abs(twist);
    if (magnitude < kDB) {
      twist = kDB * (twist > 0.0 ? 1.0 : -1.0);
    } else if (magnitude > 1.0) {
      twist = (twist > 0.0 ? 1.0 : -1.0);
    }

    SmartDashboard.putNumber("DriveTrainGyro", angle);

    leftMotor.set(-twist);
    rightMotor.set(twist);

    // Done once we pass the setpoint
    return Math.abs(angle) >= Math.abs(setpoint);
  } // end quickTurn
 public void set(double d, byte b) {
   front.set(d, b);
   rear.set(d, b);
 }
 public void tankDrive(double leftSpeed, double rightSpeed) {
   leftMotor.set(leftSpeed);
   rightMotor.set(rightSpeed);
   SmartDashboard.putNumber("DriveTrainGyro", -gyro.getAngle()); // upside down
 } // end tankDrive
  /** Shift the gear down to low gear. */
  public void shiftToLowGear() {
    motor.set(-Constants.GEAR_SHIFTER_MOTOR_POWER);

    updateDashboard();
  }
 public void pidWrite(double output) {
   leftMotor.set(output);
 }
 public void pidWrite(double output) {
   rightMotor.set(output);
 }
Beispiel #15
0
 public void stop() {
   winchMotor.set(0);
 }
 public void set(double d) {
   front.set(d);
   rear.set(d);
 }
 /** Stop the PID Loop and kill the arm motor */
 public void stop() {
   disable();
   arm.set(0);
 }
  /** Stop shifting gears. */
  public void stop() {
    motor.set(0);

    updateDashboard();
  }
Beispiel #19
0
 /**
  * Reversed tankDrive.
  *
  * @param left Right motor value
  * @param right Left motor value
  */
 public void reverseTankDrive(double left, double right) {
   leftMotor.set(right * -1.0);
   rightMotor.set(left);
 }
Beispiel #20
0
 /**
  * Tank drive for main drivetrain.
  *
  * @param left Left motor value
  * @param right Right motor value
  */
 public void tankDrive(double left, double right) {
   leftMotor.set(left * -1.0);
   rightMotor.set(right);
 }
Beispiel #21
0
 public void up() {
   winchMotor.set(1);
 }
Beispiel #22
0
 /** Set the talon value (Between -1.0 and 1.0) for the wheel */
 public void setSpeed(double speed) {
   motor_controller.set(speed);
 }
 /** Stop the arm motor dead */
 public void stop() {
   arm.set(0);
 }
Beispiel #24
0
 public void setIntakeSpeed(double speed) {
   intake.set(speed);
 }
Beispiel #25
0
 public void spinCIMOutward() {
   leftCIM.set(-1);
   rightCIM.set(1);
 }
Beispiel #26
0
 public void down() {
   winchMotor.set(-1);
 }
 /**
  * Set the speed of the arm motor
  *
  * @param speed The speed to set the motor to
  */
 public void setSpeed(double speed) {
   arm.set(speed);
 }
Beispiel #28
0
 public void setFeederIntakeSpeed(double value) {
   feederIntake.set(-value);
 }
Beispiel #29
0
  public void teleopPeriodic() {
    /*SmartDashboard.getNumber("Accel x: ", accel.getX());
    SmartDashboard.getNumber("Accel Y: ", accel.getY());
    SmartDashboard.getNumber("Accel Z: ", accel.getZ());*/
    if (controller.isEnabled()) {
      if (((Timer.getFPGATimestamp() - timerStart) > timeToCancel) || controller.onTarget()) {
        controller.disable();
        timerStart = -1;
        timeToCancel = -1;
      }
    }

    if (j1.getRawButton(2)) {
      enc.reset();
      controller.setSetpoint(120); // destination 24 inches -> NO!! Trying to figure out this value

      timerStart = Timer.getFPGATimestamp();
      timeToCancel = 10; // timeout after 10 seconds
      controller.enable();
    } else if (j1.getRawButton(
        1)) { // this button stops the robot if the button 2 command goes crazy
      controller.disable();
      timerStart = -1;
      timeToCancel = -1;
    } else { // if time out or distance, end
      controller.disable();
      timerStart = -1;
      timeToCancel = -1;
    }

    if (!controller.isEnabled()) {
      rd.arcadeDrive(-j1.getY(), -j1.getX()); // normal arcade drive
    }

    if (j2.getRawAxis(2) != 0) { // set shooter values to the left trigger value
      shooter.set(-j2.getRawAxis(2));
      shooter2.set(-j2.getRawAxis(2));
      SmartDashboard.putNumber("Shooter: ", shooter.get());
    } else { // stop shooter
      shooter.set(0);
      shooter2.set(0);
    }
    /*if(j2.getRawButton(8)){ //runs intake, waits, runs shooter
    	shooter.set(-1);
    	intake.set(.5);
    	Timer.delay(.50);
    	intake.set(0);
    	Timer.delay(1.5);
    	intake.set(-1);
    	Timer.delay(1);
    	shooter.set(0);
    	intake.set(0);
    }*/

    // Need to mess around with sensitivity of light sensor
    if (j2.getRawAxis(3) != 0 && !light.get()) { // run intake at speed of right trigger
      intake.set(-1 * j2.getRawAxis(3));
    } else if (j2.getRawButton(5) && !light.get()) { // run intake into robot
      intake.set(-1);
    } else if (j2.getRawButton(6)) { // run intake out of robot
      intake.set(1);
    } else { // stop intake
      intake.set(0);
    }

    if (j2.getRawButton(2)) { // lift intake
      inup.set(DoubleSolenoid.Value.kForward);
      inup2.set(DoubleSolenoid.Value.kForward);
    } else if (j2.getRawButton(3)) { // drop intake
      inup.set(DoubleSolenoid.Value.kReverse);
      inup2.set(DoubleSolenoid.Value.kReverse);
    } else { // solenoids off
      inup.set(DoubleSolenoid.Value.kOff);
      inup2.set(DoubleSolenoid.Value.kOff);
    }

    // reading values
    SmartDashboard.putNumber("Encoder Dist: ", enc.getDistance()); // Distance is in inches
    SmartDashboard.putNumber("Encoder: ", enc.get());
    SmartDashboard.putNumber("Encoder Rate: ", enc.getRate());
    SmartDashboard.putNumber("Gyro: ", gyro.getAngle());
    SmartDashboard.putNumber("Encoder Raw", enc.getRaw());
    SmartDashboard.putNumber("Controller: ", controller.getSetpoint());
    SmartDashboard.putBoolean("Light Sensor: ", light.get());
  }
Beispiel #30
0
 public void setBottomFlywheelSpeed(double speed) {
   bottomFlywheel.set(speed);
 }