Go to Post If there's one thing that I love, it's a good scouting challenge! - wilhitern1 [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 01-04-2018, 10:01 PM
ozrien's Avatar
ozrien ozrien is offline
Omar Zrien
AKA: Omar
no team
Team Role: Mentor
 
Join Date: Sep 2006
Rookie Year: 2003
Location: Sterling Heights, MI
Posts: 655
ozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond repute
CTRE Phoenix Framework

Hello FRC Community,

As we are close to FRC Kickoff I'd like to update the community on what CTRE has been up to.
We just put up CTRE Phoenix Framework, our FRC library for supporting our various CAN devices.
If you plan on using a Talon SRX, Victor SPX, CANifier or Pigeon, you will need this install.
This is also necessary for installing the web-based configuration in the roboRIO, which is important for setting device IDs for PDP and PCM.

I'm sure this will bring up some questions, here are some answers.

- Why is there a separate library?
Historically the CTRE device classes were baked into the WPILIB and NI Kickoff release. This changed last year, which required us to learn how to best install the libraries for our motor controller and Pigeon IMU. Since it was the first year that we had to do this, we chose to make a simple installer and just distribute binaries to ensure successful use of our devices.

This year is “round 2” of the same effort, but this time with two new devices: Victor SPX and CANifier, combined with a growing list of customer-requested features that required back-breaking changes to firmware and API.

Additionally, it has become clear that the object model of our software would have to grow to accommodate a wider range of functionality. Concepts like gear ratios, sensor resolution, motor groups, etc. would have to be done in the API level. Sometimes you can’t just do everything in Talon firmware.

For these reasons, it seemed right to invest in a library that gave us room to grow while still providing basic drivers for our CAN peripherals.

- What’s new for Kickoff?
The full list can be found here…
https://github.com/CrossTheRoadElec/...s-new--kickoff

-And after Kickoff?
Due to the amount of testing necessary for this initial release, we had to prioritize ensuring the base device classes work.
For that reason, the Servo/Gearbox/Drivetrain classes are not part of the kickoff release, and will be provided in a post-kickoff release.
This is also true for the Pigeon-Integration and remote-sensor features.
The full list is here….
https://github.com/CrossTheRoadElec/...--post-kickoff

-Why is the web-based configuration missing?
The default image on the 2018 roboRIO does not come with the web-based configuration. This can be installed using our software (LifeBoat), which is part of Phoenix. Instructions can be found here…
https://github.com/CrossTheRoadElec/...your-frc-robot

-Documentation / Examples?
This time we are trying something new with documentation. Personally, I love having PDFs with bookmarks, but the younger generation seems to favor a more open-source/collaborative style of communication. Thus, we’ve been moving our documentation into…
https://github.com/CrossTheRoadElec/...-Documentation
This is a top-to-bottom document to cover device use for all Phoenix supported CAN devices. A lot of the content has been reorganized based on feedback solicited from previous years.
This also includes a migration guide…
https://github.com/CrossTheRoadElec/...ion%20Guide.md
We will be updating these continuously to better support FRC teams.
Our examples are also being ported and moved to…
https://github.com/CrossTheRoadElec/...ples-Languages
https://github.com/CrossTheRoadElec/...amples-LabVIEW

- Talon SRX and Victor SPX do not support SpeedController? And why all the back-breaking changes?
First...calm down...

I have had the most fun introducing and supporting the CAN Talon in FRC. Prior to Talon SRX, there hadn’t been anything quite like it in terms of functionality. And I’m excited to see how Victor SPX will be used this season.
However….
After three seasons of development the CANTalon driver had become a hodgepodge of software.
It had several *reverse* functions, closed-looped settings that didn’t quite mesh with the open-loop features, two types of voltage compensation, and a ton of glue code to make it work in WPILIB’s object model. Function names sometimes confused customers as they were carry-overs from the CANJaguar days.

If we were going to continue to expand, we would have to make some fundamental changes.

This year introduces two core motor controller classes: TalonSRX and VictorSPX, which does not implement any of the WPILIB interfaces.
BUT we do provide a WPI_TalonSRX and WPI_VictorSPX that does. These are subclasses meant to provide the interfaces that WPILIB designed for. This includes support for WPILIB drivetrain classes.
We have also dropped the CANTalon moniker as most Talon SRX users use CAN and not PWM.
PWM classes are still provided by WPILIB, they are now called PWMTalonSRX and PWMVictorSPX.

For those that wish to combine the advance features of the Talon SRX/Victor SPX but continue to use the WPILIB objects which are primarily designed for simple motor controllers, feel free to copy/fork/subclass/extend the WPI_TalonSRX and WPI_VictorSPX. They exist for this exact purpose.

Our RobotBuilder plugins also uses WPI_TalonSRX and WPI_VictorSPX (Again you must install Phoenix).

-Anything broken in the Kickoff release?
As mentioned the new classes are not included in the kickoff release.
Additionally, the 3.1 firmware for Talon SRX and Victor SPX have motion profile temporarily disabled due to changes in the frame format. This will be addressed in an update soon. This has to do with the changes necessary to accommodate the new features.
https://github.com/CrossTheRoadElec/...ntation#errata

If anyone has further questions/concerns, please contact our support or reach out via the GitHub repositories.

Change can be scary but sometimes it's necessary to get to something even better.

Thank you for your patronage.
Thank you for the product feedback (good and bad).
Thank you for the opportunity to continue making cool robot parts.
As always we will do our best to meet your expectations.
__________________
Omar Zrien - CTR Electronics - Cross The Road Electronics - Chief Software/Owner
CTRE New products | CTRE/FRC Source Examples | FRC Installer (for Talon SRX and more)
Get Latest Updates on Facebook | Twitter

Last edited by ozrien : 01-04-2018 at 10:05 PM. Reason: typo
Reply With Quote
  #2   Spotlight this post!  
Unread 01-04-2018, 10:07 PM
bdaroz's Avatar
bdaroz bdaroz is offline
Programming Mentor
AKA: Brian Rozmierski
FRC #5881 (TVHS Dragons)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2016
Location: Albany, NY
Posts: 762
bdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond repute
Re: CTRE Phoenix Framework

Any chance we can get the libraries themselves released via maven? Many of our machines are not running Windows and this would make builds a lot simpler.
Reply With Quote
  #3   Spotlight this post!  
Unread 01-04-2018, 10:29 PM
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,957
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
What's the best thread title to use on CD for support? Does it help if I include a meme?
Reply With Quote
  #4   Spotlight this post!  
Unread 01-04-2018, 10:33 PM
Jaci's Avatar
Jaci Jaci is offline
http://imjac.in/ta/name
AKA: Jaci R Brunning
FRC #5333 (Can't C#) #5663 (Ground Control) | (OpenRIO, FRC West Aus)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 583
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: CTRE Phoenix Framework

Quote:
Originally Posted by bdaroz View Post
Any chance we can get the libraries themselves released via maven? Many of our machines are not running Windows and this would make builds a lot simpler.
https://github.com/Open-RIO/maven-mirror

There's also an incubating PR for maven support in phoenix rn, but it probably won't be implemented in time for kickoff.
__________________
Jacinta R

Curtin FRC (5333+5663) : Senior Mentor
OpenRIO : Owner

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #5   Spotlight this post!  
Unread 01-04-2018, 11:32 PM
jkelleyrtp's Avatar
jkelleyrtp jkelleyrtp is offline
Let's just build a robot
AKA: Jon Kelley
FRC #5511 (Cortechs Robotics)
Team Role: Leadership
 
Join Date: Jul 2015
Rookie Year: 2014
Location: Apex, NC
Posts: 210
jkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud of
Re: CTRE Phoenix Framework

What does this mean for Python teams? Can we continue about our business already or will we have to upgrade to the latest firmware for 2018 and then have no API?
__________________
Cortechs Robotics 2014-Present
Mechanical, CAD
Reply With Quote
  #6   Spotlight this post!  
Unread 01-05-2018, 12:33 AM
firecrafty's Avatar
firecrafty firecrafty is offline
Registered User
AKA: Ryan Blue
FRC #1018 (Pike RoboDevils)
Team Role: Programmer
 
Join Date: Feb 2017
Rookie Year: 2016
Location: Indianapolis
Posts: 192
firecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to behold
Re: CTRE Phoenix Framework

Quote:
Originally Posted by jkelleyrtp View Post
What does this mean for Python teams? Can we continue about our business already or will we have to upgrade to the latest firmware for 2018 and then have no API?
I would imagine you'd have to upgrade firmware to abide by the rules. I'm no RobotPy expert, but with all the stuff that's been going on with pheonix I find it hard to imagine how it'll be pulled off by kickoff.
__________________
"Programming is a science. Writing beautiful code is an art."
Any views I express are my own and do not necessarily reflect those of my team.
Reply With Quote
  #7   Spotlight this post!  
Unread 01-05-2018, 12:53 AM
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,957
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: CTRE Phoenix Framework

Quote:
Originally Posted by firecrafty View Post
I would imagine you'd have to upgrade firmware to abide by the rules.
Why do you say that? The minimum Talon SRX firmware hasnít changed in the past. It was 1.01 in 2017, same as 2016 and 2015.
Reply With Quote
  #8   Spotlight this post!  
Unread 01-05-2018, 02:40 AM
jlindquist74's Avatar
jlindquist74 jlindquist74 is offline
WOPR Software Integration Lead
FRC #1622 (Team Spyder)
Team Role: Coach
 
Join Date: Feb 2011
Rookie Year: 1337
Location: Poway, CA
Posts: 127
jlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond reputejlindquist74 has a reputation beyond repute
Re: CTRE Phoenix Framework

Quote:
Originally Posted by Joe Ross View Post
What's the best thread title to use on CD for support? Does it help if I include a meme?
Of course it helps.

Click image for larger version

Name:	Inspirobot-BecomeLikeARobot.jpg
Views:	163
Size:	121.2 KB
ID:	22813
Reply With Quote
  #9   Spotlight this post!  
Unread 01-05-2018, 12:36 PM
Oblarg Oblarg is offline
Registered User
AKA: Eli Barnett
FRC #0449 (The Blair Robot Project)
Team Role: Mentor
 
Join Date: Mar 2009
Rookie Year: 2008
Location: Philadelphia, PA
Posts: 1,864
Oblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond repute
Re: CTRE Phoenix Framework

Is there an ETA for motion profile support being re-added? We rely on it quite a bit, and lengthy delays would greatly harm our autonomous development.
__________________
"Mmmmm, chain grease and aluminum shavings..."
"The breakfast of champions!"

Member, FRC Team 449: 2007-2010
Drive Mechanics Lead, FRC Team 449: 2009-2010
Alumnus/Technical Mentor, FRC Team 449: 2010-Present
Lead Technical Mentor, FRC Team 4464: 2012-2015
Technical Mentor, FRC Team 5830: 2015-2016


FRC Drivetrain Characterization
Reply With Quote
  #10   Spotlight this post!  
Unread 01-05-2018, 12:39 PM
firecrafty's Avatar
firecrafty firecrafty is offline
Registered User
AKA: Ryan Blue
FRC #1018 (Pike RoboDevils)
Team Role: Programmer
 
Join Date: Feb 2017
Rookie Year: 2016
Location: Indianapolis
Posts: 192
firecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to beholdfirecrafty is a splendid one to behold
Re: CTRE Phoenix Framework

Quote:
Originally Posted by Oblarg View Post
Is there an ETA for motion profile support being re-added? We rely on it quite a bit, and lengthy delays would greatly harm our autonomous development.
+1 on an answer to this
__________________
"Programming is a science. Writing beautiful code is an art."
Any views I express are my own and do not necessarily reflect those of my team.
Reply With Quote
  #11   Spotlight this post!  
Unread 01-05-2018, 12:54 PM
jkelleyrtp's Avatar
jkelleyrtp jkelleyrtp is offline
Let's just build a robot
AKA: Jon Kelley
FRC #5511 (Cortechs Robotics)
Team Role: Leadership
 
Join Date: Jul 2015
Rookie Year: 2014
Location: Apex, NC
Posts: 210
jkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud ofjkelleyrtp has much to be proud of
Re: CTRE Phoenix Framework

Quote:
Originally Posted by Joe Ross View Post
Why do you say that? The minimum Talon SRX firmware hasnít changed in the past. It was 1.01 in 2017, same as 2016 and 2015.
Does this we can stick with the current SRX firmware, but would need to upgrade if we wanted to use SPXs?
__________________
Cortechs Robotics 2014-Present
Mechanical, CAD
Reply With Quote
  #12   Spotlight this post!  
Unread 01-05-2018, 01:55 PM
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #6367 (), FRC #7240 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,377
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: CTRE Phoenix Framework

Quote:
Originally Posted by jkelleyrtp View Post
What does this mean for Python teams? Can we continue about our business already or will we have to upgrade to the latest firmware for 2018 and then have no API?
RobotPy is planning to create usable bindings for the TalonSRX, VictorSPX, Pigeon, and CANifier devices. With some luck, they'll even be ready before the end of kickoff day.

I am not currently planning on developing any of the other stuff that comes with the Phoenix framework at kickoff. My expectation is that (a) the devices will be useful without the framework pieces, and (b) if the framework pieces are useful, community members will port them and make them available as the season progresses.
__________________
Maintainer of RobotPy (Python for FRC) & WPILib Contributor
Creator of pyfrc (Robot Simulator + utilities for Python), pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript), and lots more...

Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
Reply With Quote
  #13   Spotlight this post!  
