Characterization CTR Mag Encoder PPR

I am setting up the characterization tool for the first time, and I am unsure what to enter for the encoder pulses-per-revolution. We are using the CTR SRX Mag Encoder with the KOP drivetrain. Per the manufacturer, the encoder is 4096 counts-per-revolution, is this the value I should enter?

As I understand it, this encoder is 1024 cycles per revolution, and one cycle has four counts (edges).

My confusion is whether or not, in this context, the pulses-per-revolution is the same as the counts-per-revolution. If a pulse is the high signal on one channel, would that mean one revolution be 2048 pulses per revolution (1024 pulses X2 channels)?

Assuming it’s being read by a SRX or a Spark MAX, it’ll be 4096. If you plugged it into the Rio’s DIO, it’ll be 4096 assuming you didn’t explicitly select 1x or 2x mode on the encoder class.

PPR is measured single-channel, but CPR is the max amount of information you can extract from the waveform (4x PPR)

1 Like

Thanks, makes sense.

One more question. I know this was discussed on other threads back in October, but I have a question about Max Controller Output for the Talon SRX. I don’t see any documentation from CTR to indicate that they actually did update max output to 1 as they were expecting. From what I see, the documentation still says closed-loop max output is 1023. Is 1 the correct value for 20.0 firmware, or 1023?

No one is consistent about the use of these two acronyms, FWIW. It varies from vendor-to-vendor.

Characterization takes the number of edges, so, the larger one.

Right, and even solomondg’s reply is confusing to me because I read CPR as cycles-per-rotation, but this must mean counts-per-rotation.

Why does the documentation say to enter pulses-per-revolution, which I assume is what solomondg means by PPR? A single channel’s PPR is 1024, see the confusion. What the tool is actually asking for is counts (or edges) per revolution, at least in this case.


Anyway, 4096 it is!

Because I haven’t gotten around to changing it to say “edges” yet.

I emailed CTR support and they confirmed that max output is still 1023. This means the “Talon (2020-)” gain preset is invalid and should not be used.

Yeah, you’re right. The box that once said the max output will be 1 in 2020, now says:

A target goal of 2020 is to normalize the PID controller to interpret sensor using normalized units, and adjusting the PID output such that ‘1’ is interpreted as full. This may be released during the 2020 season. If this is released, the default settings will provide the legacy units, but users will have the ablity to change them, similar to the current CANCoder API.

FRC-Characterization now unambiguously uses “edges” rather than “pulses.”