Releases: REVrobotics/REV-Software-Binaries
Control Hub OS 1.1.3
- Adds support for new alternative built-in BHI260AP IMU on Control Hub
- Improves reliability of the Wi-Fi access point monitoring feature
REV Hardware Client 1.6.5
Breaking changes
- Windows 10 or later is now required
General improvements
- Listens for safety keys (space and enter) even when not focused
- If the FRC Driver Station or another application with administrative privileges is focused, the REV Hardware Client will not see the keypress
- Improves the Telemetry feature
- Fixes tooltips
- Fixes various chart interactions
- Improves the visibility of data when more than 4 signals are active or a signal is being hovered over
- Fixes the background color of image exports
- Fixes an unhandled exception when resizing the window with the Telemetry tab open on a scaled display
- Improves the reliability of displaying devices
- Fixes an issue where all devices would be cleared out after an unexpected error occurred
- Various small improvements to safety and the user experience
SPARK improvements
- Allows typing incomplete numbers into the setpoint text field
- Dramatically improves behavior of the setpoint slider
- Always disables the setpoint controls and displays a tooltip when the motor cannot be run
- Improves the reliability of updating SPARK MAXes with firmware older than version 1.5.0
- Displays the input voltage
- Renames the "Gate Driver Fault" to "Gate Driver Fault or 12V Missing"
Pneumatic Hub improvements
- Turns off all solenoids when a safety key (Space or Enter) is pressed
Expansion Hub improvements
- Fixes installing firmware onto directly-connected Expansion Hubs
REVLib 2024.1.1 (beta)
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 FlexCanSparkFlex
has agetExternalEncoder()
method that returns aSparkFlexExternalEncoder
instead of agetAlternateEncoder()
method that returns aSparkMaxAlternateEncoder
.- 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
, useCANSparkLowLevel
- Instead of
SparkMaxAbsoluteEncoder
, useSparkAbsoluteEncoder
- Instead of
SparkMaxAnalogSensor
, useSparkAnalogSensor
- Instead of
SparkMaxLimitSwitch
, useSparkLimitSwitch
- Instead of
SparkMaxPIDController
, useSparkPIDController
- Instead of
SparkMaxRelativeEncoder
, useSparkRelativeEncoder
- Instead of
ExternalFollower.kFollowerSparkMax
, useExternalFollower.kFollowerSpark
- The
ExternalFollower
enum can be accessed atCANSparkMax.ExternalFollower
,CANSparkFlex.ExternalFollower
, orCANSparkBase.ExternalFollower
- The
- Instead of
- Adds a
CANSparkBase.getSparkModel()
method that returns aSparkModel
enum
REVLib 2024.0.0 (beta)
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
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
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
- 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
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 toREVLibError
. - Java:
ColorMatch.makeColor()
and theColorShim
class have been removed. Use the WPILibColor
class instead. - C++/Java: Deleted deprecated constructors, methods, and types
- Replace deprecated constructors with
CANSparkMax.getX()
functions. - Replace
CANEncoder.getCPR()
withgetCountsPerRevolution()
. - Remove all usages of
CANDigitalInput.LimitSwitch
. - Replace
CANSparkMax.getAlternateEncoder()
withCANSparkMax.getAlternateEncoder(int countsPerRev)
. - Remove all usages of
CANSparkMax.setMotorType()
. You can only set the motor type in the constructor now. - Replace
SparkMax
withPWMSparkMax
, which is built into WPILib.
- Replace deprecated constructors with
- Java:
CANSparkMax.get()
now returns the velocity setpoint set byset(double speed)
rather than the actual velocity, in accordance with the WPILibMotorController
API contract. - C++/Java:
CANPIDController.getSmartMotionAccelStrategy()
now returnsSparkMaxPIDController.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) afterclose()
has been called - C++: Calling a
CANSparkMax.getX()
method more than once for a single device
- Creating a
- 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 bySparkMaxAlternateEncoder.Type
.CANAnalog
is replaced bySparkMaxAnalogSensor
.CANDigitalInput
is replaced bySparkMaxLimitSwitch
.- Java:
CANEncoder
is replaced byRelativeEncoder
. - C++:
CANEncoder is replaced by
SparkMaxRelativeEncoderand
SparkMaxAlternateEncoder`. CANPIDController
is replaced bySparkMaxPIDController
.CANSensor
is replaced byMotorFeedbackSensor
.ControlType
is replaced byCANSparkMax.ControlType
.EncoderType
is replaced bySparkMaxRelativeEncoder.Type
.
- C++ users will get
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
- 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
- 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