-
Notifications
You must be signed in to change notification settings - Fork 0
MetalLib
Krithik Rao edited this page Mar 16, 2017
·
2 revisions
- CowGamepad
- An abstract class defining the methods and essential properties of any gamepad.
- GamepadButton
- A class of static integers defining various button ports corresponding with standard Xbox button mappings.
- AIRFLOController / Xbox360Controller
- Wrappers around the relevant controllers.
- ErrorController
- An abstract class defining the methods and essential properties of error controllers.
- TBHController
- An experimental control loop by an FRC team called take-back-half. Frequently used to tune flywheel speeds.
- PIDController
- A standard Proportion-Integral-Derivative loop used to control system positions.
##The DriveCommands Package
- DualDriveCommand
- An interface for any DriveCommand that can drive a two sided drivetrain.
- ArcadeDriveCommand
- A class to implement an arcade drive.
- TankDriveCommand
- A class to implement a tank drive.
- KVStore
- The KVStore interface defines a generic read-only Key-Value store
- PropertyStore
- A wrapper around the System Properties
- SmartDashStore
- A wrapper around the non-persistent SmartDashboard
- PreferenceStore
- A wrapper around the persistent Preferences on the SmartDashboard
- TaskRunner
- A wrapper around a scheduled executor allowing for single run tasks, killable tasks, entire sets of tasks, and allowing for the clearing of all tasks.
- UDPServer
- A generic UDPServer class to interface with any UDPClient.
-
ComponentBuilder Class
- A class to build generic components (motors, encoders, solenoids) using values from KVStore keys.
-
MetalRobot Class
- The MetalRobot class is used as an alternative to IterativeRobot, SimpleRobot, and CommandRobot. It extends RobotBase just like the other options.
- MetalRobot is a multithreaded version of the robot, utilizing TaskRunner to fully utilize both threads and run systems faster than iterative or command based.
- MetalRobot also allows for simple running of systems with ease, with a single method to schedule a controller to run during any mode.
- MetalRobot also has efficient logging to console of state switching and does not needlessly use up a thread.