Skip to content

Releases: REVrobotics/REV-Software-Binaries

REVLib 2025.0.0-beta-3

25 Nov 23:18
e5d1504
Compare
Choose a tag to compare
Pre-release

Improvements for Java and C++

  • Adds fields to Faults and Warnings structs for the raw bits representation of faults and warnings
  • Adds configuration option for setting whether the absolute encoder is zero-centered
  • Corrects simulation Conversion Factor default values to 1.0
    • Fixes issue where sensor .iterate methods would not set the position correctly
  • Fixes documentation for SparkMax.configure()
  • Fixes issue where multiple setpoint commands would be sent when switching control types on a SPARK, resulting in the motor oscillating between the different setpoints

REVLib 2025.0.0-beta-2

08 Nov 23:26
e5d1504
Compare
Choose a tag to compare
Pre-release

This is only for Java and C++. An update for LabVIEW will come at a later time.

This release requires WPILib 2025.1.1-beta-1 and SPARK MAX/Flex firmware v25.0.0 which can be downloaded and installed via the REV Hardware Client v1.6.7 Beta.

You can install the Java/C++ version of this library using this JSON URL in VSCode:

https://software-metadata.revrobotics.com/REVLib-2025.json

An offline install for Java/C++ can be found here.

API documentation:

Fixes for Java and C++

  • Fixes issue where setting certain parameters (follower mode, MAXMotion, and status signals) in simulation erroneously throws an exception
  • Fixes issue where retrieving auxiliary objects from a SPARK MAX (alternate encoder, absolute encoder, and limit switches) before setting the data port config with configure() can erroneously throw an exception

REVLib v2025.0.0 Beta 1 Release

05 Nov 00:00
e5d1504
Compare
Choose a tag to compare
Pre-release

This is the first beta release of REVLib for the 2025 FRC season. This initial release only includes changes for Java and C++. An update for LabVIEW will come at a later time.

This release requires WPILib 2025.1.1-beta-1 and SPARK MAX/Flex firmware v25.0.0 which can be downloaded and installed via the REV Hardware Client v1.6.7 Beta.

An offline installer for Java/C++ can be found here.

API documentation:

Major Changes

  • Moves to a more declarative approach for configuring SPARK devices
    • Adds SparkFlexConfig and SparkMaxConfig which includes settings for different aspects of the SPARK
    • Adds SparkBase.configure() method to apply a SPARK config object's settings to one or more SPARK devices
  • Adds support for MAXMotion
    • Adds control types MAXMotionPositionControl and MAXMotionVelocityControl
    • Adds MAXMotionConfig. Only trapezoidal profile is available at this time.
    • MAXMotion is not a drop-in replacement for Smart Motion, as you will need to retune PID gains.
  • Adds better support for simulation
    • Moves away from REVPhysicsSim to offer better support for WPILib physics simulation instead
    • Revamps simulation GUI data, including brand new fields for auxiliary devices
    • Adds Sim classes for each auxiliary device, allowing for more thorough simulation in the WPILib injection style
    • Adds SparkSim.iterate() method which features simulated current limits, closed-loop control, and more
    • Adds SparkSimFaultManager for throwing simulated faults
  • Improves experience with managing status signals from SPARK devices
    • Adds SignalsConfig
    • Automatically enables relevant status frames if a signal is requested by the user
  • Adds a configAccessor field to SPARK classes for reading configuration parameters directly from the device

Breaking Changes

  • Renames CANSparkFlex and CANSparkMax to SparkFlex and SparkMax respectively
  • Renames SparkPIDController to SparkClosedLoopController
  • Removes configuration parameter setter/getter methods. Use SparkBase.configure() and SparkBase.configAccessor instead.
  • Removes burnFlash() and restoreFactoryDefaults(). Use the ResetMode and PersistMode options in SparkBase.configure() instead.
  • Removes REVPhysicsSim in favor of new simulation system
  • Moves all SPARK related classes into a spark package in Java and namespace in C++

Other Changes

  • Deprecates kSmartMotion and SmartVelocity control types in favor of MAXMotionPositionControl and MAXMotionVelocityControl respectively.
  • Adds pauseFollowerMode() and resumeFollowerMode()
  • Allows follower mode to work even if the follower is not referenced in user code
  • Improves getting faults/warnings by returning a Faults or Warnings object
  • Adds hasActiveFault(), hasStickyFault(), hasActiveWarning(), and hasStickyWarning() to check if there is a fault/warning present at all on the SPARK device
  • Adds support for specifying an absolute encoder's duty cycle start and end pulse widths in AbsoluteEncoderConfig

SPARK MAX Firmware 24.0.1

11 Jan 22:14
198462b
Compare
Choose a tag to compare
  • Improves filtering of invalid PWM signals
    • Previously, noise on the signal wires could be occasionally be erroneously interpreted as a PWM signal, causing the motor to spin unexpectedly

SPARK MAX Firmware 24.0.0

06 Jan 10:59
198462b
Compare
Choose a tag to compare

Breaking Changes

  • Moves the IAccum value to periodic status frame 7
    • Periodic status frame 7 is new to this release, and by default is sent every 250ms.

Enhancements

  • Allows changing the CAN ID of a SPARK MAX connected directly via USB without affecting other SPARK devices on the CAN bus with the same CAN ID
  • Makes changes towards improving the reliability of saving and persisting parameters

Bug fixes

  • Fixes alternate encoder position accuracy
  • Fixes the main quadrature encoder position jumping in brushed mode

SPARK MAX Firmware 1.6.3

30 Jan 17:54
198462b
Compare
Choose a tag to compare

Version 1.6.3

  • Fixes issue where changing the inversion mode of the duty cycle absolute encoder with a zero offset specified would cause the physical zero position to change

SPARK MAX Firmware 1.6.2

13 Jan 20:01
198462b
Compare
Choose a tag to compare

Version 1.6.2

  • Fixes critical issue where new parameters introduced in 1.6.0 were not being burned to flash correctly
  • Fixes issue where new parameters were not being read back correctly despite being set correctly

SPARK MAX Firmware 1.6.1

06 Jan 19:37
198462b
Compare
Choose a tag to compare

Version 1.6.1

  • Fixes duty cycle offset to match the inverted setting
  • Fixes parameters being NaN after updating to 1.6.0
  • Fixes burn flash command response

Version 1.6.0

  • Adds new parameters for configuring hall sensor velocity measurement
  • Adds support for duty cycle absolute encoders
  • Adds new parameters to enable and configure position PID rollover

SPARK Flex Firmware 24.0.8

26 Mar 23:08
198462b
Compare
Choose a tag to compare
  • Fixes bug in velocity calculation when changing the encoder average depth
  • Fixes issue causing motor EEPROM to occasionally reload fully after disabling the motor, causing brief dropout of status frames

SPARK Flex Firmware 24.0.7

18 Mar 18:02
198462b
Compare
Choose a tag to compare
  • Adds parameters for status frame periods
  • Performs contextual validation on the sensor type parameter
  • Always keeps the hall sensor active when in brushless mode, in addition to the specified sensor type
  • Recalculates the hall angle more frequently to prevent lockup