The current version of ReduxLib for SystemCore is 2027.0.0-alpha-7p1.
It supports WPILib alpha version 2027.0.0-alpha-7+.
- This vendordep now uses Alerts.
- New in alpha-7p1: The
.sensorsnamespace has been removed; changingcom.reduxrobotics.sensors.canandmag.Canandmag->com.reduxrobotics.canandmag.Canandmagwill fix your import errors.
This is otherwise mostly similar to v2026.1.2, with some changes to use Alerts instead. For more details, also see our releases page
https://frcsdk.reduxrobotics.com/ReduxLib_2027.jsonExtract this into the root of your wpilib/2027_alpha7 directory.
This is typically in:
~/.local/share/wpilib/2027_alpha7on Linux~/.wpilib/2027_alpha7on MacC:\Users\Public\wpilib\2027_alpha7on Windows
ReduxLib-offline-v2027.0.0-alpha-7p1.zip
Just like v2026, the ReduxLib configurator will be available at http://[insert SystemCore address here]:7244/,
e.g. http://robot.local:7244.
This requires ReduxLib installed in a running (and not continuously crashing) robot project.
It should function similar to how it did in v2026. however it currently does not automatically open existing CAN buses.
By default, if no bus is specified, devices will use bus 0 on the SystemCore or can_s0.
You can also pass in a CANPort for other on-board buses:
// use SystemCore bus 4 instead
Canandgyro gyro = new Canandgyro(0, CANPort.CAN_S4);Or, you can use a bus specifier string directly:
// MotionCore port 2
Canandgyro gyro = new Canandgyro(0, "socketcan:can_d2");Make sure your code isn't crashlooping first.
We're working on an IPK standalone build.
You will need to declare a Redux device in your robot code running on the desired bus(es) to configure. Having a valid ID doesn't matter; e.g. to configure Systemcore bus 1, one could add to their robot code:
// Whether or not you actually have a Canandgyro of id 42 on CAN_S1 doesn't matter. All that matters is the bus.
Canandgyro gyro = new Canandgyro(42, CANPort.CAN_S1);
The ability to manually open buses to configure them will be added in later updates, as well as a standalone IPK version of the configurator.
Will be fixed in a future release. AdvantageKit users should probably be defining their simulation IO classes without specific hardware, however.
Will be fixed in a future release.
- [Java] Fixed initialization order issues causing
NullPointerExceptions on startup
- [Java/C++] Removed the intermediate
sensorsnamespace
Windows arm64 desktop sim builds are now supported.
You may need to instantiate a device class manually on a given bus to use it in Configurator.
E.g. to set the CAN device ID of a Canandgyro on bus 3, you will likely have to run your robot program with:
// I would just set the device ID to your intended value here; all that matters is that the CANPort is specified.
Canandgyro gyro = new Canandgyro(20, CANPort.CAN_S3);Future releases will add the ability to manually open a bus.
- [Java/C++] The CAN bus ID now takes a
CANPortinstead of a raw integer index. - [C++] Headers are now universally
.hpp. ReduxFIFO headers remain.has they expose a pure C ABI. - [ReduxFIFO]
socketcan.fdbackend has been dropped in favor of dynamically figuring out if the bus is a CAN-FD bus.
- [Configurator] Made the bus sorting more consistent
- [Java] Add
MessageBus.hashCodeto matchMessageBus.equals - [Java] Apply warning text to
CooldownWarning - [Java] Fix a bunch of incorrect doc comments all over the codebase
- [Java] Disabling presence alerts on a device via CanandEventLoop now also silences the Alert
- [Java/Canandcolor] Fix DigoutChain length
- [Java/Canandcolor] Fix hsvHue calcuations
- [Java/Canandgyro] Fix setting the quaternion directly
- [Java] Fix
CanandcolorStatus.fromByteArrayvia the power of delegation to known good impls - [Java] Fix
CanandSettingsManager.getSettingSubsettimeout usage - [Java] Fix
SettingResult.toByteArrayshifts - [Java/CanandSettings] Reject NaN/infinite float inputs
- [Java/CanandSettings] Make boolean fetches return Optional.empty() instead of null
- [C++] Fix DigoutChain constructor
- [C++] Fix Canandgyro acceleration readings
- [General] Support WPILib v2027.0.0-alpha-6
- [General] Rebase everything on v2026.1.2
- [General] Add support for WPILib v2027.0.0-alpha-2
- [General] Add rewritten driver backend
- [Canandgyro]
setYawandsetPosenow retry up to 5 times by default.