AdvantageKit is a logging, telemetry, and replay framework developed by Team 6328. AdvantageKit enables log replay, where the full state of the robot code can be replayed in simulation based on a log file (What is AdvantageKit?). See also:
- AdvantageScope, our robot telemetry application which does not require AdvantageKit to use.
- WPILib Data Logging, a simpler logging system included in WPILib (does not support log replay in simulation, but covers the needs of most teams).
View the online documentation.
Feedback, feature requests, and bug reports are welcome on the issues page. For non-public inquires, please send a message to software@team6328.org.
Sample Projects
Looking to get started quickly? Check out the AdvantageKit example projects. There are versions for differential and swerve drives, from minimal to advanced (including a project designed for the 2024 FIRST KitBot). Zip files for each project are attached to the latest release.
Also take a look at the examples below of teams utilizing AdvantageKit in their competition code:
Repository Structure
Logging
- junction - Primary component of logging, manages the flow of data between user code, WPILib, log files, network clients, etc. Written in Java.
- junction/core - Central system for managing data, including reading and writing from log files and user code.
- junction/shims - Replaces components of other libraries (WPILib) to interact directly with
junction
.
- junction/shims/wpilib - Replaces WPILib components to read data from
junction
instead of the HAL.
- junction/autolog - Annotation procesor for creating log input classes.
- conduit - Transfers data between
junction
and the WPILib HAL efficiently. Written in C++ and Java.
General
- build_tools - Utilities to assist with building in Bazel and interfacing with WPILib and the roboRIO.
- third_party - Tools for integrating third party libraries like WPILib.