Package Structure
The main package isedu.wpi.first.wpilibj and contains all core robot programming APIs.
Core Robot Classes
TimedRobot
Event-driven robot framework with periodic callbacks
DriverStation
Interface to FMS and driver station data
RobotController
Access to roboRIO system-level functions
RobotBase
Base class for all robot programs
Hardware I/O
Digital I/O
| Class | Description |
|---|---|
DigitalInput | Read digital input signals |
DigitalOutput | Control digital output signals |
Counter | Count digital pulses and edges |
Encoder | Quadrature encoder support |
DutyCycle | Read PWM duty cycle signals |
DutyCycleEncoder | Absolute encoders using duty cycle |
Analog I/O
| Class | Description |
|---|---|
AnalogInput | Read analog voltage inputs (0-5V) |
AnalogOutput | Generate analog voltage outputs |
AnalogEncoder | Analog absolute encoder support |
AnalogPotentiometer | Potentiometer input with scaling |
AnalogTrigger | Trigger actions based on analog thresholds |
Motor Controllers
| Class | Description |
|---|---|
PWMSparkMax | Control REV Robotics SPARK MAX |
PWMTalonSRX | Control CTRE Talon SRX |
PWMVictorSPX | Control CTRE Victor SPX |
Spark | Generic SPARK controller |
Talon | Generic Talon controller |
VictorSP | Victor SP controller |
Servo | Standard servo control |
Pneumatics
| Class | Description |
|---|---|
Compressor | Control pneumatic compressor |
Solenoid | Single solenoid valve control |
DoubleSolenoid | Double solenoid valve control |
Sensors
Gyroscopes
ADIS16448_IMU- Analog Devices IMUADIS16470_IMU- Analog Devices IMUADXRS450_Gyro- Analog Devices SPI gyroAnalogGyro- Analog gyroscope
Accelerometers
ADXL345_I2C- I2C accelerometerADXL345_SPI- SPI accelerometerADXL362- SPI accelerometerBuiltInAccelerometer- roboRIO accelerometer
TimedRobot
TheTimedRobot class provides a framework where methods are called periodically at a fixed rate.
Example Usage
DriverStation
Provides access to driver station data and FMS information.AddressableLED
Control addressable RGB LED strips.Filesystem
Access robot filesystem paths.CAN Communication
| Class | Description |
|---|---|
CAN | Low-level CAN bus communication |
CANData | CAN message data container |
Data Logging
| Class | Description |
|---|---|
DataLogManager | Manage robot data logging |
Alert | Create and manage robot alerts |
Utility Classes
| Class | Description |
|---|---|
Timer | Timing and delay utilities |
Watchdog | Monitor loop timing |
Notifier | Schedule callbacks |
EventLoop | Event-driven programming |
AsynchronousInterrupt | Handle hardware interrupts |
Source Code
View the full source code on GitHub:Related Documentation
WPILibC API
C++ implementation of WPILib
Command Framework
Command-based programming framework
HAL API
Hardware Abstraction Layer
WPIMath
Mathematics and control libraries