def createObjects(self): # Joysticks self.joystick_left = wpilib.Joystick(0) self.joystick_right = wpilib.Joystick(1) self.joystick_alt = wpilib.Joystick(2) # Buttons self.btn_intake_in = JoystickButton(self.joystick_alt, 2) self.btn_intake_out = JoystickButton(self.joystick_alt, 1) # Set up Speed Controller Groups self.left_motors = wpilib.SpeedControllerGroup( VictorSP(0), VictorSP(1), ) self.right_motors = wpilib.SpeedControllerGroup( VictorSP(2), VictorSP(3), ) # Drivetrain self.train = wpilib.drive.DifferentialDrive(self.left_motors, self.right_motors) # Intake self.intake_motor = VictorSP(4)
def createObjects(self): # Joysticks self.joystick = wpilib.Joystick(0) # Drive motor controllers # Dig | 0/1 # 2^1 | Left/Right # 2^0 | Front/Rear self.lf_motor = wpilib.Victor(0b00) # =>0 self.lr_motor = wpilib.Victor(0b01) # =>1 self.rf_motor = wpilib.Victor(0b10) # =>2 self.rr_motor = wpilib.Victor(0b11) # =>3 self.drivetrain = wpilib.drive.DifferentialDrive(wpilib.SpeedControllerGroup(self.lf_motor, self.lr_motor), wpilib.SpeedControllerGroup(self.rf_motor, self.rr_motor)) self.btn_sarah = ButtonDebouncer(self.joystick, 2) self.sarah = False # Intake self.intake_wheel_left = wpilib.Spark(5) self.intake_wheel_right = wpilib.Spark(4) self.intake_wheels = wpilib.SpeedControllerGroup(self.intake_wheel_left, self.intake_wheel_right) self.intake_wheels.setInverted(True) self.btn_pull = JoystickButton(self.joystick, 3) self.btn_push = JoystickButton(self.joystick, 1)
def createObjects(self): # Joysticks self.joystick = wpilib.Joystick(0) # Drive motor controllers # Dig | 0/1 # 2^1 | Left/Right # 2^0 | Front/Rear #self.lf_motor = wpilib.Victor(0b00) # => 0 #self.lr_motor = wpilib.Victor(0b01) # => 1 #self.rf_motor = wpilib.Victor(0b10) # => 2 #self.rr_motor = wpilib.Victor(0b11) # => 3 # TODO: This is not in any way an ideal numbering system. # The PWM ports should be redone to use the old layout above. self.lf_motor = wpilib.Victor(9) self.lr_motor = wpilib.Victor(8) self.rf_motor = wpilib.Victor(7) self.rr_motor = wpilib.Victor(6) self.drivetrain = wpilib.drive.DifferentialDrive( wpilib.SpeedControllerGroup(self.lf_motor, self.lr_motor), wpilib.SpeedControllerGroup(self.rf_motor, self.rr_motor)) self.btn_sarah = ButtonDebouncer(self.joystick, 2) self.sarah = False # Intake self.intake_wheel_left = wpilib.Spark(5) self.intake_wheel_right = wpilib.Spark(4) self.intake_wheels = wpilib.SpeedControllerGroup( self.intake_wheel_left, self.intake_wheel_right) self.intake_wheels.setInverted(True) self.btn_pull = JoystickButton(self.joystick, 3) self.btn_push = JoystickButton(self.joystick, 1)
def init(): global joystick, A, B, X, Y, bumper_L, bumper_R, back, start, stick_L, stick_R joystick = Joystick(robotmap.joystick) A = JoystickButton(joystick, 1) B = JoystickButton(joystick, 2) X = JoystickButton(joystick, 3) Y = JoystickButton(joystick, 4) bumper_L = JoystickButton(joystick, 5) bumper_R = JoystickButton(joystick, 6) back = JoystickButton(joystick, 7) start = JoystickButton(joystick, 8) stick_L = JoystickButton(joystick, 9) stick_R = JoystickButton(joystick, 10)
def init(): global driverOne global driverTwo driverOne = XboxController(robotmap.USB_PORT_DRIVER_ONE) driverTwo = XboxController(robotmap.USB_PORT_DRIVER_TWO) toggleLauncher = JoystickButton(driverTwo, robotmap.BUTTON_A) toggleLauncher.whenPressed(LaunchHatchCommand()) toggleLauncher.whenReleased(RetractCommand()) toggleFront = JoystickButton(driverTwo, robotmap.BUTTON_RIGHT_BUMPER) toggleFront.whenReleased(ToggleFrontCommand()) toggleRear = JoystickButton(driverTwo, robotmap.BUTTON_LEFT_BUMPER) toggleRear.whenReleased(ToggleRearCommand())
def __init__(self): self.driverController = XboxController(0) self.manipulatorController = XboxController(1) self.aButtonDriver = JoystickButton(self.driverController, 0) self.aButtonDriver.whenPressed(DriveStraightCommand(10))
def init(): global logger, joystick, A, B, X, Y, bumper_L, bumper_R, back, start, stick_L, stick_R logger = logging.getLogger("OI") joystick = Joystick(robotmap.joystick) A = JoystickButton(joystick, 1) B = JoystickButton(joystick, 2) X = JoystickButton(joystick, 3) Y = JoystickButton(joystick, 4) bumper_L = JoystickButton(joystick, 5) bumper_R = JoystickButton(joystick, 6) back = JoystickButton(joystick, 7) start = JoystickButton(joystick, 8) stick_L = JoystickButton(joystick, 9) stick_R = JoystickButton(joystick, 10) logger.debug("OI initialized")
def createObjects(self): wpilib.CameraServer.launch() wpilib.LiveWindow.disableAllTelemetry() self.left_drive_motor = WPI_TalonSRX(0) WPI_TalonSRX(1).set(WPI_TalonSRX.ControlMode.Follower, self.left_drive_motor.getDeviceID()) self.right_drive_motor = WPI_TalonSRX(2) WPI_TalonSRX(3).set(WPI_TalonSRX.ControlMode.Follower, self.right_drive_motor.getDeviceID()) self.robot_drive = wpilib.drive.DifferentialDrive( self.left_drive_motor, self.right_drive_motor) self.r_intake_motor = WPI_VictorSPX(4) self.l_intake_motor = WPI_VictorSPX(5) self.elevator_winch = WPI_TalonSRX(6) self.climber_motor = WPI_TalonSRX(7) self.wrist_motor = WPI_TalonSRX(8) self.intake_ir = wpilib.AnalogInput(0) self.intake_solenoid = wpilib.DoubleSolenoid(2, 3) self.right_drive_joystick = wpilib.Joystick(0) self.left_drive_joystick = wpilib.Joystick(1) self.operator_joystick = wpilib.Joystick(2) self.compressor = wpilib.Compressor() self.elevator_limit_switch = wpilib.DigitalInput(0) self.climber_motor = WPI_TalonSRX(7) self.navx = AHRS.create_spi() self.path_tracking_table = NetworkTables.getTable("path_tracking") self.down_button = ButtonDebouncer(self.operator_joystick, 1) self.right_button = ButtonDebouncer(self.operator_joystick, 2) self.left_button = ButtonDebouncer(self.operator_joystick, 3) self.has_cube_button = ButtonDebouncer(self.operator_joystick, 5) self.up_button = ButtonDebouncer(self.operator_joystick, 4) self.left_bumper_button = JoystickButton(self.operator_joystick, 5) self.right_bumper_button = JoystickButton(self.operator_joystick, 6)
def __init__(self, robot): '''The Constructor - assign Xbox controller buttons to specific Commands. ''' print("In OI:__init__") robot.xbox0 = wpilib.XboxController(0) robot.xbox1 = wpilib.XboxController(1) stickbutton = StickButton(robot.xbox0, .1) shoot = JoystickButton(robot.xbox0, XboxController.Button.kA) block = JoystickButton(robot.xbox0, XboxController.Button.kY) intake = JoystickButton(robot.xbox0, XboxController.Button.kX) shiftup = JoystickButton(robot.xbox0, XboxController.Button.kBumperRight) shiftdown = JoystickButton(robot.xbox0, XboxController.Button.kBumperLeft) triggerbutton = TriggerButton(robot.xbox1, .1) extendclimber = JoystickButton(robot.xbox1, XboxController.Button.kA) togglecamera = JoystickButton(robot.xbox0, XboxController.Button.kStart) togglecamera.whenPressed(ToggleCamera(robot)) stickbutton.whenPressed(DifferentialDriveWithXbox(robot)) shoot.whileHeld(ReleaseShoot(robot)) block.toggleWhenPressed(Block(robot)) intake.whileHeld(Intake_Com(robot)) shiftup.whenPressed(ShiftUp(robot)) shiftdown.whenPressed(ShiftDown(robot)) triggerbutton.whenPressed(Climbwithtriggers(robot)) extendclimber.toggleWhenPressed(Extendclimber(robot))
def __init__(self, roller_motor, pivot, stick, initial_state): self.roller_motor = roller_motor self.pivot = pivot self.stick = stick self.rollerenabler = JoystickButton(self.stick, 14) self.pivotupbutton = JoystickButton(self.stick, 5) self.pivotdownbutton = JoystickButton(self.stick, 10) self.pistonoutbutton = JoystickButton(self.stick, 8) self.pistoninbutton = JoystickButton(self.stick, 7) #self.ratchetswitchbutton = JoystickButton(self.stick, 15) #self.ratchetbtnpressed = False #self.pivotstopbutton = JoystickButton(self.stick, 14) #self.pivotinitbutton = JoystickButton(self.stick, 13) self.rollerout = JoystickButton(self.stick, 9) self.rollerin = JoystickButton(self.stick, 6) self.state = initial_state self.pivot.selectProfileSlot(0, 0) self.switch = wpilib.DigitalInput(2) self.count = 0 self.sol2 = wpilib.Solenoid(5, 3) self.sol1 = wpilib.Solenoid(5, 0) self.sol1.set(False) self.sol2.set(True) self.ratchet = wpilib.Solenoid(5, 6) self.ratchetEnabled = False self.ratchet.set(not self.ratchetEnabled)
def __init__(self, hs1, hs2, as1, as2, stick): self.hatchsolenoid1 = hs1 self.hatchsolenoid2 = hs2 self.armsolenoid1 = as1 self.armsolenoid2 = as2 # the corresponding solenoids for each subsystem must be in opposite # states. self.hatchsolenoid1.set(False) self.hatchsolenoid2.set(True) self.armsolenoid1.set(False) self.armsolenoid2.set(True) # Currently trigger and front button. # TODO separate controls out into separate config class. self.hatchbutton = JoystickButton(stick, 2) self.armbutton = JoystickButton(stick, 1) self.hatchenabled = False self.armenabled = False
def __init__(self, fl, rl, fr, rr, navx, stick): self.fl = fl self.rl = rl self.fr = fr self.rr = rr self.drive = wpilib.drive.MecanumDrive(fl, rl, fr, rr) self.navx = navx self.stick = stick self.foctoggle = JoystickButton(self.stick, 11) self.focenabled = False self.foctoggledown = False
def __init__(self, robot): self.robot = robot self.xbox = wpilib.Joystick(0) self.l_trigger = self.xbox.getRawAxis(2) self.r_trigger = self.xbox.getRawAxis(3) self.l_bumper = JoystickButton(self.xbox, 6) self.r_bumper = JoystickButton(self.xbox, 5) self.a_button = JoystickButton(self.xbox, 1) self.b_button = JoystickButton(self.xbox, 2) self.steer = self.xbox.getRawAxis(0) self.speed = self.l_trigger - self.r_trigger self.a_button.whileHeld(Pop(self.robot)) self.r_bumper.whileHeld(LiftFront(self.robot)) self.l_bumper.whileHeld(LiftRear(self.robot))
def __init__(self, robot): # driver mappings self.driver_joystick = wpilib.XboxController(0) JoystickButton(self.driver_joystick, wpilib.XboxController.Button.kX).whenPressed( TurnByGyro(robot, -90.0)) JoystickButton(self.driver_joystick, wpilib.XboxController.Button.kY).whenPressed( TurnByGyro(robot, 90.0)) JoystickButton(self.driver_joystick, wpilib.XboxController.Button.kBack).whenPressed( ClimbByGyro(robot)) JoystickButton(self.driver_joystick, wpilib.XboxController.Button.kStart).whenPressed( ToggleCompressor(robot)) # operator mappings self.operator_joystick = wpilib.XboxController(1) JoystickButton(self.operator_joystick, wpilib.XboxController.Button.kA).whenPressed( DeployHatch(robot)) JoystickButton(self.operator_joystick, wpilib.XboxController.Button.kB).whenPressed( DropCargo(robot)) JoystickButton(self.operator_joystick, wpilib.XboxController.Button.kY).whenPressed( ToggleLED(robot)) JoystickButton(self.operator_joystick, wpilib.XboxController.Button.kY).whileHeld( AlignByCamera(robot)) JoystickButton(self.operator_joystick, wpilib.XboxController.Button.kY).whenReleased( ToggleLED(robot)) JoystickButton(self.operator_joystick, wpilib.XboxController.Button.kStart).whenPressed( ToggleCompressor(robot))
def getJoystick(): """ Assign commands to button actions, and publish your joysticks so you can read values from them later. """ joystick = Joystick(0) trigger = JoystickButton(joystick, Joystick.ButtonType.kTriggerButton) trigger.whenPressed(Crash()) return joystick
def __init__ (self, robot): robot.joystick = wpilib.Joystick(0) robot.joystick1 = wpilib.Joystick(1) L3_button = JoystickButton(robot.joystick1, 9) LB_button = JoystickButton(robot.joystick1, 5) A_button = JoystickButton(robot.joystick1, 1) B_button = JoystickButton(robot.joystick1, 2) X_button = JoystickButton(robot.joystick1, 3) Y_button = JoystickButton(robot.joystick1, 4) L3_button.whenPressed(TurboDrive()) L3_button.whenReleased(FollowJoystick()) LB_button.whenPressed(Align()) LB_button.whenReleased(FollowJoystick()) X_button.whenPressed(MoveClawTo(power=-.5)) X_button.whenReleased(MoveClawTo(power=0)) B_button.whenPressed(MoveClawTo(power=.5)) B_button.whenReleased(MoveClawTo(power=0)) Y_button.whenPressed(MoveArmTo(power=-1)) Y_button.whenReleased(MoveArmTo(power=0)) A_button.whenPressed(MoveArmTo(power=1)) A_button.whenReleased(MoveArmTo(power=0))
def __init__(self, robot): '''The Constructor - assign Xbox controller buttons to specific Commands. ''' print("In OI:__init__") robot.xbox0 = wpilib.XboxController(0) robot.xbox1 = wpilib.XboxController(1) """liftleft = JoystickButton(robot.xbox1, XboxController.Button.kA) lowerleft = JoystickButton(robot.xbox1, XboxController.Button.kB) liftright = JoystickButton(robot.xbox1, XboxController.Button.kX) lowerright = JoystickButton(robot.xbox1, XboxController.Button.kY) liftfront = JoystickButton(robot.xbox1, XboxController.Button.kStickLeft) lowerfront = JoystickButton(robot.xbox1, XboxController.Button.kStickRight) liftrear = JoystickButton(robot.xbox1, XboxController.Button.kBumperRight) lowerrear = JoystickButton(robot.xbox1, XboxController.Button.kBumperLeft) lift = JoystickButton(robot.xbox1, XboxController.Button.kStart) lower = JoystickButton(robot.xbox1, XboxController.Button.kBack)""" #claw = JoystickButton(robot.xbox1, XboxController.Button.kY) intake = JoystickButton(robot.xbox1, XboxController.Button.kA) liftwinch = JoystickButton(robot.xbox1, XboxController.Button.kBumperRight) lowerwinch = JoystickButton(robot.xbox1, XboxController.Button.kBumperLeft) ejectcargo = JoystickButton(robot.xbox1, XboxController.Button.kX) triggerbutton = TriggerButton(robot.xbox0, .1) punch = JoystickButton(robot.xbox0, XboxController.Button.kY) punchrear = JoystickButton(robot.xbox1, XboxController.Button.kY) hatch = JoystickButton(robot.xbox0, XboxController.Button.kX) #park = JoystickButton(robot.xbox0, XboxController.Button.kA) """liftleft.whileHeld(LiftLeft(robot)) lowerleft.whileHeld(LowerLeft(robot)) liftright.whileHeld(LiftRight(robot)) lowerright.whileHeld(LowerRight(robot)) liftfront.whileHeld(LiftFront(robot))# lowerfront.whileHeld(LowerFront(robot# liftrear.whileHeld(LiftRear(robot)) lowerrear.whileHeld(LowerRear(robot))# lift.whileHeld(Lift(robot)) lower.whileHeld(Lower(robot))""" triggerbutton.whenPressed(MoveArmWithTriggers(robot)) intake.toggleWhenPressed(IntakeCargo(robot)) ejectcargo.toggleWhenPressed(EjectCargo(robot)) #claw.toggleWhenPressed(OpenClaw(robot)) punch.whenPressed(Punch(robot)) punch.whenReleased(Pull(robot)) hatch.toggleWhenPressed(CoverHatch(robot)) liftwinch.whileHeld(LiftWinch(robot)) lowerwinch.whileHeld(LowerWinch(robot)) punchrear.whenPressed(PunchRear(robot)) punchrear.whenReleased(PullRear(robot))
def robotInit(self): Command.getRobot = lambda x=0: self self.driveSubsystem = DriveSubsystem() self.controller = Joystick(0) self.forward = JoystickButton(self.controller, PS4Button["TRIANGLE"]) self.backward = JoystickButton(self.controller, PS4Button["CROSS"]) self.right = JoystickButton(self.controller, PS4Button["CIRCLE"]) self.left = JoystickButton(self.controller, PS4Button["SQUARE"]) self.forward.whenPressed(MoveForward()) self.forward.whenReleased(Stop()) self.backward.whenPressed(MoveBackward()) self.backward.whenReleased(Stop()) self.right.whenPressed(TurnRight()) self.right.whenReleased(Stop()) self.left.whenPressed(TurnLeft()) self.left.whenReleased(Stop())
def __init__(self, robot): self.joystick = wpilib.Joystick(0) JoystickButton(self.joystick, 12).whenPressed(LowGoal(robot)) JoystickButton(self.joystick, 10).whenPressed(Collect(robot)) JoystickButton(self.joystick, 11).whenPressed(SetPivotSetpoint(robot, Pivot.SHOOT)) JoystickButton(self.joystick, 9).whenPressed(SetPivotSetpoint(robot, Pivot.SHOOT_NEAR)) DoubleButton(self.joystick, 2, 3).whenActive(Shoot(robot)) # SmartDashboard Buttons SmartDashboard.putData("Drive Forward", DriveForward(robot, 2.25)) SmartDashboard.putData("Drive Backward", DriveForward(robot, -2.25)) SmartDashboard.putData("Start Rollers", SetCollectionSpeed(robot, Collector.FORWARD)) SmartDashboard.putData("Stop Rollers", SetCollectionSpeed(robot, Collector.STOP)) SmartDashboard.putData("Reverse Rollers", SetCollectionSpeed(robot, Collector.REVERSE))
def teleopPeriodic(self): """Called when operation control mode is enabled""" while self.isEnabled(): self.drive.driveCartesian( -self.conditonAxis(self.lstick.getX(), 0.05, 0.85, 0.6, 1.5, -1, 1), self.conditonAxis(self.lstick.getY(), 0.05, 0.85, 0.6, 1.5, -1, 1), -self.conditonAxis(self.rstick.getX(), 0.25, 0.85, 0.6, 0.5, -1, 1), self.gyro.getYaw()) if self.timer.get() > 1: if (JoystickButton(self.lstick, 3).get()): self.timer.reset() self.COMPRESSOR_STATE = not self.COMPRESSOR_STATE if self.COMPRESSOR_STATE: self.compressor.start() else: self.compressor.stop() #pilotstick 1 if JoystickButton(self.lstick, 5).get(): self.BallDoorOpen() if JoystickButton(self.lstick, 4).get(): self.BallDoorClose() if JoystickButton(self.lstick, 6).get(): self.BallGrabStart() if JoystickButton(self.lstick, 7).get(): self.BallGrabStop() #pilotstick 2 if JoystickButton(self.rstick, 3).get(): self.activate(self.GearDoorRaise, self.GearDoorDrop, self.GEAR_DOOR_STATE) if JoystickButton(self.rstick, 5).get(): self.activate(self.GearAdjustExtend, self.GearAdjustRetract, self.GEAR_ADJUST_STATE) if JoystickButton(self.rstick, 4).get(): self.activate(self.GearPusherExtend, self.GearPusherRetract, self.GEAR_PUSHER_STATE)
def __init__(self, lift_talon, upper_switch, lower_switch, stick): self.lift_motor = lift_talon self.upper_switch = upper_switch self.lower_switch = lower_switch # I don't think there's a better way to do this. Using an array will # sacrifice too much readability for not much more conciseness. self.manual_up = JoystickButton(stick, 4) self.manual_down = JoystickButton(stick, 3) self.ball_bottom = JoystickButton(stick, 5) self.ball_middle = JoystickButton(stick, 6) self.ball_top = JoystickButton(stick, 7) self.hatch_bottom = JoystickButton(stick, 10) self.hatch_middle = JoystickButton(stick, 9) self.hatch_top = JoystickButton(stick, 8) self.lift_disabler = JoystickButton(stick, 14) self.state = "manual_stop"
def teleopPeriodic(self): """Called when operation control mode is enabled""" while self.isEnabled(): ''' self.logger.info("FrontLeft: " + str(self.frontLeftMotor.getMotorOutputVoltage())) self.logger.info("RearLeft: " + str(self.rearLeftMotor.getMotorOutputVoltage())) self.logger.info("FrontRight: " + str(self.frontRightMotor.getMotorOutputVoltage())) self.logger.info("RearRight: " + str(self.rearRightMotor.getMotorOutputVoltage())) ''' self.drive.driveCartesian( -self.conditonAxis(self.lstick.getX(), 0.05, 0.85, 0.6, 1.5, -1, 1), self.conditonAxis(self.lstick.getY(), 0.05, 0.85, 0.6, 1.5, -1, 1), -self.conditonAxis(self.rstick.getX(), 0.25, 0.85, 0.6, 0.5, -1, 1) #self.gyro.getYaw() ) if self.solenoid_timer.hasPeriodPassed(0.5): if JoystickButton(self.lstick, 3).get(): self.COMPRESSOR_STATE = not self.COMPRESSOR_STATE self.activate(self.compressor.start, self.compressor.stop, self.COMPRESSOR_STATE) if JoystickButton(self.lstick, 2).get(): self.TICKLER_STATE = not self.TICKLER_STATE self.activate(self.BallDoorOpen, self.BallDoorClose, self.TICKLER_STATE) if JoystickButton(self.lstick, 1).get(): self.GRABBER_STATE = not self.GRABBER_STATE self.activate(self.BallGrabStart, self.BallGrabStop, self.GRABBER_STATE) #pilotstick 2 if JoystickButton(self.rstick, 3).get(): self.GEAR_DOOR_STATE = not self.GEAR_DOOR_STATE self.activate(self.GearDoorRaise, self.GearDoorDrop, self.GEAR_DOOR_STATE) if JoystickButton(self.rstick, 5).get(): self.GEAR_ADJUST_STATE = not self.GEAR_ADJUST_STATE self.activate(self.GearAdjustExtend, self.GearAdjustRetract, self.GEAR_ADJUST_STATE) if JoystickButton(self.rstick, 4).get(): self.GEAR_PUSHER_STATE = not self.GEAR_PUSHER_STATE self.activate(self.GearPusherExtend, self.GearPusherRetract, self.GEAR_PUSHER_STATE) wpilib.Timer.delay(0.04)
def __init__(self, port): super().__init__(port) self.timer = wpilib.Timer() self.timer.start() self.btnX = JoystickButton(self, robotmap.XBOX_X) self.btnY = JoystickButton(self, robotmap.XBOX_Y) self.btnA = JoystickButton(self, robotmap.XBOX_A) self.btnB = JoystickButton(self, robotmap.XBOX_B) self.btnLB = JoystickButton(self, robotmap.XBOX_LEFT_BUMPER) self.btnRB = JoystickButton(self, robotmap.XBOX_RIGHT_BUMPER) self.btnStart = JoystickButton(self, robotmap.XBOX_START) self.btnBack = JoystickButton(self, robotmap.XBOX_BACK) self.btnDpadUp = XboxDPadButton(self, DPAD_BUTTON.DPAD_UP) self.btnDpadRight = XboxDPadButton(self, DPAD_BUTTON.DPAD_RIGHT) self.btnDpadDown = XboxDPadButton(self, DPAD_BUTTON.DPAD_DOWN) self.btnDpadLeft = XboxDPadButton(self, DPAD_BUTTON.DPAD_LEFT)
def robotInit(self): # Robot initialization function # VictorSPX = Motor Controllers self.frontLeftMotor = ctre.WPI_VictorSPX(0) self.rearLeftMotor = ctre.WPI_VictorSPX(1) self.frontRightMotor = ctre.WPI_VictorSPX(4) self.rearRightMotor = ctre.WPI_VictorSPX(5) self.basketMotor = ctre.WPI_VictorSPX(3) # Digital Inputs (Limit Switch) self.basketLimitSwitch = wpilib.DigitalInput(0) # Motor controller groups for each side of the robot self.left = wpilib.SpeedControllerGroup(self.frontLeftMotor, self.rearLeftMotor) self.right = wpilib.SpeedControllerGroup(self.frontRightMotor, self.rearRightMotor) # Differential drive with left and right motor controller groups self.myRobot = DifferentialDrive(self.left, self.right) self.myRobot.setExpiration(0.1) self.direction = -1 # Declare gamepad self.gamepad = wpilib.Joystick(0) # Declare buttons # Controller mapping (1-10): B (East), A (South), Y (North), X (West), Right Bumper, Left Bumper, ?, ?, ?, ? self.toggleHatchButton = JoystickButton(self.gamepad, 1) self.toggleBasketButton = JoystickButton(self.gamepad, 2) self.toggleDirectionButton = JoystickButton(self.gamepad, 3) self.speedUpButton = JoystickButton(self.gamepad, 4) self.raiseBasketButton = JoystickButton(self.gamepad, 5) self.lowerBasketButton = JoystickButton(self.gamepad, 6) # Determine if already acted on self.hatchActed = False self.basketActed = False self.directionActed = False # Solenoids self.hatchSolenoid = wpilib.DoubleSolenoid(0, 1) self.basketSolenoid = wpilib.DoubleSolenoid(2, 3) # Compressor self.compressor = wpilib.Compressor(0) # Camera Server wpilib.CameraServer.launch()
def createObjects(self): self.launcher_motor = CANSparkMax(7, MotorType.kBrushed) self.launcher_motor.restoreFactoryDefaults() self.launcher_motor.setOpenLoopRampRate(0) self.intake = WPI_VictorSPX(1) self.solenoid = wpilib.Solenoid(0) self.encoder = self.launcher_motor.getEncoder() # self.shooter_running = False self.logger.addFilter(PeriodicFilter(1, bypass_level=logging.WARN)) # 2000rpm is a good setting # set up joystick buttons self.joystick_left = wpilib.Joystick(0) self.joystick_right = wpilib.Joystick(1) self.joystick_alt = wpilib.Joystick(2) # self.left_button = Toggle(self.joystick_alt, 10) # self.middle_button = Toggle(self.joystick_alt, 11) # self.right_button = Toggle(self.joystick_alt, 12) self.one = JoystickButton(self.joystick_alt, 7) self.two = JoystickButton(self.joystick_alt, 8) self.three = JoystickButton(self.joystick_alt, 9) self.four = JoystickButton(self.joystick_alt, 10) self.five = JoystickButton(self.joystick_alt, 11) self.six = JoystickButton(self.joystick_alt, 12) self.intake_in = JoystickButton(self.joystick_alt, 3) self.intake_out = JoystickButton(self.joystick_alt, 4) self.btn_solenoid = JoystickButton(self.joystick_alt, 1) # Set up Speed Controller Groups self.left_motors = wpilib.SpeedControllerGroup(CANSparkMax(1, MotorType.kBrushless), CANSparkMax(2, MotorType.kBrushless), CANSparkMax(3, MotorType.kBrushless)) self.right_motors = wpilib.SpeedControllerGroup(CANSparkMax(4, MotorType.kBrushless), CANSparkMax(5, MotorType.kBrushless), CANSparkMax(6, MotorType.kBrushless)) # Drivetrain self.train = wpilib.drive.DifferentialDrive(self.left_motors, self.right_motors)
def __init__(self, port: int = robotmap.joystick): super().__init__(port) buttons = { 'a': 1, 'b': 2, 'x': 3, 'y': 4, 'bumper_l': 5, 'bumper_r': 6, 'back': 7, 'start': 8, 'l_3': 9, 'r_3': 10 } for button, number in buttons.items(): self.__dict__[str(button)] = JoystickButton(self, number)
def createObjects(self): """ Initialize all wpilib motors & sensors """ # Joysticks self.joystick_left = wpilib.Joystick(0) self.joystick_right = wpilib.Joystick(1) self.joystick_alt = wpilib.Joystick(2) self.btn_fine_movement = JoystickButton(self.joystick_right, 2) # Drive motor controllers # ID SCHEME: # 10^1: 1 = left, 2 = right # 10^0: 0 = front, 5 = rear self.lf_motor = WPI_TalonSRX(10) self.lr_motor = WPI_VictorSPX(15) self.rf_motor = WPI_TalonSRX(20) self.rr_motor = WPI_VictorSPX(25) self.lf_motor.configSelectedFeedbackSensor( WPI_TalonSRX.FeedbackDevice.CTRE_MagEncoder_Absolute ) self.rf_motor.configSelectedFeedbackSensor( WPI_TalonSRX.FeedbackDevice.CTRE_MagEncoder_Absolute ) # Following masters self.lr_motor.follow(self.lf_motor) self.rr_motor.follow(self.rf_motor) # Drive init self.train = wpilib.drive.DifferentialDrive( self.lf_motor, self.rf_motor ) # Arm self.arm_motor = WPI_TalonSRX(0) self.arm_motor.configSelectedFeedbackSensor( WPI_TalonSRX.FeedbackDevice.CTRE_MagEncoder_Absolute ) self.arm_limit = wpilib.DigitalInput(4) # Gyro self.gyro = navx.AHRS.create_spi() self.gyro.reset() self.control_loop_wait_time = 0.02
def __init__(self, robot): self.joy = wpilib.Joystick(0) # Put Some buttons on the SmartDashboard SmartDashboard.putData("Elevator Bottom", SetElevatorSetpoint(robot, 0)) SmartDashboard.putData("Elevator Platform", SetElevatorSetpoint(robot, 0.2)) SmartDashboard.putData("Elevator Top", SetElevatorSetpoint(robot, 0.3)) SmartDashboard.putData("Wrist Horizontal", SetWristSetpoint(robot, 0)) SmartDashboard.putData("Raise Wrist", SetWristSetpoint(robot, -45)) SmartDashboard.putData("Open Claw", OpenClaw(robot)) SmartDashboard.putData("Close Claw", CloseClaw(robot)) SmartDashboard.putData("Deliver Soda", Autonomous(robot)) # Create some buttons d_up = JoystickButton(self.joy, 5) d_right = JoystickButton(self.joy, 6) d_down = JoystickButton(self.joy, 7) d_left = JoystickButton(self.joy, 8) l2 = JoystickButton(self.joy, 9) r2 = JoystickButton(self.joy, 10) l1 = JoystickButton(self.joy, 11) r1 = JoystickButton(self.joy, 12) # Connect the buttons to commands d_up.whenPressed(SetElevatorSetpoint(robot, 0.2)) d_down.whenPressed(SetElevatorSetpoint(robot, -0.2)) d_right.whenPressed(CloseClaw(robot)) d_left.whenPressed(OpenClaw(robot)) r1.whenPressed(PrepareToPickup(robot)) r2.whenPressed(Pickup(robot)) l1.whenPressed(Place(robot)) l2.whenPressed(Autonomous(robot))
def robotInit(self): try: wpilib.CameraServer.launch() except: pass self.stick = wpilib.Joystick(0) self.base = Base(rev.CANSparkMax(4, rev.MotorType.kBrushless), rev.CANSparkMax(2, rev.MotorType.kBrushless), rev.CANSparkMax(3, rev.MotorType.kBrushless), rev.CANSparkMax(1, rev.MotorType.kBrushless), AHRS.create_spi(wpilib.SPI.Port.kMXP), self.stick) self.lift = Lift(WPI_TalonSRX(3), wpilib.DigitalInput(0), wpilib.DigitalInput(1), self.stick) self.arm = Arm(wpilib.Solenoid(5, 2), wpilib.Solenoid(5, 4), wpilib.Solenoid(5, 1), wpilib.Solenoid(5, 5), self.stick) self.testvar = 0 self.ballintake = BallIntake(WPI_TalonSRX(4)) try: self.ledController = LEDController.getInstance() except: pass # Various one-time initializations happen here. self.lift.initSensor() self.base.navx.reset() try: NetworkTables.initialize() except: pass try: self.visiontable = NetworkTables.getTable("visiontable") except: pass self.lights = False self.op = False self.testButton = JoystickButton(self.stick, 16) self.roller = Roller(WPI_TalonSRX(20), WPI_TalonSRX(10), self.stick, "init")
def createObjects(self): self.joystick = wpilib.Joystick(2) self.winch_button = JoystickButton(self.joystick, 6) self.cp_extend_button = JoystickButton(self.joystick, 5) self.cp_solenoid = wpilib.DoubleSolenoid(4, 5) self.cp_motor = CANSparkMax(10, MotorType.kBrushed) self.solenoid = wpilib.Solenoid(0) self.btn_solenoid = JoystickButton(self.joystick, 1) self.intake = WPI_VictorSPX(1) self.cp_motor_button = JoystickButton(self.joystick, 7) self.winch_motor = CANSparkMax(8, MotorType.kBrushless) self.six = JoystickButton(self.joystick, 12) self.shooter_motor = CANSparkMax(7, MotorType.kBrushed) self.shooter_motor.restoreFactoryDefaults() self.shooter_motor.setOpenLoopRampRate(0) self.intake_in = JoystickButton(self.joystick, 3) self.intake_out = JoystickButton(self.joystick, 4)