For the complete documentation index, see llms.txt. This page is also available as Markdown.

Changelog

This is the Changelog for SolversLib versions for 0.3.1 and higher. It includes the changes made from the previous iteration, and important notes for it as well. You can change SolversLib documentation versions by using the selector in the top left corner.

0.3.5

Core:

  • Added preRun() method to CommandOpMode, which runs once after "Play" is pressed and before the main run() loop starts

    • preRun() is not called if the OpMode is stopped during the init phase

  • Bug fixed CascadeController velocity measurement to use the change in measured position instead of the change in error

  • Bug fixed CascadeController outputting NaN on the first control loop cycle

  • Bug fixed CascadeController's primary controller not receiving the position setpoint

  • Added reset() override to CascadeController that also resets its primary and secondary controllers

  • Added getMeasuredVel() method to CascadeController

General:

  • Changed the FTC SDK dependencies of all modules (core, pedroPathing, and photon) to compileOnly, so SolversLib no longer pins an SDK version and works with newer FTC SDK versions

  • Split the license into FIRST-LICENSE and 23511-LICENSE

0.3.4

Core:

  • Fixed bug with RunMode in MotorEx using distance instead of position

  • Added ServoExGroup

  • Added optional GamepadEx Slew Rate Limiters (mostly for swerve, but can be used for mecanum chassis as well)

  • Added optional P2PController Slew Rate Limiters (for swerve)

  • Added mirror() method to Pose2d for alliance swapping

  • Updated swerve kinematics with maxSpeed

  • Refactored Timing class

    • Stopwatch

    • Timer

    • Rate (Refresh Rate Timer)

  • Added rawPower tracking and access in hardware classes

  • Bug fixed MotorEx 's PositionControl using encoder.getPosition() instead of encoder.getDistance()

  • Added LambdaCommand

  • Added SubsystemBase isAvailable() method

  • Added CommandScheduler getScheduledCommands() method

  • Added Commands utility class for pre-defined actions (not to be confused with the Command interface)

  • Added CallbackCommand

  • Bug fixed deadline end() command in ParallelDeadlineGroup

PedroPathing:

  • Fixed maxPower not saving for multiple paths

Photon (NEW):

  • Added stable PhotonCore for FTC

0.3.3

Core:

PedroPathing:

0.3.2

Core:

  • Added beta SquID support and early Swerve Kinematics

  • Fixed CommandScheduler's cancelAll() from throwing an error

  • Added additional constructors to RepeatCommand

  • Rewrote SolversHardware wrappers into hardware

PedroPathing:

0.3.1

Core:

Pedro Pathing: