v5_cli v5_cli rust logo

A re-implementation of pros-cli in Rust, adding true wireless (bluetooth) upload support.


About

After getting frustrated with pros-cli freezing my terminal (to submit a bug report) every time an error occurred, I decided to create my own implementation. I chose to (re)write it in Rust mainly to gain experience with the language, but also because I was already familiar with one of its CLI frameworks, clap.

Once I had made an app with about the same features as the original, I left the project alone for a while… Until I discovered that direct bluetooth connection to the VEX V5 brain was possible. This led me to try and enable wireless code upload over bluetooth LE. Utilizing bluetooth was more difficult than I originally anticipated as bluetooth APIs tend to be asynchronous and bluetooth connections are significantly less reliable than wired ones. This required me to rearchitect the project to use asynchronous Rust, and account for packet loss and/or corruption in-transit.

Features

Links