CANivore beginner issue - CAN failure and Rapid Oragne Light

Hi CD! As a summer project we are taking our 2024 robot and integrating a CANivore on our drivetrain only to help with CAN robustness for future seasons. Running into an issue and maybe you more experienced CANivore users can let us know where the silly mistake is.

Brand new to using a CANivore and we are running into what I believe is a communication issue between the CANivore and the roboRIO. Here is the setup and background:

CANivore is solely for our drivetrain - 4x Falcon, 4x Kraken, 4x CANcoders, 1x Pigeon 2.0. When powered on, all devices give signs of good CAN communications as expected.

All devices are visible through TunerX when I connect to the CANivore directly via USB to a Windows laptop.

We used the TunerX to generate the swerve code and modified the CANbus for the drivetrain to be “drivetrain”. This is also the name as it appears for the CANivore in TunerX. So in essence this code is the same code we used all season, less the change from “rio” to now “drivetrain” in the Tuner Constants portion of the java code.

Then I connect the CANivore to the roboRIO via the USB-C to USB-A cable and I see a rapidly flashing orange light on the CANivore indicating “CAN streaming is disabled”.

When I deploy the generated code to the robot, I am receiving errors of “CAN failed to connect” and the code is continuously crashing (heard through the chiming of the Talon FX controllers).

Is there anything I need to do in the code to indicate the CANivore has been plugged into either of the roboRIO USB ports? Do I need to specify this in the code somewhere outside of the Tuner Constants after generating the code from Tuner X?

Thanks for any help on this matter as we are brand new to using a CANivore.

Did you generate new code using Tuner X, or you just modified your older code to point to the drivetrain canivore network? When the Canivore is plugged into the RIO are you able to see it in TunerX?

Also in the TunerX Hamburger UI, is the Canivore USB switch set to on?

1 Like

If I recall, we had a similar issue when we did not connect external Vbat to the CANivore, because the RoboRIO was unable to provide enough power via the USB-A connection. Resulting in the CANivore not having enough power to operate properly.

1 Like

Interesting point - Original poster did you wire V+ to the canivore?

1 Like

Have you tried reaching out to CTRE support? Our programming called them a lot throughout the season and they were extremely helpful for things like this.

2 Likes

+1 CTRE support is just incredible, even in the off season. I can’t say enough good things about them.

2 Likes

Yes, the CANivore has external power. This is shown to be active as well since the orange blink is rapid instead of slow.

I will check on the USB setting or switch. Is that supposed to be toggled on or off?

When the CANivore is plugged into the roboRIO, I cannot see the CANivore via TunerX. Should I be able to?

I did reach out to CTRE support and they are helping as well.

1 Like

We just did this on a minibot FYI.
The canivore will still pull some power from USB, enough to power LEDs. Maybe grab the volt meter and double check that it’s getting V+ from your power distribution.

We had the switch turned to on. We can definitely see the Canivore in Tuner X and in fact renamed it while it was connected to the rio. (It was never plugged into our PC)

CTRE should get you through this, glad you reached out to them.

Upon testing today, I wish I had a better solution to the issue, the CANivore fired up and showed green lights this time!

I cannot recreate the original problem and the code crash appeared unrelated (new code was added without defined non null requirements).

So all devices are now functioning exactly as they should. Sorry to those who find this post in the future.

We always subscribe that to magic and keep going. Glad it’s working now!!!