mirror of
https://github.com/TimeCrafters/UltimateGoal.git
synced 2025-12-16 14:02:34 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
2
.idea/compiler.xml
generated
2
.idea/compiler.xml
generated
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CompilerConfiguration">
|
<component name="CompilerConfiguration">
|
||||||
<bytecodeTargetLevel target="11" />
|
<bytecodeTargetLevel target="1.8" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -21,7 +21,7 @@ public class CalibrateRingBeltLoop extends CyberarmState {
|
|||||||
public void exec() {
|
public void exec() {
|
||||||
|
|
||||||
currentTick = robot.ringBeltMotor.getCurrentPosition();
|
currentTick = robot.ringBeltMotor.getCurrentPosition();
|
||||||
limit = robot.limitSwitch.isPressed();
|
limit = robot.magnetSensor.isPressed();
|
||||||
|
|
||||||
if (engine.gamepad1.x || (engine.gamepad1.a && !limit)) {
|
if (engine.gamepad1.x || (engine.gamepad1.a && !limit)) {
|
||||||
robot.ringBeltMotor.setPower(0.5);
|
robot.ringBeltMotor.setPower(0.5);
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class Launch extends CyberarmState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//detect when limit switch is initially triggered
|
//detect when limit switch is initially triggered
|
||||||
boolean detectingPass = robot.limitSwitch.isPressed();
|
boolean detectingPass = robot.magnetSensor.isPressed();
|
||||||
int beltPos = robot.ringBeltMotor.getCurrentPosition();
|
int beltPos = robot.ringBeltMotor.getCurrentPosition();
|
||||||
if (detectingPass && !detectedPass) {
|
if (detectingPass && !detectedPass) {
|
||||||
//finish once the ring belt has cycled all the way through and then returned to
|
//finish once the ring belt has cycled all the way through and then returned to
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class FindLimitSwitch extends CyberarmState {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void exec() {
|
public void exec() {
|
||||||
if (robot.limitSwitch.isPressed()) {
|
if (robot.magnetSensor.isPressed()) {
|
||||||
robot.ringBeltMotor.setPower(0);
|
robot.ringBeltMotor.setPower(0);
|
||||||
setHasFinished(true);
|
setHasFinished(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class ResetRingBelt extends CyberarmState {
|
|||||||
@Override
|
@Override
|
||||||
public void exec() {
|
public void exec() {
|
||||||
//detect when limit switch is initially triggered
|
//detect when limit switch is initially triggered
|
||||||
boolean detectingPass = robot.limitSwitch.isPressed();
|
boolean detectingPass = robot.magnetSensor.isPressed();
|
||||||
int beltPos = robot.ringBeltMotor.getCurrentPosition();
|
int beltPos = robot.ringBeltMotor.getCurrentPosition();
|
||||||
|
|
||||||
if (detectingPass && !detectedPass) {
|
if (detectingPass && !detectedPass) {
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ public class Robot {
|
|||||||
|
|
||||||
//Ring Belt
|
//Ring Belt
|
||||||
public DcMotor ringBeltMotor;
|
public DcMotor ringBeltMotor;
|
||||||
public RevTouchSensor limitSwitch;
|
public RevTouchSensor magnetSensor;
|
||||||
public int ringBeltStage;
|
public int ringBeltStage;
|
||||||
public int ringBeltGap = 700;
|
public int ringBeltGap = 700;
|
||||||
public static final double RING_BELT_SLOW_POWER = 0.2;
|
public static final double RING_BELT_SLOW_POWER = 0.2;
|
||||||
@@ -256,7 +256,7 @@ public class Robot {
|
|||||||
ringBeltMotor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
ringBeltMotor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||||
ringBeltMotor .setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
ringBeltMotor .setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||||
|
|
||||||
limitSwitch = hardwareMap.get(RevTouchSensor.class, "magLim");
|
magnetSensor = hardwareMap.get(RevTouchSensor.class, "magLim");
|
||||||
|
|
||||||
beltMaxStopTime = stateConfiguration.variable(
|
beltMaxStopTime = stateConfiguration.variable(
|
||||||
"system","belt", "maxStopTime").value();
|
"system","belt", "maxStopTime").value();
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package org.timecrafters.javaClass.aubrey;
|
package org.timecrafters.javaClass.aubrey;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
|
||||||
import org.cyberarm.engine.V2.CyberarmState;
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
import org.timecrafters.javaClass.samples.SampleRobot;
|
import org.timecrafters.javaClass.samples.SampleRobot;
|
||||||
|
|
||||||
@@ -27,7 +29,7 @@ public class dance extends CyberarmState {
|
|||||||
powerWorks = 0;
|
powerWorks = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
robot. ledDriver. setPattern(RevBlinkinLedDriver.BlinkinPattern.RAINBOW_RAINBOW_PALETTE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,27 +1,30 @@
|
|||||||
package org.timecrafters.javaClass.samples;
|
package org.timecrafters.javaClass.samples;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
|
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||||
|
|
||||||
import org.cyberarm.engine.V2.CyberarmEngine;
|
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||||
import org.timecrafters.UltimateGoal.Competition.Robot;
|
import org.timecrafters.UltimateGoal.Competition.Robot;
|
||||||
import org.timecrafters.javaClass.aubrey.AubreyFirstState;
|
import org.timecrafters.javaClass.aubrey.AubreyFirstState;
|
||||||
import org.timecrafters.javaClass.spencer.SpencerFirstState;
|
import org.timecrafters.javaClass.spencer.SpencerFirstState;
|
||||||
|
|
||||||
@Autonomous (name = "Spencer: First Program", group = "spencer")
|
@TeleOp(name = "Spencer: Buttons", group = "spencer")
|
||||||
public class SpencerFirstEngine extends CyberarmEngine {
|
public class SpencerFirstEngine extends CyberarmEngine {
|
||||||
|
|
||||||
SampleRobot robot;
|
SampleRobot robot;
|
||||||
|
boolean yBeingPressed;
|
||||||
@Override
|
@Override
|
||||||
public void init() {
|
public void init() {
|
||||||
robot = new SampleRobot(hardwareMap);
|
robot = new SampleRobot(hardwareMap);
|
||||||
robot.initHardware();
|
robot.initHardware();
|
||||||
robot.wobbleGrabServo.setPosition(Robot.WOBBLE_SERVO_CLOSED);
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
super.init();
|
super.init();
|
||||||
|
yBeingPressed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setup() {
|
public void setup() {
|
||||||
addState(new SpencerFirstState(robot));
|
addState(new Spencer_buttons(robot,yBeingPressed));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package org.timecrafters.javaClass.samples;
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
|
||||||
|
public class Spencer_buttons extends CyberarmState {
|
||||||
|
public Spencer_buttons(SampleRobot robot, boolean yBeingPressed) {
|
||||||
|
this.robot = robot;
|
||||||
|
this.yBeingPressed = yBeingPressed;
|
||||||
|
}
|
||||||
|
SampleRobot robot;
|
||||||
|
boolean yBeingPressed;
|
||||||
|
int Lights = 0;
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
if (engine.gamepad1.y && !yBeingPressed){
|
||||||
|
yBeingPressed = true;
|
||||||
|
Lights ++;
|
||||||
|
if (Lights>4)Lights = 1;
|
||||||
|
switch (Lights) {
|
||||||
|
case 1:
|
||||||
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.RED);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.BLUE);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GOLD);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (!engine.gamepad1.y && yBeingPressed){
|
||||||
|
yBeingPressed = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
package org.timecrafters.javaClass.samples.samples;
|
|
||||||
|
|
||||||
import org.cyberarm.engine.V2.CyberarmState;
|
|
||||||
import org.timecrafters.javaClass.samples.SampleRobot;
|
|
||||||
|
|
||||||
public class BlankStuff extends CyberarmState {
|
|
||||||
|
|
||||||
//here, you'll find some of your variables. you can add more as you need them.
|
|
||||||
private SampleRobot robot;
|
|
||||||
|
|
||||||
//This is the constructor. It lets other code bits run use the code you put here
|
|
||||||
public BlankStuff(SampleRobot robot) {
|
|
||||||
this.robot = robot;
|
|
||||||
}
|
|
||||||
|
|
||||||
//This is a method. methods are bits of code that can be run elsewhere.
|
|
||||||
//This one is set up to repeat every few milliseconds
|
|
||||||
@Override
|
|
||||||
public void exec() {
|
|
||||||
|
|
||||||
double targetDistance = robot.inchesToTicks(12);
|
|
||||||
if (robot.encoderLeft.getCurrentPosition() <= targetDistance) {
|
|
||||||
robot.driveBackRight.setPower(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package org.timecrafters.javaClass.samples.samples;
|
||||||
|
|
||||||
|
import com.qualcomm.robotcore.hardware.DcMotor;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmState;
|
||||||
|
import org.timecrafters.UltimateGoal.Competition.Robot;
|
||||||
|
|
||||||
|
public class blankTHing extends CyberarmState {
|
||||||
|
|
||||||
|
private Robot robot;
|
||||||
|
private float trigger;
|
||||||
|
private int someOtherValue = 100;
|
||||||
|
|
||||||
|
|
||||||
|
public blankTHing(Robot robot) {
|
||||||
|
this.robot = robot;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
robot.ringBeltMotor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||||
|
robot.ringBeltMotor.setTargetPosition(0);
|
||||||
|
robot.ringBeltMotor.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exec() {
|
||||||
|
|
||||||
|
robot.magnetSensor.isPressed();
|
||||||
|
|
||||||
|
robot.ringBeltMotor.setTargetPosition(robot.ringBeltMotor.getCurrentPosition() + someOtherValue);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package org.timecrafters.javaClass.samples;
|
||||||
|
|
||||||
|
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||||
|
|
||||||
|
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||||
|
import org.timecrafters.UltimateGoal.Competition.Robot;
|
||||||
|
import org.timecrafters.javaClass.aubrey.AubreyFirstState;
|
||||||
|
import org.timecrafters.javaClass.spencer.SpencerFirstState;
|
||||||
|
|
||||||
|
@TeleOp(name = "Spencer: runrobot", group = "spencer")
|
||||||
|
public class spencer_robotrun_engine extends CyberarmEngine {
|
||||||
|
|
||||||
|
SampleRobot robot;
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
robot = new SampleRobot(hardwareMap);
|
||||||
|
robot.initHardware();
|
||||||
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
|
super.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
addState(new SpencerFirstState(robot));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -52,46 +52,46 @@ public class SpencerFirstState extends CyberarmState {
|
|||||||
robot.driveBackRight.setPower(-rightStick);
|
robot.driveBackRight.setPower(-rightStick);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean a = engine.gamepad1.a;
|
/* boolean a = engine.gamepad1.a;
|
||||||
if (engine.gamepad1.a && !aPrev) {
|
if (engine.gamepad1.a && !aPrev) {
|
||||||
if (drivepower == 1) {
|
if (drivepower == 1) {
|
||||||
drivepower = 0.5;
|
drivepower = 0.5;
|
||||||
} else {
|
} else {
|
||||||
drivepower = 1;
|
drivepower = 1;
|
||||||
}
|
}
|
||||||
engine.gamepad1.a = aPrev;
|
engine.gamepad1.a = aPrev;*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*this is left bumper section... strafe to the left*/
|
/*this is left bumper section... strafe to the left*/
|
||||||
if (leftBumper) {
|
if (leftBumper) {
|
||||||
robot.driveFrontLeft.setPower(-1);
|
robot.driveFrontLeft.setPower(-1);
|
||||||
robot.driveFrontRight.setPower(1);
|
robot.driveFrontRight.setPower(1);
|
||||||
robot.driveBackLeft.setPower(1);
|
robot.driveBackLeft.setPower(1);
|
||||||
robot.driveBackRight.setPower(-1);
|
robot.driveBackRight.setPower(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* right bumper section ... strafe to the right*/
|
||||||
|
else if (rightBumper) {
|
||||||
|
robot.driveFrontLeft.setPower(1);
|
||||||
|
robot.driveFrontRight.setPower(-1);
|
||||||
|
robot.driveBackLeft.setPower(-1);
|
||||||
|
robot.driveBackRight.setPower(1);
|
||||||
|
} else {
|
||||||
|
robot.driveFrontLeft.setPower(-leftStick);
|
||||||
|
robot.driveFrontRight.setPower(-rightStick);
|
||||||
|
robot.driveBackLeft.setPower(-leftStick);
|
||||||
|
robot.driveBackRight.setPower(-rightStick);
|
||||||
|
}
|
||||||
|
/* y section ... when y is pressed fly wheel starts, when y is pressed again fly wheel stops*/
|
||||||
|
|
||||||
|
if (y) {
|
||||||
|
robot.launchMotor.setPower(1);
|
||||||
|
|
||||||
|
if (a) {
|
||||||
|
robot.launchMotor.setPower(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* right bumper section ... strafe to the right*/
|
|
||||||
else if (rightBumper) {
|
|
||||||
robot.driveFrontLeft.setPower(1);
|
|
||||||
robot.driveFrontRight.setPower(-1);
|
|
||||||
robot.driveBackLeft.setPower(-1);
|
|
||||||
robot.driveBackRight.setPower(1);
|
|
||||||
} else {
|
|
||||||
robot.driveFrontLeft.setPower(-leftStick);
|
|
||||||
robot.driveFrontRight.setPower(-rightStick);
|
|
||||||
robot.driveBackLeft.setPower(-leftStick);
|
|
||||||
robot.driveBackRight.setPower(-rightStick);
|
|
||||||
}
|
|
||||||
/* y section ... when y is pressed fly wheel starts, when y is pressed again fly wheel stops*/
|
|
||||||
|
|
||||||
boolean changed = false; //outside of loop
|
|
||||||
if (engine.gamepad1.y && !changed) {
|
|
||||||
if (robot.launchMotor.getPower() == 0) robot.launchMotor.setPower(1);
|
|
||||||
else robot.launchMotor.setPower(0);
|
|
||||||
changed = true;
|
|
||||||
} else if (!engine.gamepad1.y) changed = false;
|
|
||||||
|
|
||||||
/*right Trigger section ... when right trigger is held collection wheels suck rings*/
|
/*right Trigger section ... when right trigger is held collection wheels suck rings*/
|
||||||
|
|
||||||
boolean rightTriggerB = (rightTrigger >= 0.5);
|
boolean rightTriggerB = (rightTrigger >= 0.5);
|
||||||
@@ -102,9 +102,9 @@ public class SpencerFirstState extends CyberarmState {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (engine.gamepad1.b) {
|
/* if (engine.gamepad1.b) {
|
||||||
robot.ringBeltMotor.setPower(-0.5);
|
robot.ringBeltMotor.setPower(-0.5);
|
||||||
}
|
}*/
|
||||||
/*left trigger ... when left trigger is held tracks moves ring, when trigger is let go track stops*/
|
/*left trigger ... when left trigger is held tracks moves ring, when trigger is let go track stops*/
|
||||||
|
|
||||||
if (leftTrigger >= 0.5) {
|
if (leftTrigger >= 0.5) {
|
||||||
@@ -119,8 +119,6 @@ public class SpencerFirstState extends CyberarmState {
|
|||||||
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.BLUE);
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.BLUE);
|
||||||
} else if (rightTriggerB) {
|
} else if (rightTriggerB) {
|
||||||
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GOLD);
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GOLD);
|
||||||
} else if (drivepower == 0.5){
|
|
||||||
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.ORANGE);
|
|
||||||
} else {
|
} else {
|
||||||
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
robot.ledDriver.setPattern(RevBlinkinLedDriver.BlinkinPattern.GREEN);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user