Programming Guidance
VEX Programming Software
PROS: Leading Open-source C/C++ development for VEX V5 (and Cortex), developed by Purdue SIGBots.
- Provides functions to control the V5 brain and connected devices.
- Getting Started: PROS Installation Guide
Why choose PROS?
- Open-source and highly customizable, Vex Code Pro (another option) is no longer being updated
Why Discord?
Robotics Discord communities are invaluable for support, collaboration, and inspiration. Benefits include:
- Quick Answers: Immediate help with coding bugs, logic errors, or setup issues.
- Peer Review: Share code snippets and get feedback from experienced programmers.
- Live Collaboration: Work through problems in real-time via voice/text.
- Advice from Veterans: Mentors and developers (like LemLib or EZ-Template) provide guidance.
- Pinned Resources: Easy access to documentation, tutorials, and example code.
- Code sharing and inspiration: Users often post GitHub repos, snippets, or screenshots of innovative implementations like auto selectors, odometry, or PID control.
- Build your network: Connect with other teams, potential mentors, or even judges and VEX community leaders.
| Recommended VEX Discord Communities for Code: |
|---|
Templates
A VEX code template is a pre-written structure or framework that simplifies programming your robot by handling common tasks and setup for you.
Important Policy:
The REC Foundation emphasizes that students must understand and be able to explain any code they use, even from templates or external libraries. Blindly copying code violates the educational goals of the program.
Trade-offs:
- Templates save time and provide advanced features (auton routines, drive control, sensor integration).
- Over-reliance can limit understanding of concepts like PID, odometry, and asynchronous tasks.
- Best practice: Use a Template, study the source code, understand the architecture, and gradually extend or replace components with your own code.
Recommended Templates
EZ-Template (PROS)
|
JAR-Template (VEXcode Pro)Another recommended template is JAR template. Differences from EZ template
Even if you plan on using EZ template, I highly recommend seeing the source code behind JAR, as I found it to be the most intuitive and easy to understand source code for concepts such as PIDs and Odometry. |
Coding Resources
Below are some coding resources to learn/understand these concepts used in coding templates:
General / PROSControl SystemsPID Control: Odometry: Pure Pursuit: Boomerang Controller: Team Tutorials |
