Uploading PROS Projects
The PROS uploading utility allows you to flash compiled binaries to your VEX microcontroller. There are a variety of different ways to flash code:
- USB A-A (Windows only)
- Programming module w/USB between Joystick and Microcontroller
- Programming module w/VEXnet between Joystick and Microcontroller
Within Atom, click the ‘Upload to Cortex’ button in Atom. This process will upload the binary the compilation process created (
bin/output.bin) to the Cortex and begin running it.
Using just the terminal, this can be done by navigating to the directory (or subdirectory) of the PROS project and invoking
pros upload. You can get all of the command options by running
pros upload --help. Some additional commands you may find helpful is
pros mu, which runs the default Make target (forks and calls
make) and then uploads your code, and
pros mut, which does the same but also opens the PROS terminal after uploading.
Having issues flashing?
PROS CLI 2.5.0 Available
We fixed a number of issues flashing code onto the VEX Cortex. Make sure you’ve updated PROS to at least 2.5.0.
Before trying these solutions, make sure you have built your project! If there’s nothing to upload, the flasher will throw an error!
First, try putting the fewest amount of electronics between the Cortex and computer. If you’re on Windows, try flashing using only a USB A-A cable. If you’re on a Unix-like OS, flash using a programming module with a USB cable between the Joystick and microcontroller. Sometimes commands to upload your code are dropped when flashing wirelessly, especially when the distance between the joystick and microcontroller is large.
Next, try using the
--no-poll option. This limits communication between the Cortex and your computer to just what’s vitally important to flashing. Polling allows us to determine what connection type you’re using and also allows you to check what firmware version you’re running. Sometimes when printing a lot of data to the console, responses from the Cortex about system information gets intertwined with your data, preventing us from parsing it. Using
--no-poll may allow you to bypass this issue.
Check for updates
There may be updates for the CLI which improves flasher reliability. If you keep Atom up to date, we’ll notify you about updates. Otherwise, check Releases for the latest version.
Open an issue on GitHub and include debug output
You’ve tried everything you can and flashing still isn’t working. Use the
-vd option to print out all of the microcontroller’s responses to the flasher’s commands. Please copy the output of the program output and open an issue or shoot us an email at firstname.lastname@example.org .