The YAMS Java API is organized into six top-level areas: mechanisms (yams.mechanisms), mechanism configuration (yams.mechanisms.config), motor controllers (yams.motorcontrollers), swerve drive (yams.swerve), math and control (yams.math), and units/utilities (yams.units). Each mechanism class accepts a corresponding config object built with a fluent builder pattern, and all mechanisms publish telemetry to NetworkTables automatically.
Top-level packages
yams.mechanisms: Arm, Elevator, Pivot, FlyWheel, DoubleJointedArm, DifferentialMechanismyams.mechanisms.config: ArmConfig, ElevatorConfig, PivotConfig, FlyWheelConfig, DifferentialMechanismConfigyams.motorcontrollers: SmartMotorController, SmartMotorControllerConfig, SparkWrapper, TalonFXWrapperyams.swerve: SwerveDrive, SwerveModule, SwerveDriveConfig, SwerveModuleConfig, SwerveInputStreamyams.gearing: GearBox, Sprocket, MechanismGearingyams.math: SmartMath, ExponentialProfilePIDController, LQRConfig, LQRController, DerivativeTimeFilteryams.units: YUnits, EasyCRT