Skip to content

Releases: REVrobotics/REV-Software-Binaries

Control Hub OS 1.1.4

26 Feb 18:59
198462b
Compare
Choose a tag to compare
  • Reduces the frequency of an issue that could cause the BHI260AP IMU to reset after an ESD event

Control Hub OS 1.1.3

28 Sep 16:15
198462b
Compare
Choose a tag to compare
  • Adds support for new alternative built-in BHI260AP IMU on Control Hub
  • Improves reliability of the Wi-Fi access point monitoring feature

REVLib 2024.1.1 (beta)

02 Jan 23:55
198462b
Compare
Choose a tag to compare
Pre-release

Adds support for SPARK Flex. This release is not intended for competition use in the 2024 FRC season. It is compatible with SPARK Flex firmware 23.x.x and SPARK MAX firmware 1.6.x, and requires WPILib 2024.

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

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

This update is not yet available for LabVIEW. You can continue to use the 2024.0.0 beta version. Even though the VIs are named for the SPARK MAX, they will work with the SPARK Flex as well.

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

Changelog

  • Compatible with SPARK Flex firmware 23.x.x and SPARK MAX firmware 1.6.x
  • 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

REVLib 2024.0.0 (beta)

19 Oct 21:01
198462b
Compare
Choose a tag to compare
Pre-release

2024 beta release of REVLib. This requires the WPILib 2024 beta.

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/

Known issues:

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

REVLib 2023.0.1

16 Dec 17:34
198462b
Compare
Choose a tag to compare
REVLib 2023.0.1 Pre-release
Pre-release

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

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

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

Changelog:

  • Adds support for osxuniversal

Known issues:

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

REVLib 2023.0.0

03 Nov 20:49
198462b
Compare
Choose a tag to compare
REVLib 2023.0.0 Pre-release
Pre-release

2023 beta release of REVLib. This requires the WPILib 2023 beta.

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

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

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

Known issues:

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

Driver Hub OS 1.2.0

29 Dec 23:30
13f6735
Compare
Choose a tag to compare
  • Fixes issue where the Wi-Fi would sometimes stop working after waking up from sleep
  • Improves accuracy of the reported battery charge level
  • Speeds up the process of waking up from sleep
  • Shortens the amount of time the Driver Hub has to charge from a dead battery before it can boot
  • Fixes issue where the green power LED would stay lit during sleep
  • Fixes issue where a homescreen shortcut to the FTC Driver Station app would stop working after updating it to version 7.0 or later
  • Auto-approves the Driver Station app to access already plugged-in USB devices
  • Updates Wi-Fi driver

REVLib 2022.0.0

19 Nov 18:16
5a39a68
Compare
Choose a tag to compare

First release of REVLib, which replaces the SPARK MAX API and the REV Color Sensor V3 API.

You can install the C++/Java version of this library using this JSON URL in VSCode:
https://software-metadata.revrobotics.com/REVLib.json

Alternate URL for use with WPILib 2022 beta 3
The version of VS Code in WPILib beta 3 erroneously rejects the certificate used at that URL. As a workaround, you can use the following URL instead:
https://rev-robotics-software-metadata.netlify.app/REVLib.json

You can install the LabVIEW version of this library by installing this package.

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

