Skip to content

Releases: REVrobotics/REV-Software-Binaries

REVLib 2024.2.0

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

Official 2024 FRC kickoff release for REVLib, with full support for SPARK Flex. Requires WPILib 2024 and SPARK Flex/SPARK MAX firmware 24.x.x.

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

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

The REVLib LabVIEW package is available to download here.

C++ docs: https://codedocs.revrobotics.com/cpp/
Java docs: https://codedocs.revrobotics.com/java/

Changes to C++, Java, and LabVIEW

  • Throws an error if firmware version is less than 24.0.0
  • Throws an error if the motor type is set to Brushed on a SPARK Flex while a SPARK Flex Dock is not connected
  • Gets main encoder position with enhanced precision

Changes to C++ and Java

  • Sends a warning to the Driver Station if the wrong class is used for the type of SPARK that is connected
  • Adds CanSparkBase class that exposes functionality that is common to both the SPARK MAX and the SPARK Flex
  • Adds CanSparkFlex class that exposes all functionality of the SPARK Flex
    • CanSparkFlex has a getExternalEncoder() method that returns a SparkFlexExternalEncoder instead of a getAlternateEncoder() method that returns a SparkMaxAlternateEncoder.
    • This is because Alternate Encoder Mode is not necessary for SPARK Flex, and has been replaced by the External Encoder Data Port feature:
      • Can be used simultaneously with the internal encoders in NEO class motors
      • Can be used simultaneously with an absolute encoder and limit switches
      • Virtually no RPM limit
      • No special configuration
  • The following items have been deprecated in favor of new equivalents:
    • Instead of CANSparkMaxLowLevel, use CANSparkLowLevel
    • Instead of SparkMaxAbsoluteEncoder, use SparkAbsoluteEncoder
    • Instead of SparkMaxAnalogSensor, use SparkAnalogSensor
    • Instead of SparkMaxLimitSwitch, use SparkLimitSwitch
    • Instead of SparkMaxPIDController, use SparkPIDController
    • Instead of SparkMaxRelativeEncoder, use SparkRelativeEncoder
    • Instead of ExternalFollower.kFollowerSparkMax, use ExternalFollower.kFollowerSpark
      • The ExternalFollower enum can be accessed at CANSparkMax.ExternalFollower, CANSparkFlex.ExternalFollower, or CANSparkBase.ExternalFollower
  • Adds a CANSparkBase.getSparkModel() method that returns a SparkModel enum

Changes to LabVIEW

  • Deprecates old VIs that are prefixed with "Spark MAX" and replaces them with VIs prefixed with "SPARK"
    • Deprecated icons are "grayed out"
    • Help context (documentation) for deprecated VIs point the user to the equivalent new VI
    • New icons say "SPARK" instead of "REV MAX"
  • Adds SPARK Get Model.vi
  • Fixes SPARK Get Analog Sensor Voltage.vi when used with a SPARK Flex
  • Updates SPARK Get I Accum.vi to get I Accum from status 7 instead of status 2
  • Updates "Alternate Encoder" VIs to be "Alternate or External Encoder"
    • Only throw the data port config warnings when the device is a SPARK MAX

REVLib 2023.1.3

01 Feb 23:31
198462b
Compare
Choose a tag to compare

This version of REVLib requires SPARK MAX Firmware v1.6.3. Please update your SPARK MAX through the REV Hardware Client to use with REVLib 2023.1.3.

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

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

The REVLib LabVIEW package is available to download here.

C++ docs: https://codedocs.revrobotics.com/cpp/
Java docs: https://codedocs.revrobotics.com/java/

Changelog:

  • Improves documentation for the setZeroOffset() and getZeroOffset() methods on Absolute Encoder objects
  • Fixes issue where reading an absolute encoder’s zero offset could return an incorrect value in certain conditions

REVLib 2023.1.2

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

This version of REVLib requires SPARK MAX Firmware v1.6.2. Please update your SPARK MAX through the REV Hardware Client to use with REVLib 2023.1.2.

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

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

The REVLib LabVIEW package is available to download here.

C++ docs: https://codedocs.revrobotics.com/cpp/
Java docs: https://codedocs.revrobotics.com/java/

Changelog:

  • Adds support to configure the hall sensor's velocity measurement
    • C++/Java: Updates SetMeasurementPeriod() and SetAverageDepth() in the SparkMaxRelativeEncoder class to be used when the relative encoder is configured to be of type kHallSensor.
    • LabVIEW: Adds SPARK MAX Configure Hall Sensor.vi and SPARK MAX Get Hall Sensor Config.vi to set and get the hall sensor's measurement period and average depth.

REVLib 2023.1.1

06 Jan 18:50
198462b
Compare
Choose a tag to compare

Official 2023 FRC kickoff release for REVLib. This release mainly adds capabilities for the SPARK MAX designed for use with swerve modules, such as the REV 3in MAXSwerve Module.

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

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

The REVLib LabVIEW package is available to download here.

C++ docs: https://codedocs.revrobotics.com/cpp/
Java docs: https://codedocs.revrobotics.com/java/

Changelog:

  • Adds support for using a duty cycle absolute encoder as a feedback device for the SPARK MAX.
    • C++/Java: Adds SparkMaxAbsoluteEncoder class.
    • LabVIEW: Adds VIs for configuring and getting the values from a duty cycle absolute encoder.
  • Adds Position PID Wrapping to allow continuous input for the SPARK MAX PID controller.
    • C++/Java: Adds PositionPIDWrapping methods to the SparkMaxPIDController class.
    • LabVIEW: Adds VIs for setting and getting the Position PID Wrapping configuration.
  • Allows configuring the periodic frame rates for status frames 4-6.

Known issues:

  • SparkMaxPIDController.setIAccum() only works while the control mode is active

REVLib 2022.1.2

07 Mar 23:41
198462b
Compare
Choose a tag to compare

Breaking Changes

  • LabVIEW: The version of NI Package Manager bundled with the FRC LabVIEW offline installer will no longer work when installing the REVLib package. NIPM must be updated to the latest version or installed from the FRC LabVIEW online installer to be able to install this package of REVLib for LabVIEW

Enhancements

  • LabVIEW: Adds Spark MAX Set Inverted.vi and Spark MAX Get Inverted.vi

Known issues

  • SparkMaxPIDController.setIAccum() only works while the control mode is active
  • LabVIEW: VIs to get the SPARK MAX controller parameters do not work

REVLib 2022.1.1

11 Jan 00:50
198462b
Compare
Choose a tag to compare

Fixes

  • Adds Linux aarch64 (64-bit ARM) build
  • C++: Adds missing GetAlternateEncoder(int countsPerRev) method

Known issues

  • SparkMaxPIDController.setIAccum() only works while the control mode is active

REVLib 2022.1.0

07 Jan 23:32
198462b
Compare
Choose a tag to compare

Enhancements

  • Java: Adds initial WPILib simulation support
    • Supports ControlType.kVelocity and ControlType.kVoltage
    • To use, make the following modifications to your Robot class (adjust parameters as necessary):
      • Call RevPhysicsSim.getInstance().addSparkMax(sparkMax, DCMotor.getNEO(1)) from simulationInit()
      • Call RevPhysicsSim.GetInstance.run() from simulationPeriodic()
      • These changes will keep the simulated position value up-to-date.
    • Limitations
      • When in simulation mode, calling setReference() will only update the velocity of the primary encoder, even if SparkMaxPIDController.setFeedbackDevice() was called with a different feedback sensor

Fixes

  • C++: Fixes move semantics for supported classes

Known issues

  • SparkMaxPIDController.setIAccum() only works while the control mode is active

Pneumatic Hub firmware 23.0.1

01 Feb 21:49
198462b
Compare
Choose a tag to compare
  • Fixes issue where compressor channel does not turn on after updating to v2023.0.0 without explicitly setting a compressor mode

Pneumatic Hub firmware 23.0.0

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

NOTE: Upgrading from v22.x.x to this version will clear sticky faults and compressor settings.

  • Improves device brownout detection
  • Improves CAN fault detection
  • Improves robustness against soft-bricking

Pneumatic Hub firmware 22.0.5

28 Mar 21:59
198462b
Compare
Choose a tag to compare
  • Reduces stutters in compressor and solenoids with high CAN utilization