Skip to content

faisalnjs/VEX-Robotics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VEX Robotics

About

This repository houses the code for Adelphi University's STEP/LPP program's VEX Robotics teams 8880A, 8880B, and 2983A (falsely named 2493A), written in C++.

Feel free to fork this repository to add changes or experiment with C++ while programming your robot. If you are a future Adelphi University STEP/LPP team, pull requests to this repository are welcome. They will be reviewed for any possible feedback.

Our teams plan on migrating from C++ to Python as I leave them, making this codebase almost obsolete. This repository will likely be archived in a few years if there is no activity.

Requirements

VSCode: The VSCode desktop application must be installed on your system.

Extensions: To run the program, you must first install the VSCode extension "VEX Robotics". The main extension will automatically install the companion extension "VEX Robotics Feedback". Once installed, clone this repository or a fork of it. Navigate to an individual folder in VSCode (VSCode > File > Open Folder). Be sure to select the folder for a specific team's specific year/side, as the extension only recognizes one C++ project at a time, unfortunately. For example, a valid working directory would be /source/repos/VEX-Robotics/8880A/2024-2025 Left Blue, and invalid working directories be /source/repos/VEX-Robotics and /source/repos/VEX-Robotics/8880A as they contain multiple C++ projects.

C++: The C++ language and related VSCode base C++ language extensions must be installed on your system. I do not recommend using a basic text editor like Notepad.

Structure

To better understand how this repository is structured, see the below:

  • Main directory (e.g. /)
    • Folders for each team are located in this directory
    • The .vscode folder contains recommended C++ settings for VSCode
  • Team folders (e.g. /8880A)
    • Subfolders are specific C++ programs for the team
    • Folders may be entire year code (e.g. /8880A/2024-2025) in the event where only one program is needed for all sides and setups of the field
    • Folders may competitions (e.g. /8880A/2024-2025 Local) in the event where a separate program is needed for a specific competition
    • Folders may be individual field sides or color (e.g. /8880A/2024-2025 Left or /8880A/2024-2025 Left Right) in the event where sides of the field call for different autonomous functions or starting positions
    • Folders may be individual field side skills (e.g. /8880A/2024-2025 Left Blue Skills) for dedicated skills autonomous functions
  • Specific program folder (e.g. /8880A/2024-2025 Left Blue)
    • The .vscode folder contains recommended C++ settings for VSCode, as well as VEX project setup (project name, description, slot #) in vex_project_settings.json
    • The include folder contains autonomous functions (autonomous.h) and external devices such as pneumatics and bumpers (in robot-config.h)
    • The src folder contains all main program code such as variables, functions, and manual driving (in main.cpp) and extended declarations of external devices such as pneumatics and bumpers (in robot-config.cpp)
    • The vex folder contains default VEX project files
    • The autonomous.* files are details on the project's autonomous plans
    • The symbolinks.* files are used for personal project folder syncing