mirror of
https://github.com/TimeCrafters/FTC_2022
synced 2025-12-13 06:22:33 +00:00
Minibot program- day 1
This commit is contained in:
@@ -14,7 +14,7 @@ import org.timecrafters.Autonomous.States.PathDecision;
|
||||
import org.timecrafters.Autonomous.States.RotationState;
|
||||
import org.timecrafters.Autonomous.States.ServoCameraRotate;
|
||||
import org.timecrafters.Autonomous.States.TopArm;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.TeleOp.states.PhoenixBot1;
|
||||
|
||||
//@Autonomous (name = "Left Side")
|
||||
@Disabled
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.timecrafters.Autonomous.Engines;
|
||||
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.TeleOp.states.PhoenixBot1;
|
||||
|
||||
@Autonomous(name = "Left Side", group = "A Phoenix", preselectTeleOp = "APhoenixTeleOP")
|
||||
public class LeftStateAutoEngine extends CyberarmEngine {
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package org.timecrafters.Autonomous.Engines;
|
||||
|
||||
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||
import org.timecrafters.Autonomous.States.BottomArm;
|
||||
import org.timecrafters.Autonomous.States.CollectorDistanceState;
|
||||
@@ -15,7 +13,7 @@ import org.timecrafters.Autonomous.States.PathDecision;
|
||||
import org.timecrafters.Autonomous.States.RotationState;
|
||||
import org.timecrafters.Autonomous.States.ServoCameraRotate;
|
||||
import org.timecrafters.Autonomous.States.TopArm;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.TeleOp.states.PhoenixBot1;
|
||||
|
||||
//@Autonomous (name = "left 2 cone auto")
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.qualcomm.robotcore.hardware.DcMotor;
|
||||
import org.cyberarm.engine.V2.CyberarmState;
|
||||
import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit;
|
||||
import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.TeleOp.states.PhoenixBot1;
|
||||
|
||||
public class JunctionAllignmentAngleState extends CyberarmState {
|
||||
private final boolean stateDisabled;
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.timecrafters.Autonomous.States;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmState;
|
||||
import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.TeleOp.states.PhoenixBot1;
|
||||
|
||||
public class JunctionAllignmentDistanceState extends CyberarmState {
|
||||
private final boolean stateDisabled;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.timecrafters.Autonomous.States;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmState;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.TeleOp.states.PhoenixBot1;
|
||||
|
||||
public class PathDecision extends CyberarmState {
|
||||
PhoenixBot1 robot;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.engine;
|
||||
package org.timecrafters.TeleOp.engine;
|
||||
|
||||
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.TeleOPTankDriver;
|
||||
import org.timecrafters.Autonomous.TeleOp.states.TeleOPArmDriver;
|
||||
import org.timecrafters.TeleOp.states.PhoenixBot1;
|
||||
import org.timecrafters.TeleOp.states.TeleOPArmDriver;
|
||||
import org.timecrafters.TeleOp.states.TeleOPTankDriver;
|
||||
|
||||
@TeleOp (name = "APhoenixTeleOP")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.engine;
|
||||
package org.timecrafters.TeleOp.engine;
|
||||
|
||||
import com.qualcomm.hardware.bosch.BNO055IMU;
|
||||
import com.qualcomm.robotcore.hardware.CRServo;
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.states;
|
||||
package org.timecrafters.TeleOp.states;
|
||||
|
||||
import com.qualcomm.hardware.rev.Rev2mDistanceSensor;
|
||||
import com.qualcomm.robotcore.hardware.Servo;
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.states;
|
||||
package org.timecrafters.TeleOp.states;
|
||||
|
||||
import com.qualcomm.hardware.rev.Rev2mDistanceSensor;
|
||||
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.states;
|
||||
package org.timecrafters.TeleOp.states;
|
||||
|
||||
import com.qualcomm.hardware.adafruit.AdafruitI2cColorSensor;
|
||||
import com.qualcomm.hardware.bosch.BNO055IMU;
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.states;
|
||||
package org.timecrafters.TeleOp.states;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.states;
|
||||
package org.timecrafters.TeleOp.states;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmState;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.timecrafters.Autonomous.TeleOp.states;
|
||||
package org.timecrafters.TeleOp.states;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmState;
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package org.timecrafters.minibots.engines;
|
||||
|
||||
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmEngine;
|
||||
import org.timecrafters.minibots.states.Mini2023Bot;
|
||||
import org.timecrafters.minibots.states.Mini2023State;
|
||||
|
||||
@TeleOp (name= "2023Mini")
|
||||
|
||||
public class Mini2023Engine extends CyberarmEngine {
|
||||
|
||||
Mini2023Bot robot;
|
||||
|
||||
@Override
|
||||
public void setup() {
|
||||
|
||||
robot = new Mini2023Bot(this);
|
||||
addState(new Mini2023State(robot));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package org.timecrafters.minibots.states;
|
||||
|
||||
import com.qualcomm.robotcore.hardware.CRServo;
|
||||
import com.qualcomm.robotcore.hardware.DcMotor;
|
||||
|
||||
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration;
|
||||
import org.timecrafters.minibots.engines.Mini2023Engine;
|
||||
|
||||
public class Mini2023Bot {
|
||||
|
||||
private final Mini2023Engine engine;
|
||||
public TimeCraftersConfiguration configuration;
|
||||
|
||||
public DcMotor Opportunity, Spirit, Ingenuity;
|
||||
public CRServo servoA, servoB, servoC;
|
||||
|
||||
public Mini2023Bot(Mini2023Engine engine) {
|
||||
this.engine = engine;
|
||||
setupRobot();
|
||||
}
|
||||
|
||||
private void setupRobot() {
|
||||
|
||||
Opportunity = engine.hardwareMap.get(DcMotor.class, "Left Wheel");
|
||||
Spirit = engine.hardwareMap.get(DcMotor.class, "Right Wheel");
|
||||
|
||||
servoA = engine.hardwareMap.get(CRServo.class, "Servo 1");
|
||||
servoB = engine.hardwareMap.get(CRServo.class, "Servo 2");
|
||||
servoC = engine.hardwareMap.get(CRServo.class, "Servo 3");
|
||||
|
||||
|
||||
|
||||
// configuration = new TimeCraftersConfiguration("2023 Mini");
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.timecrafters.minibots.states;
|
||||
|
||||
import org.cyberarm.engine.V2.CyberarmState;
|
||||
import org.timecrafters.minibots.engines.Mini2023Engine;
|
||||
|
||||
public class Mini2023State extends CyberarmState {
|
||||
private final Mini2023Bot robot;
|
||||
|
||||
public double driveSpeed, orbitSpeed;
|
||||
|
||||
public Mini2023State(Mini2023Bot robot) {this.robot = robot;}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
driveSpeed = 0;
|
||||
orbitSpeed = 0;
|
||||
robot.servoA.setPower(0);
|
||||
robot.servoB.setPower(0);
|
||||
robot.servoC.setPower(0);
|
||||
robot.Opportunity.setPower(driveSpeed);
|
||||
robot.Spirit.setPower(driveSpeed);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exec() {
|
||||
|
||||
if (Math.abs(engine.gamepad1.left_stick_y) > 0.1 && Math.abs(engine.gamepad1.left_stick_x) < 0.1) {
|
||||
orbitSpeed = engine.gamepad2.left_stick_y;
|
||||
robot.Opportunity.setPower(driveSpeed);
|
||||
robot.Spirit.setPower(driveSpeed);
|
||||
}
|
||||
|
||||
if (Math.abs(engine.gamepad1.right_stick_x) > 0.1) {
|
||||
orbitSpeed = engine.gamepad1.right_stick_x * 0.75;
|
||||
robot.servoA.setPower(orbitSpeed);
|
||||
robot.servoB.setPower(orbitSpeed);
|
||||
robot.servoC.setPower(orbitSpeed);
|
||||
} else {
|
||||
orbitSpeed = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user