Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


For pre-compiled binaries, please see the releases tab. Currently, all three major, desktop operating systems are supported: Linux, Windows, and OSX. If you are working on something other than a 64-bit, x86 platform, or an operating system not listed above, just open an issue under the issues tab and I will add a supported binary.


By default, ftc_http is set to use a rather aggressive connection timeout (500ms) when checking for robot controllers on the network. If ftc_http reports that the robot controller is offline when you are certain it's online, try increasing this value.

When connected via WiFi-Direct, the robot controller listens on one of two IP addresses:

  • (REV Control Hub)
  • (Android Phone)

This version of ftc_http automatically tests both addressees, but if your robot controller is operating on a non-standard host address, you can add it to the list of hosts checked with the --host option.

If the host and timeout options provided yield a successful connection, then they are automatically remembered and do not need to be given a second time. If you'd like to reset ftc_http to its default configuration, then simply pass the --restore_defaults flag.


Short flags can be combined to perform a series of actions following a single invocation. This somewhat contrived example of this would be the following command:

ftc_http -dwub foo/ bar/

This command downloads a copy of the code from the robot controller (saving it in the foo/ directory), wipes the robot controller, uploads a fresh copy of the code (from the bar/ directory), and builds it.


To build ftc_http, be sure that you have cloned the repository on your computer and then run:

cargo build --release

If you do not have Rust / Cargo installed, please see

I've included a Cargo.lock file with versions that are known to work, but the project is unlikely to build without this file. Many dependencies are either beta versions published only on git, or branches that include some of my own bug-fixes.

In time, things will stabilise and my bug-fixes should make it into the upstream. After that, Cargo.toml can be populated with proper dependency versions.


  • Stabilise dependencies
  • Document everything


Upload code wirelessly and instantly from the comfort of your own text editor!



No packages published


You can’t perform that action at this time.