package canStateMachine; import Systems.FrontArmAssembly; import Systems.GyroSensor; // event triggered when gyro gets to a certain predetermined angle public class ArmPositionEvent extends Event { private double targetPos; private final double accuracyTicks = 4096; public ArmPositionEvent(double targetPos) { this.targetPos = targetPos; FrontArmAssembly.initialize(); } // overloaded initialize method public void initialize() { //System.out.println("GyroAngleEvent initialized!"); super.initialize(); } // overloaded trigger method public boolean isTriggered() { double currPos = FrontArmAssembly.getPosition(); //System.out.println("currPos = " + currPos + " targetPos = " + targetPos); if (Math.abs(currPos - targetPos) < accuracyTicks) { System.out.println("ArmPositionEvent triggered!"); return true; } return false; } }