Breaking changes

  • C++/Java: CANError has been renamed to REVLibError.
  • Java: ColorMatch.makeColor() and the ColorShim class have been removed. Use the WPILib Color class instead.
  • C++/Java: Deleted deprecated constructors, methods, and types
    • Replace deprecated constructors with CANSparkMax.getX() functions.
    • Replace CANEncoder.getCPR() with getCountsPerRevolution().
    • Remove all usages of CANDigitalInput.LimitSwitch.
    • Replace CANSparkMax.getAlternateEncoder() with CANSparkMax.getAlternateEncoder(int countsPerRev).
    • Remove all usages of CANSparkMax.setMotorType(). You can only set the motor type in the constructor now.
    • Replace SparkMax with PWMSparkMax, which is built into WPILib.
  • Java: CANSparkMax.get() now returns the velocity setpoint set by set(double speed) rather than the actual velocity, in accordance with the WPILib MotorController API contract.
  • C++/Java: CANPIDController.getSmartMotionAccelStrategy() now returns SparkMaxPIDController.AccelStrategy.
  • C++/Java: Trying to do the following things will now throw an exception:
    • Creating a CANSparkMax object for a device that already has one
    • Specifying an incorrect countsPerRev value for a NEO hall sensor
    • Java: Calling a CANSparkMax.getX() method using different settings than were used previously in the program
    • Java: Trying to use a CANSparkMax (or another object retrieved from it) after close() has been called
    • C++: Calling a CANSparkMax.getX() method more than once for a single device
  • C++/Java: Deprecated classes in favor of renamed versions
    • C++ users will get cannot declare field to be of abstract type errors until they replace their object declarations with ones for the new classes. Java users will be able to continue to use the old classes through the 2022 season.
    • AlternateEncoderType is replaced by SparkMaxAlternateEncoder.Type.
    • CANAnalog is replaced by SparkMaxAnalogSensor.
    • CANDigitalInput is replaced by SparkMaxLimitSwitch.
    • Java: CANEncoder is replaced by RelativeEncoder.
    • C++: CANEncoder is replaced by SparkMaxRelativeEncoderandSparkMaxAlternateEncoder`.
    • CANPIDController is replaced by SparkMaxPIDController.
    • CANSensor is replaced by MotorFeedbackSensor.
    • ControlType is replaced by CANSparkMax.ControlType.
    • EncoderType is replaced by SparkMaxRelativeEncoder.Type.

Enhancements:

  • C++/Java: Added the ability to set the rate of periodic frame 3

Fixes:

  • C++/Java: CANSparkMax.getMotorType() no longer uses the Get Parameter API, which means that it is safe to call frequently
  • Java: The CANSparkMax.getX() methods no longer create a new object on every call

Known issues:

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

Control Hub OS 1.1.2

20 Sep 16:58
5a39a68
Compare
Choose a tag to compare
  • Adds support for Auto Channel Selection, where the Control Hub will pick the least busy WiFi channel on the selected WiFi band when it starts up
  • Migrates all users to Auto Channel Selection on the 5 GHz band by default.
    • If you find that you are unable to connect to the Control Hub after updating, you should perform a WiFi Factory Reset by holding down the Control Hub's button as it boots, until you see a colorful light sequence. That will reset the WiFi settings and switch to the 2.4 GHz WiFi band.
  • Allows switching the WiFi band between 2.4 GHz and 5 GHz by holding down the Control Hub's button when the hub has been booted for at least 20 seconds
    • If version 5.5 or later of the Robot Controller app is installed, the Control Hub's light will blink magenta when the band is switched to 5 GHz, or yellow when the band is switched to 2.4 GHz.
  • Continuously monitors the WiFi access point status, and will attempt to restart it if it goes down for any reason
  • Continuously monitors the Robot Controller app, and restarts it if it crashes or hangs (requires version 6.1 or later of the Robot Controller app)
  • Allows the Robot Controller app to access the current WiFi band and channel
  • Always backs up the FTC Robot Controller app data before it is uninstalled, in order to preserve WiFi settings
  • Improves WiFi reliability
  • Prevents issue that could cause device to boot into recovery mode
  • Enables use of mouse button in recovery mode

REV Hardware Client 1.3.0

30 Jul 21:26
a798491
Compare
Choose a tag to compare
  • Adds FTC log viewer utility
    • Can load log files directly from supported devices, or from anywhere on the user's computer
    • Allows users to easily filter, search, and sort events parsed from log files
    • Graphs the occurrence of important robot issues, and their corresponding timestamps
    • Supports match, robot controller, driver station, Wi-Fi, and updater logs
  • Shows release notes for client even when an update is not available
  • Scales telemetry graph ranges automatically when using default ranges
  • Fixes issue with devices showing up multiple times when changing CAN IDs
  • Shows update progress for all devices that are updating simultaneously
  • Updates users to the latest available client version when removing a software channel