Go to Post The code won't compile if you violate the rules of the programming language...but English is more robust, it seems to work pretty well no matter how we engineering nerds mangle it! - MrForbes [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Spotlight this post!  
Unread 08-02-2017, 18:38
verlander13 verlander13 is offline
Registered User
AKA: Ian
FRC #1025 (IMPIS)
Team Role: Programmer
 
Join Date: Jan 2017
Rookie Year: 2015
Location: Ferndale
Posts: 12
verlander13 is an unknown quantity at this point
Exclamation Detecting countours

Can anyone explain why my code will not stop once centerX1 is equal to 237?


package org.usfirst.frc.team1025.robot.commands.Vision;

import org.usfirst.frc.team1025.robot.Robot;
import org.usfirst.frc.team1025.robot.subsystems.ChassisS ubsystem;
import org.usfirst.frc.team1025.robot.subsystems.VisionSu bsystem;
import org.usfirst.frc.team1025.robot.subsystems.VisionSu bsystem;

import edu.wpi.first.wpilibj.command.Command;

/**
*
*/
@SuppressWarnings("unused")
public class VisionAuton extends Command {
double centerX1;
double centerX2;
private boolean isCenter = false;

public VisionAuton() {
// Use requires() here to declare subsystem dependencies
// eg. requires(chassis);
requires(Robot.visionSubsystem);
requires(Robot.chassisSubsystem);
}

// Called just before this Command runs the first time
protected void initialize() {

}

// Called repeatedly when this Command is scheduled to run
protected void execute() {
synchronized (Robot.visionSubsystem.imgLock) {
Robot.visionSubsystem.centerX1 = this.centerX1;
Robot.visionSubsystem.centerX2 = this.centerX2;
}
// double TargetMidpoint = (centerX2 - centerX1) / 2;
// double disp = (TargetMidpoint - Robot.vision.IMG_WIDTH / 2);
@SuppressWarnings("static-access")
double Turn = centerX1 - (Robot.visionSubsystem.IMG_WIDTH / 2);
//+ centerX2 - (Robot.visionSubsystem.IMG_WIDTH / 2);
// double Turn = (centerX2 - centerX1) / 2 - Robot.vision.IMG_WIDTH / 2;
Robot.chassisSubsystem.getRobotDrive().arcadeDrive (-0.6, Turn * 0.005);

}

// Make this return true when this Command no longer needs to run execute()
public boolean isFinished() {
if(centerX1 == 237.0 + 10){
return isCenter = true;
}
else if(centerX1 == 237.0 - 10){
return isCenter = true;
}
else{
return isCenter == false;
}




}

// Called once after isFinished returns true
protected void end() {
}

// Called when another command which requires one or more of the same
// subsystems is scheduled to run
protected void interrupted() {
}
}
Reply With Quote
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 04:16.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi