Go to Post You can't guarantee outcomes -- only effort. If your team did its best, be satisfied. - Rick TYler [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 04-11-2014, 18:10
MaestroRoboto's Avatar
MaestroRoboto MaestroRoboto is offline
Registered User
AKA: Hiren Bhavsar
FLL #0020 (The Rocketeers)
Team Role: Alumni
 
Join Date: Mar 2014
Rookie Year: 2012
Location: United States
Posts: 25
MaestroRoboto has a spectacular aura aboutMaestroRoboto has a spectacular aura about
Can someone explain this code?

Could someone explain what is going on in this code?

public class Drivetrain {

Talon talon1 = new Talon(1);
Talon talon2 = new Talon(2);
Talon talon3 = new Talon(3);
Talon talon4 = new Talon(4);
Talon talon5 = new Talon(5);
Talon talon6 = new Talon(6);

DoubleSolenoid shifter = new DoubleSolenoid(1, 5, 6);

Encoder leftEncoder = new Encoder(10, 11);
Encoder rightEncoder = new Encoder(13, 14);

public Drivetrain(){
leftEncoder.start();
rightEncoder.start();
}

//DigitalInput port14 = new DigitalInput(14);
public void arcadeDrive(double moveValue, double rotateValue){
double leftMotorSpeed = 0, rightMotorSpeed = 0;

rotateValue = -rotateValue;
moveValue = limit(moveValue);
rotateValue = limit(rotateValue);

if (moveValue > 0.0) {
if (rotateValue > 0.0) {
leftMotorSpeed = moveValue - rotateValue;
rightMotorSpeed = Math.max(moveValue, rotateValue);
} else {
leftMotorSpeed = Math.max(moveValue, -rotateValue);
rightMotorSpeed = moveValue + rotateValue;
}
} else {
if (rotateValue > 0.0) {
leftMotorSpeed = -Math.max(-moveValue, rotateValue);
rightMotorSpeed = moveValue + rotateValue;
} else {
leftMotorSpeed = moveValue - rotateValue;
rightMotorSpeed = -Math.max(-moveValue, -rotateValue);
}
}

//Setting talon values
talon1.set(-rightMotorSpeed);
talon2.set(rightMotorSpeed);
talon3.set(rightMotorSpeed);
talon4.set(leftMotorSpeed);
talon5.set(-leftMotorSpeed);
talon6.set(-leftMotorSpeed);
}

protected static double limit(double num) {
if (num > 1.0) {
return 1.0;
}
if (num < -1.0) {
return -1.0;
}
return num;
}

public void highGear(){
shifter.set(DoubleSolenoid.Value.kReverse);
}

public void lowGear(){
shifter.set(DoubleSolenoid.Value.kForward);
}

public void brake(){

}

public int getRightDistance(){
//return port14.get();
return rightEncoder.get();
}

public int getLeftDistance(){
return leftEncoder.get();
}

public void resetEncoders(){
leftEncoder.reset();
rightEncoder.reset();

}
}
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 08:45.

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