Class CanBuses
CANBus.
On the 2026 roboRIO FM had two buses: a CANivore ("*") carrying the drivetrain and
most mechanisms, and the roboRIO's own bus ("rio") carrying the intake rollers.
SystemCore has no "rio" bus; it has five native CAN FD ports, addressed with CANBus.systemcore(int). A CANivore still works on SystemCore once CTRE's canivore-usb
package is installed on it (see wpilibsuite/SystemcoreTesting CTR-Phoenix.md), so the
CANivore half of the robot keeps its wiring and only the roboRIO-bus devices move.
Device configs keep carrying bus names (strings) as they did in 2026. forName(String) resolves SYSTEMCORE_PREFIXn to CANBus.systemcore(n)
and anything else to a CANivore by name.
Check against the wiring before the event: USE_CANIVORE and the port of each
group.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe first CANivore found.static final StringSwerve: 8 TalonFX, 4 CANcoders and the Pigeon.static final StringIntake extension, indexer bed, indexer tower and the CANdle.static final StringWhere the devices that were on the roboRIO's own CAN bus in 2026 (the intake rollers) now live: SystemCore CAN port 0.static final StringLauncher (4 TalonFX) and hood.static final StringPrefix for a SystemCore native port, e.g.static final booleanWhether FM runs its CANivore. -
Method Summary
Modifier and TypeMethodDescriptionstatic CANBusResolves a bus name from a config into a PhoenixCANBus.static CANBusResolves a bus name into a PhoenixCANBusthat also records a hoot log.inUse()The buses this layout uses, by the name their health is logged under (<label>/StatusOK,<label>/BusUtilization, ...).static StringThe label a bus's health is logged under (inUse()), for messages.
-
Field Details
-
SYSTEMCORE_PREFIX
Prefix for a SystemCore native port, e.g."systemcore:0".- See Also:
-
USE_CANIVORE
public static final boolean USE_CANIVOREWhether FM runs its CANivore.trueis the 2026 wiring: drivetrain and most mechanisms on the CANivore, intake rollers on SystemCore port 0.falsespreads everything over the SystemCore's native ports instead (seeDRIVETRAIN,SHOOTER,MECHANISMS); no"*"bus is ever opened.- See Also:
-
CANIVORE
-
RIO_CANBUS
Where the devices that were on the roboRIO's own CAN bus in 2026 (the intake rollers) now live: SystemCore CAN port 0.- See Also:
-
DRIVETRAIN
Swerve: 8 TalonFX, 4 CANcoders and the Pigeon. Without the CANivore it gets a port to itself, for the 250 Hz odometry signals.- See Also:
-
SHOOTER
-
MECHANISMS
Intake extension, indexer bed, indexer tower and the CANdle.- See Also:
-
-
Method Details
-
inUse
-
label
-
forName
-
forName
-