package canStateMachine; import Systems.CANDriveAssembly; public class DriveForwardState extends AutoState { private boolean isPWM = false; private double speed = 0.0; public DriveForwardState(boolean isPWM, double speed) { this.speed = speed; this.isPWM = isPWM; if (isPWM) { this.name = "<PWM Drive Forward State - NOT SUPPORTED>"; //PWMDriveAssembly.initialize(); } else { this.name = "<CAN Drive Forward State>"; CANDriveAssembly.initialize(); } } public DriveForwardState(String name, boolean isPWM, double speed) { this.name = name; this.speed = speed; this.isPWM = isPWM; // PWMDriveAssembly not supported CANDriveAssembly.initialize(); } // state entry public void enter() { // do some drivey initialization // PWMDriveAssembly not supported CANDriveAssembly.autoInit(); super.enter(); } // called periodically public AutoState process() { // do some drivey stuff // PWMDriveAssembly not supported CANDriveAssembly.autoPeriodicStraight(speed); return super.process(); } // state cleanup and exit public void exit() { // do some drivey cleanup // PWMDriveAssembly not supported CANDriveAssembly.autoStop(); // cleanup base class super.exit(); } }