mirror of
https://github.com/TimeCrafters/FTC_2022
synced 2025-12-15 20:12:35 +00:00
Tank drive w/ bumper strafe, playing with LEDS and sensors.
This commit is contained in:
@@ -3,12 +3,16 @@ package org.timecrafters.testing.engine;
|
||||
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||
import org.timecrafters.testing.states.LaserState;
|
||||
import org.timecrafters.testing.states.SodiLEDState;
|
||||
import org.timecrafters.testing.states.SodiState;
|
||||
|
||||
@TeleOp(name = "Wheel")
|
||||
public class SodiEngine extends CyberarmEngine {
|
||||
@Override
|
||||
public void setup() {
|
||||
addState(new SodiState());
|
||||
// addState(new SodiState());
|
||||
// addState(new SodiLEDState());
|
||||
addState(new LaserState());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package org.timecrafters.testing.states;
|
||||
|
||||
import com.qualcomm.hardware.rev.Rev2mDistanceSensor;
|
||||
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;
|
||||
|
||||
public class LaserState extends CyberarmState {
|
||||
Rev2mDistanceSensor laser;
|
||||
RevTouchSensor Tack;
|
||||
RevTouchSensor Mag;
|
||||
ColorSensor Speck;
|
||||
|
||||
|
||||
@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() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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