AdvantageKit

Logging & replay framework for FRC

GPL-3.0 License

Stars
156

Bot releases are hidden (Show)

AdvantageKit - v4.0.0-alpha-1 Latest Release

Published by jwbonner 3 days ago

This release adds support for the first 2025 beta of WPILib. No example projects or functional changes are included. This release is intended only for teams updating existing projects to the 2025 WPILib beta. The full beta of AdvantageKit 2025 will be released at a later date.

Based on WPILib 2025.1.1-beta-1

AdvantageKit - v3.2.1

Published by jwbonner 5 months ago

This release fixes an issue causing joystick buttons, axes, and POVs to be inaccessible when a TCP connection is not established to the Driver Station.

Based on WPILib 2024.3.2

AdvantageKit - v3.2.0

Published by jwbonner 7 months ago

  • Updated to WPILib 2024.3.2
  • Added garbage collection timing data to LoggedRobot
  • Use thread for file IO in RIO console source (improves reliability and reduces impact on robot loop timing)
  • Added method to optionally disable console capture
  • Added thread safety warnings to Javadoc for common methods (#80)
  • Fixed SparkMax registerSignal call in advanced swerve template (#84)
  • Added support for RLOG R2

Based on WPILib 2024.3.2

AdvantageKit - v3.1.1

Published by jwbonner 8 months ago

This release fixes several issues, and we recommend that all teams update to the latest version. See the release post for more details.

  • Fixed alliance and station numbers published to the "FMSInfo" table
  • Added warning when logging data using protobuf
  • Fixed RIO console capture loop overruns after removing SD card

Based on WPILib 2024.3.1

AdvantageKit - v3.1.0

Published by jwbonner 8 months ago

Several of the changes in this release affect the AdvantageKit example projects. See the announcement post for more details on adapting existing projects.

  • Updated WPILib to 2024.3.1
  • Added support for new URCL format introduced in 2024.1.0
  • Added runEveryN method to Logger (#70)
  • Decreased default write period for WPILOGWriter in simulation
  • Improved performance of conduit system stats read
  • Improved performance of RIO console capture
  • Decreased rate of CAN status polling to reduce measurement noise (#71)
  • Fixed brownout voltage logging
  • Added warning when attempting to log incompatible types
  • Skip logging null values instead of throwing NullPointerException

Example project changes:

  • Fixed LocalADStarAK in example projects (#69)
  • Added limit for queue capacity for advanced swerve example (#73)
  • Added error checking for odometry Spark Max values in advanced swerve example
  • Switched stator current to supply current for all Talon FX/SRX examples
  • Fixed measured state logging in swerve example projects
  • Added note visualizer to KitBot example project
  • Updated all vendordeps

Based on WPILib 2024.3.1

AdvantageKit - v3.0.2

Published by jwbonner 9 months ago

This is a patch release to fix robot code builds on Windows. For more information on the changes since v3.0.0, see the v3.0.1 release.

Based on WPILib 2024.2.1

AdvantageKit - v3.0.1

Published by jwbonner 9 months ago

Several of the changes in this release affect the AdvantageKit example projects. See the announcement post for more details on adapting existing projects.

  • Updated to WPILib 2024.2.1
  • Added alliance flipping for teleop driving in swerve examples
  • Switched swerve example projects to use SwerveDrivePoseEstimator
  • Added SysId to all example projects (replacing the FeedForwardCharacterization command, see the docs)
  • Fixed updateInputs implementation for differential drive examples (#66)
  • Removed SysIdRoutineLog shim (related to https://github.com/wpilibsuite/allwpilib/pull/6259)
  • Improved parsing of WPILib version for CheckInstall
  • Updated example project vendordeps
  • Added realistic defaults for all shimmed values (fixes #63)

Based on WPILib 2024.2.1

AdvantageKit - v3.0.0

Published by jwbonner 9 months ago

This is the 2024 kickoff release of AdvantageKit, based on the kickoff release of WPILib 2024.

  • Added 2024 KitBot example project.
  • Updated to WPILib 2024.1.1
  • Updated all example projects for 2024
  • Added support for URCL: Unofficial REV-Compatible Logger (docs)
  • Added shim for SysIdRoutineLog to avoid creating unnecessary log files (see https://github.com/wpilibsuite/allwpilib/issues/6175)
  • Added package override to AutoLogOutputManager (#55)
  • Added support for serialization marker interfaces, enabling more compile-time checks for serialization support
  • Added offline Maven zip (docs)
  • Fixed AutoLogOutput scan for null items in arrays (#61)

Based on WPILib 2024.1.1

AdvantageKit - v3.0.0-beta-6

Published by jwbonner 10 months ago

  • Updated to WPILib 2024.1.1-beta-4
  • Added AutoLogOutput support for Measure
  • Added support for enum logging as inputs and outputs (#54)
  • Added constructor to WPILOGWriter for default logging path ("/U/logs" on the RIO, "logs" in sim)
  • Replaced custom struct handling for SwerveModuleState and Trajectory with built-in WPILib support (#53)
  • Updated Phoenix version for example projects
  • Improved reliability of log renaming based on timestamp

Based on WPILib 2024.1.1-beta-4

AdvantageKit - v3.0.0-beta-5

Published by jwbonner 11 months ago

  • Added "Advanced Swerve Drive" example project
  • Fixed default inversion of Pigeon 2 yaw in example projects
  • Updated PathPlannerLib and Phoenix 6 vendordeps in example projects
  • Added WPILib version checker (runs in simulation or with Gradle task, recommended in installation docs and included in example projects)
  • Fixed several issues related to inheritance and AutoLogOutput:
    • Annotation keys in superclasses can now refer to fields in their own class
    • Annotation keys can refer to fields in superclasses (so long as they are public or protected)
    • When a key is not provided, the name of the declaring class is used instead of the instantiated class

Based on WPILib 2024.1.1-beta-3

AdvantageKit - v3.0.0-beta-4

Published by jwbonner 11 months ago

  • Added support for field values in AutoLogOutput custom keys (see here)
  • Added support for MutableMeasure as an input type

Based on WPILib 2024.1.1-beta-3

AdvantageKit - v3.0.0-beta-3

Published by jwbonner 11 months ago

  • Added annotation system for logging outputs periodically (see here)
  • Added support for wpiunits Measure objects (see here)
  • Added option to adjust WPILOGWriter flush period (#52)
  • Updated LoggedRobot timing measurement to include after-user periodic function in "log periodic"
  • Updated example projects to use output logging annotation
  • Fixed import of AutoBuilder import in swerve example project

Based on WPILib 2024.1.1-beta-3

AdvantageKit - v3.0.0-beta-2

Published by jwbonner 12 months ago

  • Updated to WPILib 2024.1.1-beta-3
  • Added method overloads for logging int32 data (including AutoLog support)
  • Fixed crash when logging folder doesn't exist (#50)
  • Added LoggedDashboardChooser constructor to copy from an existing SendableChooser (improves compatibility with PathPlanner's AutoBuilder API)
  • Fixed motor inversions for TalonFX module implementation in swerve template project
  • Renamed TalonFX module gear ratio constants in swerve template project
  • Switched swerve module sim implementations to DCMotorSim instead of FlywheelSim
  • When deterministic timestamps are disabled, switched to using the logged timestamp in replay instead of the real timestamp

Based on WPILib 2024.1.1-beta-3

AdvantageKit - v3.0.0-beta-1

Published by jwbonner 12 months ago

  • Updated to WPILib 2024.1.1-beta-2
  • Added new fields to system stats (all remaining data available through RobotController)
  • Added support for struct & protobuf logging (outputs and inputs)
  • Added struct & protobuf support to AutoLog
  • Added swerve example project
  • Updated skeleton & differential drive projects for 2024, including support for Phoenix 6
  • Switched Logger, LoggedDriverStation, and LoggedSystemStats to static interfaces instead of singletons
  • Renamed getter methods on LogTable to use implicit types

Based on WPILib 2024.1.1-beta-2

AdvantageKit - v2.2.4

Published by jwbonner over 1 year ago

  • Updated to WPILib 2023.4.3

Based on WPILib 2023.4.3

AdvantageKit - v2.2.3

Published by jwbonner over 1 year ago

This release addresses several issues related to automatic log renaming (see #36). Notable fixes:

  • Log files from matches now correctly include both the timestamp and match identifier.
  • Log files created before a timestamp is received from the DS now use a random identifier to avoid naming conflicts. This reduces the risk of losing log data due to an incorrect timestamp.

Based on WPILib 2023.4.2

AdvantageKit - v2.2.2

Published by jwbonner over 1 year ago

This release fixes an issue causing logs to occasionally be named with inaccurate timestamps, especially after a clean RIO shutdown. Related to allwpilib#5164.

Based on WPILib 2023.4.2

AdvantageKit - v2.2.1

Published by jwbonner over 1 year ago

  • Updated to WPILib 2023.4.2

Based on WPILib 2023.4.2

AdvantageKit - v2.2.0

Published by camearle20 over 1 year ago

Original release by @jwbonner, re-released to fix artifact publishing issues

  • Updated to WPILib 2023.4.1
  • Enabled wpimath timestamp mocking with MathShared. This fixes the issue in the last release that caused nondeterministic behavior in replay.
  • Added a method to optionally disable deterministic timestamps globally. For more information, see "Deterministic Timestamps"
    Based on WPILib 2023.4.1
AdvantageKit - v2.1.2

Published by jwbonner over 1 year ago

  • Updated to WPILib 2023.3.2
  • Fixed an issue causing high memory usage and crashes when reading console text on the RIO (#32)
  • Updated the example projects to recommend JSON parsing for the AutoLog version in "build.gradle". This means that AdvantageKit updates will only require a new vendordep and NOT changes to "build.gradle". More information here.

Based on WPILib 2023.3.2