Apalrd's PROS useful libraries

I’ve been busy building useful support blocks in PROS, and want to share them with the community. They aren’t major on their own, but they are easy to use and help provide a bit of framework for every day competition programming. All of them are written in C and usable from C and C++ programs in PROS, and compiled as PROS templates.

Autonomous Picker

GUI to choose an autonomous routine. Feed it a list of routines, it will graphically let the user choose a color, starting position, and show a list of routines for that starting position. Optionally, provide a pre-auto routine to run as well on command (i.e. to initialize inertial sensors) and graphically indicate when it is running and has completed.


Library to provide printf-style logging with severity to both the SD card and PROS terminal. You can leave log statements in your code and choose the level to log for each file by defining a macro at the top of the file. Log messages include a formatted timestamp, severity, and newline automatically. Also includes CSV logging of data streams, although I may split that out into a separate library


Library to provide a printf-style scrolling message buffer on the screen. No need to specify the line number, just gterm_print(…) and new messages appear at the bottom.


Library to take a screenshot of the current display and save it to the SD card. NOT intended to run in competition, but to be used to take screenshots for your design notebook (or software documentation, as I have used it to create the screenshots here)

Feel free to provide any feedback here or via Github issues.


This looks really neat!

One question I do have though, how does this differ from the pros v5 capture command that comes with the pros cli?


I had no idea there’s a pros v5 capture command. It’s not in the documentation on the website.


1 Like

Even so, being able to capture the screen without the use of the CLI is pretty cool. The pros v5 capture command can take quite a while wirelessly, so this may be quite practical if you want to take multiple screenshots while driving/using the robot.


True, I hadn’t considered that use-case.


This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.