SeriouslyCommonLib API

Seriously Common Lib is a collection of common solutions to robot problems that FRC teams face while using WPILib and Java. It attempts to streamline basic functionality, provide the framework for more advanced programs, and promote clean and well-written code. It functions primarily as a wrapper around WPILib which allows the robot code to run separately from the robot-specific library and HAL, enabling unit tests that can be run on a PC or CI server.

For new teams that are haven't done much advanced programming before, this library has all the core code that is needed to get a robot running with advanced functionality without having to write the core systems from scratch. For more advanced teams, the common lib gives you a solid foundation of all the basics to start building your robot code on top of. You don't need to use the pre-built drive system or any of the other parts of the library if you don't want to; it's all modular.

Packages
Package
Description
 
 
 
The command framework, scheduler and subsystems.
 
Interfaces for interacting with actuator devices.
Mock implementations of actuator devices.
Implementations of actuator deices that work on physical robots.
 
Interfaces for input devices like buttons and sensors.
Classes for custom input types, like buttons or joystick axes.
Mock implementations of sensor devices.
Implementations of sensor devices that work on physical robots.
 
Components for use with Dagger.
 
Modules for use with Dagger.
Contains classes that are used to help with dependency injection with swerve drive robots.
 
Logic utilities.
Math utilities.
Networking utilities.
The property system.
 
Utilities for simulating robot operation on a computer.
Utilities used in writing autonomous programs.
Subsystems related to operating air compressors.
Subsystems related to the robot drive-train.
 
Subsystems for managing swerve drive modules.
Commands for use with swerve drive modules.
Subsystems for feedback devices, like rumble motors.
 
 
Base subsystems helpful for common devices.