mirror of
https://github.com/TimeCrafters/FTC_2022
synced 2025-12-15 21:22:33 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
package org.timecrafters.minibots.cyberarm;
|
||||||
|
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||||
|
import org.timecrafters.minibots.cyberarm.engines.Common;
|
||||||
|
|
||||||
|
@TeleOp (name = "light test")
|
||||||
|
|
||||||
|
public class Engine extends CyberarmEngine {
|
||||||
|
|
||||||
|
Common robot;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
|
||||||
|
robot = new Common(this);
|
||||||
|
|
||||||
|
addState(new State(robot));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package org.timecrafters.minibots.cyberarm;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
import org.timecrafters.minibots.cyberarm.engines.Common;
|
||||||
|
|
||||||
|
public class State extends CyberarmState {
|
||||||
|
|
||||||
|
private final Common robot;
|
||||||
|
|
||||||
|
public State (Common robot) { this.robot = robot; }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
|
||||||
|
if (engine.gamepad1.a) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.COLOR_WAVES_FOREST_PALETTE);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (engine.gamepad1.x) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.BLUE);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.COLOR_WAVES_OCEAN_PALETTE);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (engine.gamepad1.y) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.YELLOW);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.STROBE_GOLD);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (engine.gamepad1.b) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.RED);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
robot.leds.setPattern(RevBlinkinLedDriver.BlinkinPattern.COLOR_WAVES_LAVA_PALETTE);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package org.timecrafters.minibots.cyberarm.engines;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||||
|
|
||||||
|
public class Common {
|
||||||
|
|
||||||
|
private CyberarmEngine engine;
|
||||||
|
|
||||||
|
public RevBlinkinLedDriver leds;
|
||||||
|
|
||||||
|
public Common (CyberarmEngine engine) {
|
||||||
|
|
||||||
|
this.engine = engine;
|
||||||
|
|
||||||
|
setupRobot ();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupRobot () {
|
||||||
|
|
||||||
|
leds = engine.hardwareMap.get(RevBlinkinLedDriver.class, "lights");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package org.timecrafters.minibots.cyberarm.engines;
|
||||||
|
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||||
|
import org.timecrafters.minibots.cyberarm.states.MecanumRobot;
|
||||||
|
import org.timecrafters.minibots.cyberarm.states.PingPongState;
|
||||||
|
|
||||||
|
@TeleOp (name = "Sodi PingPong")
|
||||||
|
|
||||||
|
public class PingPongEngine extends CyberarmEngine {
|
||||||
|
|
||||||
|
MecanumRobot robot;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
|
||||||
|
robot = new MecanumRobot(this);
|
||||||
|
|
||||||
|
addState(new PingPongState(robot));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
package org.timecrafters.minibots.cyberarm.states;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
import com.qualcomm.robotcore.hardware.CRServo;
|
||||||
|
import com.qualcomm.robotcore.hardware.DcMotor;
|
||||||
|
import com.qualcomm.robotcore.hardware.Servo;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
|
||||||
|
public class AssignmentOmniKinetic extends CyberarmState {
|
||||||
|
CRServo Wheel, Rack;
|
||||||
|
DcMotor Three, Zero, Two, One;
|
||||||
|
Servo Zygo;
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
super.init();
|
||||||
|
|
||||||
|
Wheel=engine.hardwareMap.crservo.get("Wheel");
|
||||||
|
Rack=engine.hardwareMap.crservo.get("Rack");
|
||||||
|
Three=engine.hardwareMap.dcMotor.get("Three");
|
||||||
|
Zero=engine.hardwareMap.dcMotor.get("Zero");
|
||||||
|
Two=engine.hardwareMap.dcMotor.get("Two");
|
||||||
|
One=engine.hardwareMap.dcMotor.get("One");
|
||||||
|
Zygo=engine.hardwareMap.servo.get("Zygo");
|
||||||
|
}
|
||||||
|
MecanumRobot robot;
|
||||||
|
public AssignmentOmniKinetic (MecanumRobot robot) {this.robot = robot;}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
|
||||||
|
if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
robot.frontLeftDrive.setPower(1);
|
||||||
|
robot.frontRightDrive.setPower(1);
|
||||||
|
robot.backLeftDrive.setPower(1);
|
||||||
|
robot.backRightDrive.setPower(1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.dpad_down) {
|
||||||
|
|
||||||
|
robot.frontLeftDrive.setPower(-1);
|
||||||
|
robot.frontRightDrive.setPower(-1);
|
||||||
|
robot.backLeftDrive.setPower(-1);
|
||||||
|
robot.backRightDrive.setPower(-1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.dpad_left) {
|
||||||
|
|
||||||
|
robot.frontLeftDrive.setPower(1);
|
||||||
|
robot.frontRightDrive.setPower(-1);
|
||||||
|
robot.backLeftDrive.setPower(-1);
|
||||||
|
robot.backRightDrive.setPower(1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.) {
|
||||||
|
|
||||||
|
robot.frontLeftDrive.setPower(-1);
|
||||||
|
robot.frontRightDrive.setPower(1);
|
||||||
|
robot.backLeftDrive.setPower(1);
|
||||||
|
robot.backRightDrive.setPower(-1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.) {
|
||||||
|
|
||||||
|
robot.frontLeftDrive.setPower(-1);
|
||||||
|
robot.frontRightDrive.setPower(1);
|
||||||
|
robot.backLeftDrive.setPower(1);
|
||||||
|
robot.backRightDrive.setPower(-1);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (engine.gamepad1.left_bumper) {
|
||||||
|
|
||||||
|
Zygo.setPosition(1.0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.right_bumper) {
|
||||||
|
Zygo.setPosition(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.a) {
|
||||||
|
|
||||||
|
engine.hardwareMap.led.get(String.valueOf(RevBlinkinLedDriver.BlinkinPattern.GREEN));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.b) {
|
||||||
|
|
||||||
|
engine.hardwareMap.led.get(String.valueOf(RevBlinkinLedDriver.BlinkinPattern.RED));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.x) {
|
||||||
|
|
||||||
|
engine.hardwareMap.led.get(String.valueOf(RevBlinkinLedDriver.BlinkinPattern.BLUE));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (engine.gamepad1.y) {
|
||||||
|
|
||||||
|
engine.hardwareMap.led.get(String.valueOf(RevBlinkinLedDriver.BlinkinPattern.YELLOW));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package org.timecrafters.minibots.cyberarm.states;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
|
||||||
|
public class AutonomousReversalExperiment extends CyberarmState {
|
||||||
|
|
||||||
|
MecanumRobot robot;
|
||||||
|
public AutonomousReversalExperiment (MecanumRobot robot) {
|
||||||
|
this.robot = robot;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
|
||||||
|
if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package org.timecrafters.minibots.cyberarm.states;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
|
||||||
|
public class PingPongState extends CyberarmState {
|
||||||
|
|
||||||
|
private final MecanumRobot robot;
|
||||||
|
public PingPongState(MecanumRobot robot) {
|
||||||
|
this.robot = robot;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
|
||||||
|
if (engine.gamepad1.left_bumper) {
|
||||||
|
robot.frontLeftDrive.setPower(1);
|
||||||
|
robot.backLeftDrive.setPower(-1);
|
||||||
|
robot.backRightDrive.setPower(1);
|
||||||
|
robot.frontRightDrive.setPower(-1);
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.right_bumper) {
|
||||||
|
robot.frontLeftDrive.setPower(-1);
|
||||||
|
robot.backLeftDrive.setPower(1);
|
||||||
|
robot.frontRightDrive.setPower(1);
|
||||||
|
robot.backRightDrive.setPower(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
robot.backLeftDrive.setPower(engine.gamepad1.left_stick_y);
|
||||||
|
robot.frontLeftDrive.setPower(engine.gamepad1.left_stick_y);
|
||||||
|
robot.backRightDrive.setPower(engine.gamepad1.right_stick_y);
|
||||||
|
robot.frontRightDrive.setPower(engine.gamepad1.right_stick_y);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,12 +3,16 @@ package org.timecrafters.testing.engine;
|
|||||||
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||||
|
|
||||||
import org.cyberarm.engine.V2.CyberarmEngine;
|
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||||
|
import org.timecrafters.testing.states.LaserState;
|
||||||
|
import org.timecrafters.testing.states.SodiLEDState;
|
||||||
import org.timecrafters.testing.states.SodiState;
|
import org.timecrafters.testing.states.SodiState;
|
||||||
|
|
||||||
@TeleOp(name = "Wheel")
|
@TeleOp(name = "Wheel")
|
||||||
public class SodiEngine extends CyberarmEngine {
|
public class SodiEngine extends CyberarmEngine {
|
||||||
@Override
|
@Override
|
||||||
public void setup() {
|
public void setup() {
|
||||||
addState(new SodiState());
|
// addState(new SodiState());
|
||||||
|
// addState(new SodiLEDState());
|
||||||
|
addState(new LaserState());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package org.timecrafters.testing.states;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.Rev2mDistanceSensor;
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
import com.qualcomm.hardware.rev.RevTouchSensor;
|
||||||
|
import com.qualcomm.robotcore.hardware.ColorSensor;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit;
|
||||||
|
import org.timecrafters.minibots.cyberarm.states.MecanumRobot;
|
||||||
|
|
||||||
|
public class LaserState extends CyberarmState {
|
||||||
|
Rev2mDistanceSensor laser;
|
||||||
|
RevTouchSensor Tack;
|
||||||
|
RevTouchSensor Mag;
|
||||||
|
ColorSensor Speck;
|
||||||
|
|
||||||
|
MecanumRobot robot;
|
||||||
|
|
||||||
|
public LaserState(MecanumRobot robot) {
|
||||||
|
this.robot = robot;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LaserState() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
laser = engine.hardwareMap.get(Rev2mDistanceSensor.class, "Zappy");
|
||||||
|
Tack = engine.hardwareMap.get(RevTouchSensor.class, "Pokey");
|
||||||
|
Mag = engine.hardwareMap.get(RevTouchSensor.class, "Electro");
|
||||||
|
Speck = engine.hardwareMap.get(ColorSensor.class, "Chroma");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void telemetry() {
|
||||||
|
engine.telemetry.addData("Laser Distance", laser.getDistance(DistanceUnit.CM));
|
||||||
|
engine.telemetry.addData("The Feels", Tack.isPressed());
|
||||||
|
engine.telemetry.addData("Eel", Mag.isPressed());
|
||||||
|
engine.telemetry.addData("Pretty Colors", ", Red " + Speck.red() + ", Green " + Speck.green() + ", Blue " + Speck.blue());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
|
||||||
|
if (Tack.isPressed() & !Mag.isPressed()) {
|
||||||
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
|
} else {
|
||||||
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.RED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package org.timecrafters.testing.states;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
import org.timecrafters.minibots.cyberarm.engines.Common;
|
||||||
|
|
||||||
|
public class SodiLEDState extends CyberarmState {
|
||||||
|
|
||||||
|
RevBlinkinLedDriver LEDs;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
LEDs = engine.hardwareMap.get(RevBlinkinLedDriver.class, "lights");
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
|
||||||
|
if (engine.gamepad1.a) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.CP1_LIGHT_CHASE);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (engine.gamepad1.x) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.BLUE);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.CP1_LIGHT_CHASE);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (engine.gamepad1.y) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.YELLOW);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.CP1_LIGHT_CHASE);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (engine.gamepad1.b) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.RED);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (engine.gamepad1.dpad_up) {
|
||||||
|
|
||||||
|
LEDs.setPattern(RevBlinkinLedDriver.BlinkinPattern.CP1_LIGHT_CHASE);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user