2023-02-16 18:46:43 -07:00
|
|
|
package frc4388.robot.subsystems;
|
|
|
|
|
|
|
|
|
|
import frc4388.robot.subsystems.Apriltags;
|
|
|
|
|
|
|
|
|
|
public class Location {
|
|
|
|
|
final Apriltags Apriltag = new Apriltags();
|
|
|
|
|
|
2023-02-27 18:42:27 -07:00
|
|
|
private boolean isLimelight = false;
|
|
|
|
|
private boolean isApriltag = false;
|
2023-02-16 18:46:43 -07:00
|
|
|
|
|
|
|
|
//Determines which source to get pos and rot from and also resets
|
|
|
|
|
public void reoderPrio(){
|
|
|
|
|
isLimelight = false; //If limelight gets position and if within a certain range of poles
|
|
|
|
|
isApriltag = Apriltag.isAprilTag();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Object[] getPosition() {
|
|
|
|
|
if(isLimelight){
|
|
|
|
|
//Return Limelight Position
|
|
|
|
|
}else if(isApriltag){
|
|
|
|
|
return Apriltag.getApriltagPosition();
|
|
|
|
|
}
|
|
|
|
|
|
2023-02-16 19:46:21 -07:00
|
|
|
return null;
|
2023-02-16 18:46:43 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Object[] getRotation() {
|
|
|
|
|
Object[] Rotation = {};
|
|
|
|
|
|
|
|
|
|
if(isLimelight){
|
|
|
|
|
//Return Limelight Rotation
|
|
|
|
|
}else if(isApriltag){
|
|
|
|
|
return Apriltag.getApriltagRotation();
|
|
|
|
|
}else{
|
|
|
|
|
//Return odometry Rotation, last resort
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Rotation;
|
|
|
|
|
}
|
|
|
|
|
}
|