Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Copyright (c) 2017 FIRST. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted (subject to the limitations in the disclaimer below) provided that
- * the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice, this list
- * of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.
- *
- * Neither the name of FIRST nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS
- * LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- package org.firstinspires.ftc.teamcode;
- import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
- import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
- import com.qualcomm.robotcore.hardware.DcMotor;
- import com.qualcomm.robotcore.hardware.DcMotorSimple;
- import com.qualcomm.robotcore.hardware.Servo;
- import com.qualcomm.robotcore.util.ElapsedTime;
- /**
- * This file contains an minimal example of a Linear "OpMode". An OpMode is a 'program' that runs in either
- * the autonomous or the teleop period of an FTC match. The names of OpModes appear on the menu
- * of the FTC Driver Station. When an selection is made from the menu, the corresponding OpMode
- * class is instantiated on the Robot Controller and executed.
- *
- * This particular OpMode just executes a basic Tank Drive Teleop for a two wheeled robot
- * It includes all the skeletal structure that all linear OpModes contain.
- *
- * Use Android Studios to Copy this Class, and Paste it into your team's code folder with a new name.
- * Remove or comment out the @Disabled line to add this opmode to the Driver Station OpMode list
- */
- @TeleOp(name="GamepadCuSprint", group="Linear Opmode")
- //@Disabled
- public class GamepadCuSprint extends LinearOpMode {
- // Declare OpMode members.
- private ElapsedTime runtime = new ElapsedTime();
- DcMotor leftMotor;
- DcMotor rightMotor;
- DcMotor MotorPrindere;
- DcMotor MotorBrat;
- Servo ServoBrat;
- double power=0.5;
- double tpower=0.25;
- double spower=0.9;
- double servoposition=0.0;
- double powerbrat=20;
- @Override
- public void runOpMode() {
- telemetry.addData("Status", "Initialized");
- telemetry.update();
- leftMotor=hardwareMap.dcMotor.get("Left_Motor");
- rightMotor=hardwareMap.dcMotor.get("Right_Motor");
- MotorPrindere=hardwareMap.dcMotor.get("Motor_Prindere");
- MotorBrat=hardwareMap.dcMotor.get("Motor_Brat");
- ServoBrat=hardwareMap.servo.get("Servo_Brat");
- leftMotor.setDirection(DcMotorSimple.Direction.REVERSE);
- // Wait for the game to start (driver presses PLAY)
- waitForStart();
- runtime.reset();
- ServoBrat.setPosition(servoposition);
- // run until the end of the match (driver presses STOP)
- while (opModeIsActive()) {
- telemetry.addData("Status", "Run Time: " + runtime.toString());
- telemetry.update();
- if(gamepad1.right_bumper&&gamepad1.a)
- {leftMotor.setPower(power+spower);
- rightMotor.setPower(power+spower);
- }
- else
- {leftMotor.setPower(0.0);
- rightMotor.setPower(0.0);
- }
- if(gamepad1.right_bumper&&gamepad1.a==false)
- { leftMotor.setPower(power);
- rightMotor.setPower(power);
- }
- else
- {leftMotor.setPower(0.0);
- rightMotor.setPower(0.0);
- }
- if(gamepad1.left_bumper&&gamepad1.a)
- {leftMotor.setPower(-power-spower);
- rightMotor.setPower(-power-spower);
- }
- else
- {leftMotor.setPower(0.0);
- rightMotor.setPower(0.0);
- }
- if(gamepad1.left_bumper&&gamepad1.a==false)
- {
- leftMotor.setPower(-power);
- rightMotor.setPower(-power);
- }
- else
- {leftMotor.setPower(0.0);
- rightMotor.setPower(0.0);
- }
- if(gamepad1.dpad_right)
- {leftMotor.setPower(tpower);
- rightMotor.setPower(-tpower);
- }
- else
- {leftMotor.setPower(0.0);
- rightMotor.setPower(0.0);
- }
- if(gamepad1.dpad_left)
- {leftMotor.setPower(-tpower);
- rightMotor.setPower(tpower);
- }
- else
- {leftMotor.setPower(0.0);
- rightMotor.setPower(0.0);
- }
- if(gamepad2.right_bumper) MotorPrindere.setPower(power);
- else MotorPrindere.setPower(0.0);
- if(gamepad2.left_bumper) MotorPrindere.setPower(-power);
- else MotorPrindere.setPower(0.0);
- if(gamepad2.dpad_up) {
- MotorBrat.setDirection(DcMotorSimple.Direction.FORWARD);
- MotorBrat.setPower(powerbrat);
- }
- else MotorBrat.setPower(0.0);
- if(gamepad2.dpad_down) {
- MotorBrat.setDirection(DcMotorSimple.Direction.REVERSE);
- MotorBrat.setPower(powerbrat);
- }
- else MotorBrat.setPower(0.0);
- if(gamepad2.b)
- {
- servoposition = 1.0;
- ServoBrat.setPosition(servoposition);
- }
- if(gamepad2.x)
- {servoposition=0.0;
- ServoBrat.setPosition(servoposition);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement