package com.team254.frc2015; import com.team254.lib.util.ConstantsBase; public class Constants extends ConstantsBase { public static double kDriveSensitivity = .75; public static double kNegativeInertiaScalar = 5.0; // Operator controls public static double kElevatorJogFastPwm = 1.0; public static double kElevatorJogMediumPwm = .7; public static double kElevatorJogSlowPwm = .35; public static double kManualIntakeSpeed = 1.0; public static double kManualExhaustSpeed = .6; public static double kAutoIntakeSpeed = 1.0; public static double kCoopIntakeSpeed = .4; public static double kCanIntakeSlowSpeed = .25; public static double kCanIntakeSpeed = .3; public static double kSpinnyThingSpeed = .65; public static double kPeacockUpManualPWM = .45; public static double kPeacockDownManualPWM = .1; // Auto mode stuff public static double kPeacockDriveDelayTime = .3; // Elevator carriage TrajectoryFollowingPositionController gains public static double kElevatorCarriagePositionKp = 1.0; public static double kElevatorCarriagePositionKi = 1.5; public static double kElevatorCarriagePositionKd = 0.0; public static double kElevatorCarriagePositionKv = 0.02; public static double kElevatorCarriagePositionKa = 6.0E-4; public static double kElevatorOnTargetError = 0.125; // DriveStraightController gains public static double kDriveMaxSpeedInchesPerSec = 120.0; public static double kDriveMaxAccelInchesPerSec2 = 107.0; public static double kDrivePositionKp = 0.7; public static double kDrivePositionKi = 0; public static double kDrivePositionKd = 0; public static double kDriveStraightKp = 3.0; public static double kDriveStraightKi = 0; public static double kDriveStraightKd = 0; public static double kDrivePositionKv = 0.008; public static double kDrivePositionKa = 0.0017; public static double kDriveOnTargetError = 0.75; public static double kDrivePathHeadingFollowKp = 0.01; // TurnInPlaceController gains public static double kTurnMaxSpeedRadsPerSec = 5.25; public static double kTurnMaxAccelRadsPerSec2 = 5.25; public static double kTurnKp = 3.0; public static double kTurnKi = 0.18; public static double kTurnKd = 0.23; public static double kTurnKv = 0.085; public static double kTurnKa = 0.075; public static double kTurnOnTargetError = 0.0225; // Height presets public static double kCoopTopHeight = 40; public static double kCoopBottomHeight = 10.75; public static double kCanPickupStartTopHeight = 21.; public static double kCanPickupStartBottomHeight = 6.75; public static double kCanPickupEndTopHeight = 5.25; public static double kCanPickupEndBottomHeight = 1.0; // Sensor calibration public static double kBreambeamVoltage = 1.0; // Common carriage parameters public static double kElevatorMaxSpeedInchesPerSec = 72.0; public static double kElevatorMaxAccelInchesPerSec2 = 120.0; // !!! End of editable Constants! !!! public static int kEndEditableArea = 0; // !!! Electrical constants (do not change at runtime, lol) // Motors public static int kLeftDriveMotorPWM = 4; public static int kLeftDriveMotor1PDP = 14; public static int kLeftDriveMotor2PDP = 15; public static int kRightDriveMotorPWM = 5; public static int kRightDriveMotor1PDP = 0; public static int kRightDriveMotor2PDP = 1; public static int kLeftPeacockMotorPWM = 0; public static int kLeftPeacockMotorPDP = 0; public static int kRightPeacockMotorPWM = 9; public static int kRightPeacockMotorPDP = 0; public static int kTopCarriageMotor1PWM = 2; public static int kTopCarriageMotor2PWM = 3; public static int kTopCarriageMotor1PDP = 12; public static int kTopCarriageMotor2PDP = 13; public static int kBottomCarriageMotor1PWM = 6; public static int kBottomCarriageMotor2PWM = 7; public static int kBottomCarriageMotor1PDP = 2; public static int kBottomCarriageMotor2PDP = 3; public static int kLeftIntakeMotorPWM = 1; public static int kLeftIntakeMotorPDP = 11; public static int kRightIntakeMotorPWM = 8; public static int kRightIntakeMotorPDP = 4; // DIO public static int kLeftDriveEncoderDIOA = 12; // Flipped for polarity public static int kLeftDriveEncoderDIOB = 13; // Flipped for polarity public static int kRightDriveEncoderDIOA = 11; public static int kRightDriveEncoderDIOB = 10; public static int kBottomCarriageEncoderDIOA = 17; public static int kBottomCarriageEncoderDIOB = 16; public static int kTopCarriageEncoderDIOA = 15; public static int kTopCarriageEncoderDIOB = 14; public static int kBottomCarriageHomeDIO = 8; public static int kTopCarriageHomeDIO = 1; public static int kPressureSwitchDIO = 0; // Analog I/O public static int kBreakbeamPort = 0; // Solenoids public static int kBottomCarriageBrakeSolenoidPort = 7; public static int kTopCarriageBrakeSolenoidPort = 6; public static int kTopCarriagePivotSolenoidPort = 1; public static int kTopCarriageGrabberCloseSolenoidPort = 0; public static int kTopCarriageGrabberOpenSolenoidPort = 3; public static int kBottomCarriagePusherSolenoidPort = 9; public static int kBottomCarriageFlapperSolenoidPort = 10; public static int kIntakeSolenoidPort = 2; public static int kCoopSolenoidPort = 8; public static int kPinballWizardSolenoidPort = 5; public static int kPeacockSolenoidPort = 11; // Relays public static int kCompressorRelayPort = 0; // !!! Physical constants public static double kElevatorPulleyRadiusInches = 0.564; public static double kElevatorEncoderCountsPerRev = 250.0; public static double kBottomCarriageHeight = 1.5; // !!! Program constants public static double kControlLoopsDt = 0.005; // !!! Control loop constants public static double kElevatorCarriageSafetyMarginInches = -0.5; // Top carriage limits public static double kTopCarriageMinPositionInches = 3.5; public static double kTopCarriageMaxPositionInches = 67.5; public static double kTopCarriageHomePositionInches = 10.15; public static double kTopCarriageReZeroPositionInches = 10.15; public static double kTopCarriageSafePositionInches = 4.75; // Bottom carriage limits public static double kBottomCarriageMinPositionInches = .75; public static double kBottomCarriageMaxPositionInches = 65.0; public static double kBottomCarriageHomePositionInches = 0.0; public static double kBottomCarriageReZeroPositionInches = 0.0; // Drive parameters public static double kDriveEncoderCountsPerRev = 250.0; public static double kDriveWheelSizeInches = 3.875; @Override public String getFileLocation() { return "~/constants.txt"; } static { new Constants().loadFromFile(); } }