本文整理汇总了Java中edu.wpi.first.wpilibj.command.CommandGroup.addParallel方法的典型用法代码示例。如果您正苦于以下问题:Java CommandGroup.addParallel方法的具体用法?Java CommandGroup.addParallel怎么用?Java CommandGroup.addParallel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类edu.wpi.first.wpilibj.command.CommandGroup
的用法示例。
在下文中一共展示了CommandGroup.addParallel方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: driveAndPrepareToShoot
import edu.wpi.first.wpilibj.command.CommandGroup; //导入方法依赖的package包/类
private static CommandGroup driveAndPrepareToShoot(boolean checkHot, double driveDistance, double timeToFinish, double timeout) {
CommandGroup driveAndCheckGoal = new CommandGroup("driveAndCheck");
driveAndCheckGoal.addSequential(driveForwardRotate(0, 0));
driveAndCheckGoal.addParallel(setFingerPosition(ClawFingerSubsystem.DOWN));
driveAndCheckGoal.addParallel(new SetClawWinchSolenoid(true));
CommandGroup setClawPosition = new CommandGroup();
// check the hot goal after .5 seconds
if (checkHot) {
driveAndCheckGoal.addSequential(new WaitCommand(500));
driveAndCheckGoal.addSequential(new HotVisionWaitCommand());
timeToFinish += 4.8;
}
final double minDriveSpeed = .7;
ChangeableBoolean driveFinishedChecker = new ChangeableBoolean(false);
driveAndCheckGoal.addParallel(new DriveSetDistanceWithPIDCommand(driveDistance, minDriveSpeed, driveFinishedChecker));
driveAndCheckGoal.addSequential(new SetClawPosition(ClawPivotSubsystem.BACKWARD_SHOOT, driveFinishedChecker, timeToFinish), timeout);
return driveAndCheckGoal;
}
示例2: parseLine
import edu.wpi.first.wpilibj.command.CommandGroup; //导入方法依赖的package包/类
/**
* Interprets a line as a Command and adds it to mCommands
*
* @param aLine
* Line of text
* @param b
*/
protected void parseLine(CommandGroup aGroup, String aLine, boolean aAddParallel)
{
aLine = aLine.trim();
if (aLine.isEmpty() || aLine.startsWith(mCommentStart))
{
return;
}
StringTokenizer tokenizer = new StringTokenizer(aLine, mDelimiter);
List<String> args = new ArrayList<>();
while (tokenizer.hasMoreElements())
{
args.add(tokenizer.nextToken());
}
Command newCommand = parseCommand(args);
if (newCommand == null)
{
mSuccess = false;
}
else
{
if (aAddParallel)
{
aGroup.addParallel(newCommand);
}
else
{
aGroup.addSequential(newCommand);
}
}
}
示例3: twoBallShortDriveAutonomous
import edu.wpi.first.wpilibj.command.CommandGroup; //导入方法依赖的package包/类
public static Command twoBallShortDriveAutonomous() {
CommandGroup mainAutonomousSequence = new CommandGroup("mainAutoSeq");
mainAutonomousSequence.addSequential(driveAndPrepareToShoot(false, DriveTrainSubsystem.EncoderBasedDriving.AUTONOMOUS_DRIVE_DISTANCE_SHORT, 0, 1.6));
mainAutonomousSequence.addSequential(shootBall(false));
mainAutonomousSequence.addParallel(autoCoilClawWinch(), ClawWinchSubsystem.MAX_COIL_TIME);
mainAutonomousSequence.addSequential(repositionAndPickup(DriveTrainSubsystem.EncoderBasedDriving.AUTONOMOUS_DRIVE_DISTANCE_SHORT));
mainAutonomousSequence.addParallel(realignBall());
mainAutonomousSequence.addSequential(driveAndPrepareToShoot(false, DriveTrainSubsystem.EncoderBasedDriving.AUTONOMOUS_DRIVE_DISTANCE_SHORT - 16, 9.2, 10));
mainAutonomousSequence.addSequential(shootBall());
return mainAutonomousSequence;
}
示例4: shootBall
import edu.wpi.first.wpilibj.command.CommandGroup; //导入方法依赖的package包/类
public static Command shootBall(boolean auto) {
CommandGroup fireSequence = new CommandGroup();
fireSequence.addParallel(setFingerPosition(ClawFingerSubsystem.UP));
fireSequence.addParallel(new RunRollers(ClawRollerSubsystem.ROLLER_SPIN_SHOOT_SPEED));
fireSequence.addSequential(new SetClawWinchSolenoid(false));
fireSequence.addSequential(new WaitCommand(ClawWinchSubsystem.TIME_TO_FIRE));
//then recoils
fireSequence.addSequential(setFingerPosition(ClawFingerSubsystem.DOWN));
fireSequence.addSequential(new RunRollers(ClawRollerSubsystem.ROLLER_SPIN_OFF_SPEED));
if (auto) {
fireSequence.addSequential(autoCoilClawWinch(), ClawWinchSubsystem.MAX_COIL_TIME);
}
return fireSequence;
}
示例5: run
import edu.wpi.first.wpilibj.command.CommandGroup; //导入方法依赖的package包/类
public void run() {
TestCommand command1 = new TestCommand();
TestCommand command2 = new TestCommand();
CommandGroup commandGroup = new CommandGroup();
commandGroup.addParallel(command1);
commandGroup.addParallel(command2);
assertCommandState(command1, 0, 0, 0, 0, 0);
assertCommandState(command2, 0, 0, 0, 0, 0);
commandGroup.start();
assertCommandState(command1, 0, 0, 0, 0, 0);
assertCommandState(command2, 0, 0, 0, 0, 0);
Scheduler.getInstance().run();
assertCommandState(command1, 0, 0, 0, 0, 0);
assertCommandState(command2, 0, 0, 0, 0, 0);
Scheduler.getInstance().run();
assertCommandState(command1, 1, 1, 1, 0, 0);
assertCommandState(command2, 1, 1, 1, 0, 0);
Scheduler.getInstance().run();
assertCommandState(command1, 1, 2, 2, 0, 0);
assertCommandState(command2, 1, 2, 2, 0, 0);
command1.setHasFinished(true);
Scheduler.getInstance().run();
assertCommandState(command1, 1, 3, 3, 1, 0);
assertCommandState(command2, 1, 3, 3, 0, 0);
Scheduler.getInstance().run();
assertCommandState(command1, 1, 3, 3, 1, 0);
assertCommandState(command2, 1, 4, 4, 0, 0);
command2.setHasFinished(true);
Scheduler.getInstance().run();
assertCommandState(command1, 1, 3, 3, 1, 0);
assertCommandState(command2, 1, 5, 5, 1, 0);
}
示例6: autonomousInit
import edu.wpi.first.wpilibj.command.CommandGroup; //导入方法依赖的package包/类
/**
* This function is called once at the start of autonomous mode.
*/
public void autonomousInit(){
DriverStation driverStation = DriverStation.getInstance();
double delayTime = driverStation.getAnalogIn(1);
boolean trackHighGoal = driverStation.getDigitalIn(1);
boolean trackMiddleGoal = driverStation.getDigitalIn(2);
boolean shootInAuto = true;
betweenModes();
DrivetrainStrafe drivetrainStrafe = Components.getInstance().drivetrainStrafe;
drivetrainStrafe.setDefaultCommand(new MaintainStateCommand(drivetrainStrafe));
DrivetrainRotation drivetrainRotation = Components.getInstance().drivetrainRotation;
drivetrainRotation.setDefaultCommand(new MaintainStateCommand(drivetrainRotation));
CommandGroup fastAugerSequence = new CommandGroup();
fastAugerSequence.addSequential(new PrintCommand("Dispensing auger"));
fastAugerSequence.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
fastAugerSequence.addSequential(new WaitCommand(0.8));
CommandGroup augerSequence = new CommandGroup();
augerSequence.addSequential(new PrintCommand("Dispensing auger"));
augerSequence.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
augerSequence.addSequential(new WaitCommand(2));
CommandGroup firstAugerDrop = new CommandGroup();
firstAugerDrop.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
firstAugerDrop.addSequential(new WaitCommand(0.5));
firstAugerDrop.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
CommandGroup autoCommand = new CommandGroup();
autoCommand.addSequential(new PrintCommand("Starting autonomous"));
autoCommand.addSequential(new WaitCommand(delayTime));
if(shootInAuto){
autoCommand.addSequential(new FixedPointVisionTrackingCommand(FixedPointVisionTrackingCommand.PYRAMID_BACK_MIDDLE, TargetType.HIGH_GOAL), 4);
autoCommand.addParallel(firstAugerDrop);
autoCommand.addSequential(new SetShooterCommand(Shooter.SHOOTER_ON));
autoCommand.addSequential(new WaitCommand(2));
autoCommand.addSequential(new SetConveyorCommand(Conveyor.CONVEYOR_SHOOT_IN));
autoCommand.addSequential(new WaitCommand(1));
autoCommand.addSequential(new PrintCommand("Dispensing auger"));
autoCommand.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
autoCommand.addSequential(new WaitCommand(1.75));
autoCommand.addSequential(new PrintCommand("Dispensing auger"));
autoCommand.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
autoCommand.addSequential(new WaitCommand(1.75));
autoCommand.addSequential(new PrintCommand("Dispensing auger"));
autoCommand.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
autoCommand.addSequential(new WaitCommand(1.75));
autoCommand.addSequential(new PrintCommand("Dispensing auger"));
autoCommand.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
autoCommand.addSequential(new WaitCommand(2));
autoCommand.addSequential(new PrintCommand("Dispensing auger"));
autoCommand.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
autoCommand.addSequential(new WaitCommand(2));
autoCommand.addSequential(new PrintCommand("Dispensing auger"));
autoCommand.addSequential(new AugerRotateCommand(Auger.AugerDirection.AUGER_DOWN));
autoCommand.addSequential(new WaitCommand(2));
autoCommand.addSequential(new WaitForChildren());
autoCommand.addSequential(new WaitCommand(2));
}
//autoCommand.addSequential(new RepeatCommand(new PrintCommand("Testing print"), 5));
//autoCommand.addSequential(augerSequence, 5);
autonomousCommand = autoCommand;
autonomousCommand.start();
}