This is my second year programming in FRC and I want to better my skill even though I can’t physically go into our shop due to Covid-19. Does anyone have any good resources online that could help me better my knowledge as well as skill with programming?
I was in a similar position to you a few years ago. I was the only programmer and there was really no reusable code base. I read the WPILIB Docs, which got me up to speed and enabled a new programming mentor and I to completely rewrite the code base to be reusable.
The best ground-up approach I know of:
Think Java – Green Tea Press. Use something like Online Java Compiler - Online Java Editor - Online Java IDE - Java Coding Online - Practice Java Online - Execute Java Online - Compile Java Online - Run Java Online if you’d like a purely online coding experience.
CodeAcademy isn’t half bad either, and much more interactive:
Robot-specific software concepts are found here in the authoratative WPI docs: FIRST Robotics Competition Control System — FIRST Robotics Competition documentation
To toot my own horn a bit:
I’ve got a blog you might be interested in: https://trickingrockstothink.com/ Definitely need to do some more articles soon. Many ideas, so little time…
Finally, it’s highly specific to our team, but you can clone and run through our training. It uses wpilib and vscode and everything robots, but all in simulation (no RIO required): GitHub - RobotCasserole1736/OffseasonTraining: Offseason software development training content . Keep in mind, this has lots of references to our team’s specific development workflow and tools, YMMV.
Are you looking for generic programming or robot programming stuff?
There are many things I could suggest:
- Improve your code from this past season
- Write your own version of code for other subsystems and/or different robots
- Learn more about sensors you haven’t worked with before and how to work with them through code
- Learn how to make your robot autonomous
- If possible, get the mechanical team to make a subsystem a bit more complex by adding a component for you such as an auto-leveling climber mechanism
An interesting project for FRC could be to set up an environment inside of repl.it for kids to get started with.