Hello, during the lockdown, we explored other programming languages while our 2020 bot sat in storage. However, we are meeting now, and as our programming department continues its exploration, the rest of the team is working on finishing the 2020 bot. The team elected to keep using Python for any off-season events we have. When we get closer to the new season, we will make the decision about which langiage we will commit to this season.
I just realized that the version of robotpy on the bot is 2020 not 2021 (I do not remember the specific version number). The same is true for the vendor libraries. We are still able to make changes in code and push it to the robot (using the no version check flag of course).
Anyway, my question is, should we update to 2021 before our next off-season event (we have one next month)? Or, should we be okay to run with 2020 on the bot as long as we are still able to push code and run it from our updated driver station?
I do not want us to figure this out at the event as it will involve updating many pieces of software and firmware (Rio, robotpy, vendor libraries, motor controllers, NavX, and possibly the radio).
I’m not going to claim I’m an expert in RobotPy (though very interested in it once officially supported)
What do you see as the cons to just choosing to update to 2021 now and not risking the change it needed to be updated?
The general answer: treat any change in dependencies similarly to changing lines of your own code. It’s a risk: hopefully everything is just fine, but maybe you will find issues with integration or functionality.
The way to mitigate the risk is to make the change at a time when you have plenty of ability to test and validate (either formally , or even just getting “soak time” with the software running and watching for issues). If you lack time to test, it’s probably not worth the risk of updating.
However, in FRC, the general philosophy for dependencies is “latest is correct”. Vendors and wpi and robotpy almost never break backward compatibility mid-season, and almost always are only fixing bugs. Additionally, competitions often check/force minimum software versions.
Specific to robotpy, unfortunately I don’t have specific directions. The core I would make sure of is to confirm the set of software (vendor deps, wpilib, robotpy, etc.) all matches some tested set of software that someone else has worked with.
Thank you both. The cons are the time it will take to update. But the more I think about it, the more that seems worth it.
It is good to know that I am thinking about it right. While I do agree that it seems most mid-season updates are bug fixes a lot changed from 2020 to 2021 and I am not sure the robot is compatible with the FMS anymore.
While we do not have a lot of time, we do have time to upgrade and test (we use our competition bot in school winter carnival-like events, and we have two of them coming up at the end of the month). So, it does make sense to upgrade. Thank you for your help.