Skip to content

Commit 6a3fb40

Browse files
Update Advantage Kit (#21)
* Updated Advantage Kit * Update WPILib version * Updated vendordeps * Delete navgrid.json
1 parent f424be7 commit 6a3fb40

12 files changed

+211
-185
lines changed

build.gradle

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id "java-library"
33
id "maven-publish"
4-
id "edu.wpi.first.GradleRIO" version "2025.1.1-beta-1"
4+
id "edu.wpi.first.GradleRIO" version "2025.1.1-beta-2"
55
id "edu.wpi.first.WpilibTools" version "2.1.0"
66
}
77

@@ -22,9 +22,6 @@ repositories {
2222
}
2323
}
2424

25-
// Get AdvantageKit version from vendordep file
26-
def AdvantageKitJSON = new groovy.json.JsonSlurper().parseText(new File(projectDir.getAbsolutePath() + "/vendordeps/AdvantageKit.json").text)
27-
2825
dependencies {
2926
implementation wpi.java.deps.wpilib()
3027
implementation wpi.java.vendor.java()
@@ -38,7 +35,9 @@ dependencies {
3835
simulationRelease wpi.sim.enableRelease()
3936

4037
implementation 'com.google.code.gson:gson:2.10.1'
41-
annotationProcessor "org.littletonrobotics.akit.junction:junction-autolog:$AdvantageKitJSON.version"
38+
39+
def akitJson = new groovy.json.JsonSlurper().parseText(new File(projectDir.getAbsolutePath() + "/vendordeps/AdvantageKit.json").text)
40+
annotationProcessor "org.littletonrobotics.akit:akit-autolog:$akitJson.version"
4241
}
4342

4443
// Simulation configuration (e.g. environment variables).

src/main/java/org/trigon/utilities/mechanisms/ArmElevatorMechanism2d.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package org.trigon.utilities.mechanisms;
22

33
import edu.wpi.first.math.geometry.Rotation2d;
4-
import edu.wpi.first.wpilibj.smartdashboard.Mechanism2d;
5-
import edu.wpi.first.wpilibj.smartdashboard.MechanismLigament2d;
6-
import edu.wpi.first.wpilibj.smartdashboard.MechanismRoot2d;
74
import edu.wpi.first.wpilibj.util.Color;
85
import edu.wpi.first.wpilibj.util.Color8Bit;
96
import org.littletonrobotics.junction.Logger;
7+
import org.littletonrobotics.junction.mechanism.LoggedMechanism2d;
8+
import org.littletonrobotics.junction.mechanism.LoggedMechanismLigament2d;
9+
import org.littletonrobotics.junction.mechanism.LoggedMechanismRoot2d;
1010

1111
/**
1212
* A Mechanism2d object to display the current angle and target angle, and the current position and target position of an arm elevator.
1313
*/
1414
public class ArmElevatorMechanism2d {
1515
private final String key;
16-
private final Mechanism2d mechanism;
17-
private final MechanismLigament2d
16+
private final LoggedMechanism2d mechanism;
17+
private final LoggedMechanismLigament2d
1818
currentPositionLigament,
1919
targetPositionLigament;
2020
private final double minimumLength;
@@ -30,10 +30,10 @@ public class ArmElevatorMechanism2d {
3030
public ArmElevatorMechanism2d(String name, double maximumLength, double minimumLength, Color mechanismColor) {
3131
this.key = "Mechanisms/" + name;
3232
this.minimumLength = minimumLength;
33-
this.mechanism = new Mechanism2d(2 * maximumLength, 2 * maximumLength);
34-
final MechanismRoot2d root = mechanism.getRoot("Root", maximumLength, maximumLength);
35-
this.currentPositionLigament = root.append(new MechanismLigament2d("ZCurrentPositionLigament", 0, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
36-
this.targetPositionLigament = root.append(new MechanismLigament2d("TargetPositionLigament", 0, 0, MechanismConstants.TARGET_ELEVATOR_POSITION_LIGAMENT_WIDTH, MechanismConstants.GRAY));
33+
this.mechanism = new LoggedMechanism2d(2 * maximumLength, 2 * maximumLength);
34+
final LoggedMechanismRoot2d root = mechanism.getRoot("Root", maximumLength, maximumLength);
35+
this.currentPositionLigament = root.append(new LoggedMechanismLigament2d("ZCurrentPositionLigament", 0, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
36+
this.targetPositionLigament = root.append(new LoggedMechanismLigament2d("TargetPositionLigament", 0, 0, MechanismConstants.TARGET_ELEVATOR_POSITION_LIGAMENT_WIDTH, MechanismConstants.GRAY));
3737
}
3838

3939
/**

src/main/java/org/trigon/utilities/mechanisms/DoubleJointedArmMechanism2d.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package org.trigon.utilities.mechanisms;
22

33
import edu.wpi.first.math.geometry.Rotation2d;
4-
import edu.wpi.first.wpilibj.smartdashboard.Mechanism2d;
5-
import edu.wpi.first.wpilibj.smartdashboard.MechanismLigament2d;
6-
import edu.wpi.first.wpilibj.smartdashboard.MechanismRoot2d;
74
import edu.wpi.first.wpilibj.util.Color;
85
import edu.wpi.first.wpilibj.util.Color8Bit;
96
import org.littletonrobotics.junction.Logger;
7+
import org.littletonrobotics.junction.mechanism.LoggedMechanism2d;
8+
import org.littletonrobotics.junction.mechanism.LoggedMechanismLigament2d;
9+
import org.littletonrobotics.junction.mechanism.LoggedMechanismRoot2d;
1010

1111
/**
1212
* A Mechanism2d object to display the current angle and the target angle of a double-jointed arm.
1313
*/
1414
public class DoubleJointedArmMechanism2d {
1515
private final String key;
16-
private final Mechanism2d mechanism;
17-
private final MechanismLigament2d
16+
private final LoggedMechanism2d mechanism;
17+
private final LoggedMechanismLigament2d
1818
currentPositionFirstLigament,
1919
currentPositionSecondLigament,
2020
targetPositionFirstLigament,
@@ -41,13 +41,13 @@ public DoubleJointedArmMechanism2d(String key, Color mechanismColor) {
4141
public DoubleJointedArmMechanism2d(String name, double firstJointLength, double secondJointLength, Color mechanismColor) {
4242
this.key = "Mechanisms/" + name;
4343
final double mechanismMiddle = MechanismConstants.LIGAMENT_END_TO_EDGE_RATIO * (firstJointLength + secondJointLength);
44-
this.mechanism = new Mechanism2d(2 * mechanismMiddle, 2 * mechanismMiddle);
45-
final MechanismRoot2d root = mechanism.getRoot("Root", mechanismMiddle, mechanismMiddle);
44+
this.mechanism = new LoggedMechanism2d(2 * mechanismMiddle, 2 * mechanismMiddle);
45+
final LoggedMechanismRoot2d root = mechanism.getRoot("Root", mechanismMiddle, mechanismMiddle);
4646

47-
this.currentPositionFirstLigament = root.append(new MechanismLigament2d("ZCurrentPositionFirstLigament", firstJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
48-
this.currentPositionSecondLigament = currentPositionFirstLigament.append(new MechanismLigament2d("ZCurrentPositionSecondLigament", secondJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
49-
this.targetPositionFirstLigament = root.append(new MechanismLigament2d("TargetPositionFirstLigament", firstJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
50-
this.targetPositionSecondLigament = targetPositionFirstLigament.append(new MechanismLigament2d("TargetPositionSecondLigament", secondJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
47+
this.currentPositionFirstLigament = root.append(new LoggedMechanismLigament2d("ZCurrentPositionFirstLigament", firstJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
48+
this.currentPositionSecondLigament = currentPositionFirstLigament.append(new LoggedMechanismLigament2d("ZCurrentPositionSecondLigament", secondJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
49+
this.targetPositionFirstLigament = root.append(new LoggedMechanismLigament2d("TargetPositionFirstLigament", firstJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
50+
this.targetPositionSecondLigament = targetPositionFirstLigament.append(new LoggedMechanismLigament2d("TargetPositionSecondLigament", secondJointLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
5151
}
5252

5353
/**

src/main/java/org/trigon/utilities/mechanisms/ElevatorMechanism2d.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
package org.trigon.utilities.mechanisms;
22

3-
import edu.wpi.first.wpilibj.smartdashboard.Mechanism2d;
4-
import edu.wpi.first.wpilibj.smartdashboard.MechanismLigament2d;
5-
import edu.wpi.first.wpilibj.smartdashboard.MechanismRoot2d;
63
import edu.wpi.first.wpilibj.util.Color;
74
import edu.wpi.first.wpilibj.util.Color8Bit;
85
import org.littletonrobotics.junction.Logger;
6+
import org.littletonrobotics.junction.mechanism.LoggedMechanism2d;
7+
import org.littletonrobotics.junction.mechanism.LoggedMechanismLigament2d;
8+
import org.littletonrobotics.junction.mechanism.LoggedMechanismRoot2d;
99

1010
/**
1111
* A Mechanism2d object to display the current position and target position of an elevator.
1212
*/
1313
public class ElevatorMechanism2d {
1414
private final String key;
15-
private final Mechanism2d mechanism;
16-
private final MechanismLigament2d
15+
private final LoggedMechanism2d mechanism;
16+
private final LoggedMechanismLigament2d
1717
currentPositionLigament,
1818
targetPositionLigament;
1919
private final double minimumLength;
@@ -29,11 +29,11 @@ public class ElevatorMechanism2d {
2929
public ElevatorMechanism2d(String name, double maximumLength, double minimumLength, Color mechanismColor) {
3030
this.key = "Mechanisms/" + name;
3131
this.minimumLength = minimumLength;
32-
this.mechanism = new Mechanism2d(maximumLength, maximumLength);
32+
this.mechanism = new LoggedMechanism2d(maximumLength, maximumLength);
3333

34-
final MechanismRoot2d currentPositionRoot = mechanism.getRoot("Root", 0.5 * maximumLength, 0);
35-
this.currentPositionLigament = currentPositionRoot.append(new MechanismLigament2d("ZCurrentPositionLigament", minimumLength, MechanismConstants.ELEVATOR_MECHANISM_STARTING_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
36-
this.targetPositionLigament = currentPositionRoot.append(new MechanismLigament2d("TargetPositionLigament", minimumLength, MechanismConstants.ELEVATOR_MECHANISM_STARTING_ANGLE, MechanismConstants.TARGET_ELEVATOR_POSITION_LIGAMENT_WIDTH, MechanismConstants.GRAY));
34+
final LoggedMechanismRoot2d currentPositionRoot = mechanism.getRoot("Root", 0.5 * maximumLength, 0);
35+
this.currentPositionLigament = currentPositionRoot.append(new LoggedMechanismLigament2d("ZCurrentPositionLigament", minimumLength, MechanismConstants.ELEVATOR_MECHANISM_STARTING_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
36+
this.targetPositionLigament = currentPositionRoot.append(new LoggedMechanismLigament2d("TargetPositionLigament", minimumLength, MechanismConstants.ELEVATOR_MECHANISM_STARTING_ANGLE, MechanismConstants.TARGET_ELEVATOR_POSITION_LIGAMENT_WIDTH, MechanismConstants.GRAY));
3737
}
3838

3939
/**

src/main/java/org/trigon/utilities/mechanisms/SingleJointedArmMechanism2d.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package org.trigon.utilities.mechanisms;
22

33
import edu.wpi.first.math.geometry.Rotation2d;
4-
import edu.wpi.first.wpilibj.smartdashboard.Mechanism2d;
5-
import edu.wpi.first.wpilibj.smartdashboard.MechanismLigament2d;
6-
import edu.wpi.first.wpilibj.smartdashboard.MechanismRoot2d;
74
import edu.wpi.first.wpilibj.util.Color;
85
import edu.wpi.first.wpilibj.util.Color8Bit;
96
import org.littletonrobotics.junction.Logger;
7+
import org.littletonrobotics.junction.mechanism.LoggedMechanism2d;
8+
import org.littletonrobotics.junction.mechanism.LoggedMechanismLigament2d;
9+
import org.littletonrobotics.junction.mechanism.LoggedMechanismRoot2d;
1010

1111
/**
1212
* A Mechanism2d object to display the current angle and the target angle of a single jointed arm.
1313
*/
1414
public class SingleJointedArmMechanism2d {
1515
private final String key;
16-
private final Mechanism2d mechanism;
17-
private final MechanismLigament2d
16+
private final LoggedMechanism2d mechanism;
17+
private final LoggedMechanismLigament2d
1818
currentPositionLigament,
1919
targetPositionLigament;
2020

@@ -38,10 +38,10 @@ public SingleJointedArmMechanism2d(String key, Color mechanismColor) {
3838
public SingleJointedArmMechanism2d(String name, double armLength, Color mechanismColor) {
3939
this.key = "Mechanisms/" + name;
4040
final double mechanismMiddle = MechanismConstants.LIGAMENT_END_TO_EDGE_RATIO * armLength;
41-
this.mechanism = new Mechanism2d(2 * mechanismMiddle, 2 * mechanismMiddle);
42-
final MechanismRoot2d root = mechanism.getRoot("Root", mechanismMiddle, mechanismMiddle);
43-
this.currentPositionLigament = root.append(new MechanismLigament2d("ZCurrentPositionLigament", armLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
44-
this.targetPositionLigament = root.append(new MechanismLigament2d("TargetPositionLigament", armLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
41+
this.mechanism = new LoggedMechanism2d(2 * mechanismMiddle, 2 * mechanismMiddle);
42+
final LoggedMechanismRoot2d root = mechanism.getRoot("Root", mechanismMiddle, mechanismMiddle);
43+
this.currentPositionLigament = root.append(new LoggedMechanismLigament2d("ZCurrentPositionLigament", armLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, new Color8Bit(mechanismColor)));
44+
this.targetPositionLigament = root.append(new LoggedMechanismLigament2d("TargetPositionLigament", armLength, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
4545
}
4646

4747
/**

src/main/java/org/trigon/utilities/mechanisms/SpeedMechanism2d.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package org.trigon.utilities.mechanisms;
22

3-
import edu.wpi.first.wpilibj.smartdashboard.Mechanism2d;
4-
import edu.wpi.first.wpilibj.smartdashboard.MechanismLigament2d;
5-
import edu.wpi.first.wpilibj.smartdashboard.MechanismRoot2d;
63
import edu.wpi.first.wpilibj.util.Color8Bit;
74
import org.littletonrobotics.junction.Logger;
5+
import org.littletonrobotics.junction.mechanism.LoggedMechanism2d;
6+
import org.littletonrobotics.junction.mechanism.LoggedMechanismLigament2d;
7+
import org.littletonrobotics.junction.mechanism.LoggedMechanismRoot2d;
88

99
/**
1010
* A Mechanism2d object to display the current velocity and target velocity of a mechanism.
1111
*/
1212
public class SpeedMechanism2d {
1313
private final String key;
14-
private final Mechanism2d mechanism;
15-
private final MechanismLigament2d
14+
private final LoggedMechanism2d mechanism;
15+
private final LoggedMechanismLigament2d
1616
currentVelocityLigament,
1717
currentVelocityTopArrowLigament,
1818
currentVelocityBottomArrowLigament,
@@ -40,15 +40,15 @@ public SpeedMechanism2d(String key, double maximumDisplayableVelocity) {
4040
public SpeedMechanism2d(String name, double maximumDisplayableVelocity, double deadband) {
4141
this.deadband = deadband;
4242
this.key = "Mechanisms/" + name;
43-
this.mechanism = new Mechanism2d(2 * maximumDisplayableVelocity, 2 * maximumDisplayableVelocity);
44-
final MechanismRoot2d root = mechanism.getRoot("Root", maximumDisplayableVelocity, maximumDisplayableVelocity);
45-
this.currentVelocityLigament = root.append(new MechanismLigament2d("ZCurrentVelocityLigament", 0, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.BLUE));
46-
this.currentVelocityTopArrowLigament = currentVelocityLigament.append(new MechanismLigament2d("ZCurrentVelocityTopArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_TOP_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.BLUE));
47-
this.currentVelocityBottomArrowLigament = currentVelocityLigament.append(new MechanismLigament2d("ZCurrentVelocityBottomArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_BOTTOM_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.BLUE));
43+
this.mechanism = new LoggedMechanism2d(2 * maximumDisplayableVelocity, 2 * maximumDisplayableVelocity);
44+
final LoggedMechanismRoot2d root = mechanism.getRoot("Root", maximumDisplayableVelocity, maximumDisplayableVelocity);
45+
this.currentVelocityLigament = root.append(new LoggedMechanismLigament2d("ZCurrentVelocityLigament", 0, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.BLUE));
46+
this.currentVelocityTopArrowLigament = currentVelocityLigament.append(new LoggedMechanismLigament2d("ZCurrentVelocityTopArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_TOP_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.BLUE));
47+
this.currentVelocityBottomArrowLigament = currentVelocityLigament.append(new LoggedMechanismLigament2d("ZCurrentVelocityBottomArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_BOTTOM_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.BLUE));
4848

49-
this.targetVelocityLigament = root.append(new MechanismLigament2d("TargetVelocityLigament", 0, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
50-
this.targetVelocityTopArrowLigament = targetVelocityLigament.append(new MechanismLigament2d("TargetVelocityTopArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_TOP_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
51-
this.targetVelocityBottomArrowLigament = targetVelocityLigament.append(new MechanismLigament2d("TargetVelocityBottomArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_BOTTOM_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
49+
this.targetVelocityLigament = root.append(new LoggedMechanismLigament2d("TargetVelocityLigament", 0, 0, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
50+
this.targetVelocityTopArrowLigament = targetVelocityLigament.append(new LoggedMechanismLigament2d("TargetVelocityTopArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_TOP_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
51+
this.targetVelocityBottomArrowLigament = targetVelocityLigament.append(new LoggedMechanismLigament2d("TargetVelocityBottomArrowLigament", MechanismConstants.ARROW_LENGTH_SCALE * maximumDisplayableVelocity, MechanismConstants.ZERO_BOTTOM_ANGLE, MechanismConstants.MECHANISM_LINE_WIDTH, MechanismConstants.GRAY));
5252
}
5353

5454
/**
@@ -114,7 +114,7 @@ else if (velocity < -deadband)
114114
return MechanismConstants.BLUE;
115115
}
116116

117-
private void setArrowAngle(double velocity, MechanismLigament2d topLigament, MechanismLigament2d bottomLigament) {
117+
private void setArrowAngle(double velocity, LoggedMechanismLigament2d topLigament, LoggedMechanismLigament2d bottomLigament) {
118118
if (velocity > deadband) {
119119
topLigament.setAngle(MechanismConstants.POSITIVE_TOP_ANGLE);
120120
bottomLigament.setAngle(MechanismConstants.POSITIVE_BOTTOM_ANGLE);

0 commit comments

Comments
 (0)