Tank drive w/ bumper strafe, playing with LEDS and sensors.

This commit is contained in:
Sodi
2022-09-01 18:58:12 -05:00
parent 66abbe2897
commit 0b74a5dde5
3 changed files with 104 additions and 1 deletions

View File

@@ -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());
}
}

View File

@@ -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() {
}
}

View File

@@ -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);
}
}
}