code review

This commit is contained in:
Astatin3
2023-02-28 17:05:18 -07:00
parent 67f1516d68
commit e8db8770c5
3 changed files with 28 additions and 57 deletions
@@ -9,41 +9,28 @@ import edu.wpi.first.networktables.NetworkTableInstance;
public class Apriltags {
public static class Tag {
boolean visible = true;
double x, y, z = 0;
}
public Object[] getApriltagPosition() {
final var tagTable = NetworkTableInstance.getDefault().getTable("apriltag");
final var tag = new Tag();
// integrate the tag system
// return new Object[] {true,
// tagTable.getEntry("TagPosX"),
// tagTable.getEntry("TagPosY"),
// tagTable.getEntry("TagPosZ")
// };
return new Object[] {true,
1,
2,
3
};
public boolean visible = true;
public double x, y, z = 0;
public double ry, rp, rr = 0;
}
public Object[] getApriltagRotation() {
public Tag getTagPosRot() {
final var tagTable = NetworkTableInstance.getDefault().getTable("apriltag");
return new Object[] {true,
tagTable.getEntry("TagRotY"),
tagTable.getEntry("TagRotP"),
tagTable.getEntry("TagRotR")
};
final Tag tag = new Tag();
tag.visible = isAprilTag();
tag.x = tagTable.getEntry("TagPosX").getDouble(0);
tag.y = tagTable.getEntry("TagPosY").getDouble(0);
tag.z = tagTable.getEntry("TagPosZ").getDouble(0);
tag.ry = tagTable.getEntry("TagRotY").getDouble(0);
tag.rp = tagTable.getEntry("TagRotP").getDouble(0);
tag.rr = tagTable.getEntry("TagRotR").getDouble(0);
return tag;
}
public boolean isAprilTag() {
final var tagTable = NetworkTableInstance.getDefault().getTable("apriltag");
// return tagTable.getEntry("IsTag").getBoolean(false);
return true;
return tagTable.getEntry("IsTag").getBoolean(false);
}
}
@@ -1,40 +1,27 @@
package frc4388.robot.subsystems;
import frc4388.robot.subsystems.Apriltags;
import frc4388.robot.subsystems.Apriltags.Tag;
public class Location {
final Apriltags Apriltag = new Apriltags();
final Apriltags apriltag = new Apriltags();
private boolean isLimelight = false;
private boolean isApriltag = false;
//Determines which source to get pos and rot from and also resets
public void reoderPrio(){
private void reoderPrio(){
isLimelight = false; //If limelight gets position and if within a certain range of poles
isApriltag = Apriltag.isAprilTag();
isApriltag = apriltag.isAprilTag();
}
public Object[] getPosition() {
if(isLimelight){
//Return Limelight Position
}else if(isApriltag){
return Apriltag.getApriltagPosition();
public Tag getPosRot() {
reoderPrio();
if(isApriltag){
return apriltag.getTagPosRot();
} else if (isLimelight) {
return null;
}
return null;
}
public Object[] getRotation() {
Object[] Rotation = {};
if(isLimelight){
//Return Limelight Rotation
}else if(isApriltag){
return Apriltag.getApriltagRotation();
}else{
//Return odometry Rotation, last resort
}
return Rotation;
}
}