Interface ClimberIO
- All Known Implementing Classes:
ClimberIORevServoReal
public interface ClimberIO
Interface for controlling the climber's hardware components. This interface defines methods for
controlling two servos and reading various sensor inputs: - A plunger servo that moves between
receive and plunge positions - A locking servo that secures the climbing cage - Cage limit
switches for detecting if the climbing mechanism is engaged
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classAutoLogged class that contains all the inputs from the climber hardware. -
Method Summary
Modifier and TypeMethodDescriptiondefault voidDisables the elevator locking servodefault voidDisables the locking servo.default voidDisables the plunger servo.default voidEnables the elevator locking servodefault voidEnables the locking servo.default voidEnables the plunger servo.default booleanGets the state of both cage limit switches.default voidsetElevatorLockingServoLocked(boolean elevatorLockingServoLocked) default voidsetLockingServoLocked(boolean lockingServoLocked) Sets the locked state of the locking servo.default voidsetPlungerServoPosition(Angle angle) Sets the position of the plunger servo.default voidUpdates the input values with current hardware states.
-
Method Details
-
getCageSwitches
default boolean getCageSwitches()Gets the state of both cage limit switches.- Returns:
- true if both cage switches are activated
-
updateInputs
Updates the input values with current hardware states.- Parameters:
inputs- The ClimberIOInputs object to update
-
enableLockingServo
default void enableLockingServo()Enables the locking servo. -
disableLockingServo
default void disableLockingServo()Disables the locking servo. -
enablePlungerServo
default void enablePlungerServo()Enables the plunger servo. -
disablePlungerServo
default void disablePlungerServo()Disables the plunger servo. -
enableElevatorLockingServo
default void enableElevatorLockingServo()Enables the elevator locking servo -
disableElevatorLockingServo
default void disableElevatorLockingServo()Disables the elevator locking servo -
setPlungerServoPosition
Sets the position of the plunger servo.- Parameters:
angle- The desired angle for the plunger servo
-
setLockingServoLocked
default void setLockingServoLocked(boolean lockingServoLocked) Sets the locked state of the locking servo.- Parameters:
lockingServoLocked- true to lock, false to unlock
-
setElevatorLockingServoLocked
default void setElevatorLockingServoLocked(boolean elevatorLockingServoLocked)
-