package Systems; import edu.wpi.first.wpilibj.CANTalon; import edu.wpi.first.wpilibj.Joystick; import edu.wpi.first.wpilibj.TalonSRX; // Chill Out 1778 class for controlling the alignment mechanism public class AlignmentAssembly { private static boolean initialized = false; // Joystick magnitudes, need to be opposite each other to perform properly private static final double MIN_INCREMENT = 0.1; private static final double LEFT_POLARITY = -1.0; private static final double RIGHT_POLARITY = 1.0; private static final double WHEEL_THROTTLE = 0.75; // Speed Controller IDs private static final int LEFT_WHEEL_TALON_ID = 9; private static final int RIGHT_WHEEL_TALON_ID = 10; // elevator controller gampad ID private static final int GAMEPAD_ID = 2; private static CANTalon mLeftWheel, mRightWheel; private static Joystick gamepad; private static double leftStep, rightStep; // static initializer public static void initialize() { if (!initialized) { mLeftWheel = new CANTalon(LEFT_WHEEL_TALON_ID); mRightWheel = new CANTalon(RIGHT_WHEEL_TALON_ID); // wheel control gamepad = new Joystick(GAMEPAD_ID); initialized = true; } } public static void autoInit() { } public static void autoPeriodic() { } public static void teleopInit() { } public static void teleopPeriodic() { // right and left wheel operation via right joystick double leftIncrement = LEFT_POLARITY * WHEEL_THROTTLE * gamepad.getRawAxis(3); double rightIncrement = RIGHT_POLARITY * WHEEL_THROTTLE* gamepad.getRawAxis(1); if (Math.abs(leftIncrement) < MIN_INCREMENT) { leftIncrement = 0.0; } if (Math.abs(rightIncrement) < MIN_INCREMENT) { rightIncrement = 0.0; } // set wheel speed for left and right mLeftWheel.set(leftIncrement); mRightWheel.set(rightIncrement); } }