Unread 01-05-2018, 03:23 PM
noah.gleason's Avatar
noah.gleason noah.gleason is offline
Registered User
FRC #0449 (The Blair Robot Project)
Team Role: Programmer
 
Join Date: Mar 2017
Rookie Year: 2016
Location: Bethesda, MD
Posts: 134
noah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond reputenoah.gleason has a reputation beyond repute
Re: CTRE Phoenix Framework

There seems to no longer be the ability to manually specify how long each point runs for in motion profile mode (used to be TrajectoryPoint.timeDurMs). How long does each point execute for?
Reply With Quote
  #14   Spotlight this post!  
Unread 01-05-2018, 03:49 PM
ozrien's Avatar
ozrien ozrien is offline
Omar Zrien
AKA: Omar
no team
Team Role: Mentor
 
Join Date: Sep 2006
Rookie Year: 2003
Location: Sterling Heights, MI
Posts: 655
ozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond repute
Re: CTRE Phoenix Framework

Quote:
Originally Posted by noah.gleason View Post
There seems to no longer be the ability to manually specify how long each point runs for in motion profile mode (used to be TrajectoryPoint.timeDurMs). How long does each point execute for?
There will be a function called configMotionProfileTrajectoryPeriod(ms). It had to be moved out of the trajectory point to make room for robot-heading.

In LabVIEW it's already in the motion profile palette.
__________________
Omar Zrien - CTR Electronics - Cross The Road Electronics - Chief Software/Owner
CTRE New products | CTRE/FRC Source Examples | FRC Installer (for Talon SRX and more)
Get Latest Updates on Facebook | Twitter
Reply With Quote
  #15   Spotlight this post!  
Unread 01-05-2018, 05:47 PM
bdaroz's Avatar
bdaroz bdaroz is offline
Programming Mentor
AKA: Brian Rozmierski
FRC #5881 (TVHS Dragons)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2016
Location: Albany, NY
Posts: 762
bdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond repute
Re: CTRE Phoenix Framework

Quote:
Originally Posted by ozrien View Post
There will be a function called configMotionProfileTrajectoryPeriod(ms). It had to be moved out of the trajectory point to make room for robot-heading.
So if I understand this right, we'll now have to set a single trajectory period for all points on a profile where we last year could set different times for each point? (eg shorter or longer as needed)
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 08:24 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi