This is my teams first year using a Talon SRX motor controller and we finished coding swerve over the past two weeks. Did they change the API? I heard it was replaced with TalonSRX but none of the methods I previously used are still there. Does anyone know what happend?
Yes, it has changed. Check the documentation here:
https://github.com/CrossTheRoadElec/Phoenix-Documentation/blob/master/Migration%20Guide.md
Beta tester team here.
Yes, the API has been changed quite a bit, but in general the new API has one for one equivalents to what you could do with the old API. See the CTRE documentation for the new “Phoenix” Framework here: https://github.com/CrossTheRoadElec/Phoenix-Documentation.
During the beta testing, it took a student and myself a couple of hours to convert our HDrive code to use the new API, but half that time was spent figuring out that yes, we did need to load new Firmware onto our Talons (note – firmware version 2.122 is newer than 2.34).
If you’re using the WPILib provided Drive* methods, you’ll need WPILib a SpeedController object. You can get one of those from the TalonSRX class via the getWPILIB_SpeedController() method.
Just as a quick note, getWPILIB_SpeedController() isn’t a thing anymore. We weren’t really happy with how it was working in beta, so we implemented subclasses instead.
See our documentation for more info.
Ah! So now one can just cast the TalonSRX() object to a SpeedController? I guess that’ll be easier for the students, but I didn’t really mind a factory method.
And I have to update the code changes we made for the beta…
I should have been more specific - subclasses of TalonSRX and VictorSPX (called WPI_TalonSRX and WPI_VictorSPX, respectively).
The docs go over what they support.
Where can the TalonSRX firmware be found? The most up-to-date I can find is the firmware I already have running on our Talons which is 2.34
See the update your devices section. It looks like the firmware is included with the Phoenix installer.
As stated above, firmware version 2.122 is newer than 2.34.
See the docs here:
I’m saying the most up to date firmware I could find online was 2.34, knowing that 2.112 is higher than 2.34. I found the most current file through the new installer.
meh. Can someone tell CrosstheRoadElectronics that’s not how numbers work. Thanks for the info I was scratching my head about this too.
It’s not how numbers work, but it is usually how version numbers work.
Incrementing sequences…
There are two schools of thought regarding how numeric version numbers are incremented. Most free and open-source software packages, including MediaWiki, treat versions as a series of individual numbers, separated by periods, with a progression such as 1.7.0, 1.8.0, 1.8.1, 1.9.0, 1.10.0, 1.11.0, 1.11.1, 1.11.2, and so on. On the other hand, some software packages identify releases by decimal numbers: 1.7, 1.8, 1.81, 1.82, 1.9, etc.
We follow the former, and this is documented.
Some might argue that being backwards incompatible this should be a major version (ie, 3.0).
I agree. That’s why the firmware version is 3.1. I don’t know how else to make this clear.
Or click on “CRF Version information can be found here” at …
Got it. I should read more documentation and less CD! Thanks!
Great advice for all.
Is it “deprecated” – which means “Warning: May be removed sometime in the future” – or is it “removed”?
Interpretive dance? Maybe smoke signals?