Spark problem with talons

This is the first time our team has used spark connectors with neos as well as talons for our other motors. We are having a problem with the sparks not working with the talons in a can bus. The can gets interrupted when the talon is in the loop but it’s fine without the talon. Any suggestions ?

If all the connections are correct (i.e. green to green, yellow to yellow) then there shouldn’t be an issue. Can you post a picture of how you have everything wired?

And also verify each CAN device has a unique ID.

You say that the CAN gets interrupted. What specifically are you seeing that makes you think this?

The can gets interrupted when the talon is in the loop but it’s fine without the talon. The connection works when the talon isn’t part of it and it’s just the sparks.

What symptoms make you think the CAN bus is interrupted?

We could get info to one neo from our first swerve module. The rest indicated no communication , the talon is in between the rest of our swerve modules and other can. The both talons we tried blinked red, when we removed the talon and connected the can loop with just the spark can, we got the reading and we were able to test the rest of our swerve modules. The only difference when we had no communication was the talon blocking the rest of the can

This sounds like a CAN ID issue to me.

You need to verify that all Talons and Sparks have unique IDs from each other.

Do they need to? They don’t have a different can identifier?

Where?

AFAIK, there isn’t anything like MAC address on CAN. In any case, the communications are all sent based on CAN ID, so each device must have a unique CAN ID.

2 Likes

There’s the subtle difference of the wiring here as well. The word “interrupt” doesn’t really apply here as you’re using it. That’s why people are asking you to explain.

First step, ensure all of the CAN IDs on all of the devices are different. This includes the PDP and potentially the PCM. If you’re using a PCM, let that be CAN ID 1. Let the PDP be CAN ID 0. Set everything else to something unique (and I’d recommend adding a label to the controller itself).

Which talons are you using? I’ve heard some mention the Talon FX is only passing communication when powered. Though, I haven’t verified that myself.

Once you have all of the CAN IDs different, setup your entire network. You should start at the roboRIO, go to your PCM (if applicable), go to each of your controllers, and terminate in your PDP. If you’re not using this method, I’d recommend rewiring to do so.

Once that’s in place, open up the Phoenix Tuner. Do you see the PDP listed? If so, your CAN bus should be wired correctly. You wouldn’t get that far otherwise. If not, start checking your wires and connections to make sure everything is solid. Something along the way isn’t working well.

2 Likes

As long as you are using only one PCM, you should keep the PCM at CAN ID 0. Otherwise you need to specify the PCM CAN ID in all Solenoid/Compressor constructors, as they default to 0. However, you can set the PDP to whatever legal (0-62) CAN ID you want with little to no consequences.

About SparkMaxes/Talons/Victors, there are two different ID pools : You can have a SparkMax and a Victor/Talon with the same CAN ID. You shouldn’t do this for all sorts if reasons, but it would work.

Either way, you should read this post.