A library to compile code that depends on the VEX Robotics V5 Runtime (v5rt). Code that depends on this library includes all code built within VEXcode, VEX Coding Studio, and the PROS kernel.
- CMake (3.6+)
- C++ compiler (g++, Clang, Visual Studio, etc.)
This project uses cmake
. To build, run cmake . -B build
and the files required to build will be generated in the build/
directory.
The steps may vary depending on what type of program you're using the library with, but they all mostly follow the same steps:
- Build the library for the platform you want
- Copy
include
into your project (either in itsinclude
or into a separate directory for the library) - Copy the library into your project (called
v5rtmod.lib
on Windows, andlibv5rt.a
on UNIX-like systems) - Configure the build system:
- Add the include directory for
v5rtmod
if it's not already included - Set the linker to link to
v5rtmod
- Set any other configurations for the platform you're running (Change the compiler, change the archecticure, etc.)
- Add the include directory for
It is possible to build and run VEXcode projects on a PC. A separate build configuration has to be make to run it. Visual Studio shows breaks every time an uninitialized variable is used, so avoid using Windows if possible. See the example project VEXcodeDesktop, to see an example of how to build a VEXcode project for a PC using cmake
.
It is possible to compile the PROS kernel, and therefore any projects built on PROS, but so far has only worked for the platform arm-none-eabi
. In order to compile it, workarounds would have to be made with FreeRTOS
.
It would be beneficial if this library not only stubbed, but emulated the V5 Runtime. This would make it possible to debug programs on a computer without access to a robot, and allow for usage of more advanced tools (such as real debuggers). It could would allow for manipulation of sensor data, and open up a ton of new possibilities. I came up with this concept for a full-fledged emulator a while ago, but it would take a lot of work to get there.