Hey! Can I get a summary of the app?
This covers the major features of MotionView:
MotionView is a real-time visualizer and dashboard for VEX PROS teams. It turns raw, scrolling terminal numbers into actionable, visual data, letting you see into your robot. Share routes with teammates for debugging or celebrating a good run.
1. Live Field Replay
See your robotās exact path, heading, and speed drawn on a virtual 2D field. Scrub the timeline frame-by-frame to pinpoint the exact moment you drifted off course.
2. Advanced Diagnostics
Overlay multiple telemetry graphs (such as wanted vs actual velocity) on the same timeline to instantly spot wheel slip. Pin critical variables as custom floating HUD widgets. Everything you need, all in one place.
3. Auton Path Planning
Draft, edit, and simulate autonomous routes interactively. Overlay your planned path onto a real recorded run to compare intent versus execution.
4. Powered by MVLib
Driven by a lightweight, simple, yet featureful C++ library for PROS, letting you graph anything, livestream easily, spot errors, and develop quickly.
Regarding post 35, could you please provide information on its functionality concerning the V5 brain? ( I havenāt used the app )
Hi great work! Just curious have you tested the accuracy of this software with real life runs? if so, what is the percent error and how does it compare?
Iām not really sure what this means. Post 35 was about debugging live streaming, not related to the v5 brain. Do you mean MVLib, or something else. Please clarify.
MotionView is 100% accurate, as it displays exactly where your robot thinks it is. However, its inaccuracy comes from the robot itself thinking it is somewhere it is not. For example, if your robotās odometry drifts 2 inches for every foot it moves, MotionView has no way to correct or detect this. No existing software (that I know of) can compare where a robot thinks it is vs where it actually is.
In almost all cases, this isnāt something to worry about as the drift for short, precise auton runs in small.
I use MotionView all the time for my own robot, using it to fix timing bugs, route issues, and other PID/autonomous-related issues. I have also found that using waypoints to practice driving for match/skills is super helpful. I will set waypoints with timeouts at places I need to be, and use them for consistency and practice.
The installation guide/page for Windows on the Github has a link to install motion view, however it comes up as an error/not there when clicked!
That was from a previous version that has since been deleted. To get the latest version, go to the GitHub Releases to download MotionView.
Nevermind. I was wondering if there is anyway I can contribute to your app.
MotionView v1.2.0 & MVLib v2.0.0: Blazing Binary
Stream with low latency and high bandwidth.
This is the biggest under-the-hood rewrite weāve done since launch. We completely ripped out the old plain-text communication pipeline and replaced it with a lightning-fast custom binary protocol, making live streaming easier to set up in the process.
Image showing MotionView with several floating windows and planned path overlay enabled.
Here is whatās new:
Zero-Setup Livestreaming (No more PROS CLI headaches) You no longer need to manually find the external PROS CLI executable. MotionView v1.2.0 now bundles its own internal PROS runtime. Just point the app at your PROS project directory, hit connect, and it just works.
A/B Graph Comparisons You can now select a secondary series in your graphs for direct comparisons (e.g., Left Drive vs. Right Drive). It includes a side-by-side data table tracking your Latest, Average, Minimum, and Maximum sample stats in real-time.
MVLib v2.0.0: The Binary Rewrite To make the live telemetry run as fast as possible over the V5ās limited bandwidth, MVLib now uses a highly compact binary packet protocol for data transmission.
- Late-Join Recovery: Added āRoster Syncingā so if you connect MotionView after your robot has started running, you can resync all your watch and waypoint names.
- Custom SD Folders: You can now route your SD logs to a specific folder using
setLoggingFolder("\\folder").
CRITICAL UPGRADE NOTES (Breaking Changes)
Because of the massive protocol upgrade, MotionView v1.2.x REQUIRES MVLib v2.0.0. They are a matched pair.
printfWarning: MVLib now disables standard PROS user-serial framing to handle the binary packets. Standardprintfor rawstd::coutis no longer safe for live telemetry. You must use thelogger.info/warn/etcfunctions.- Naming Updates:
LoggerTimingsconfig variables have been updated fromsnake_casetocamelCase.
Download and view the full changelog here.
Is this the release before or after you take a break?
This is after I took spring break. Now that I have mostly eliminated the bandwidth and latency issues, Iām planning for the next drop to introduce the Run Manager, if thatās what youāre looking for.
Where can I find the library where all the commands are listed like setlogger and etc and are they all updated?
Can you give more details? Also, are you asking about MVLib/MotionView or just looking for a library
I think heās talking about PROS.
MVLib and MotionView im just curious if they are updated since the last update im talking about the documentation/library
Feature Request: Pls add support for route for lemlib from https://path.jerryio.com/
Is it possible to show the planned route and the real route on the same graph, so we can compare the reality and the planned, which can increase our efficiency?
ps: i didnt find Discord for this great app
Embedding/forking the path.jerryio to run inside of planning mode is something Iāve been thinking about, but avoiding because it seems a little too much like copying someone elseās work, and I would have to change the license to GPL-3.0 to make it permissible.
For your question, you can directly overlay your planned route to your viewing route. Just push p in viewing mode, or click the compass icon in the right sidebar.
If youāre asking specifically about comparing a planned graph to an actual graph ā thatās not possible. Graph data is entirely handled through MVLib, so if you wanted a comparison, you would have to make 2 graphs:
logger.watch("Actual Data Graph", LogLevel::INFO, 100_mvMs,
[]() { return actualValue }, mvlib::LevelOverride<double>{});
logger.watch("Target Data Graph", LogLevel::INFO, 100_mvMs,
[]() { return targetValue }, mvlib::LevelOverride<double>{});
As for the Discord server, Iām currently tied up with finals, but it is something that Iām working on, along with the next versions of MVLib and MotionView.
Hey @3142-MotionView, in another topic ( VEX IQ Route planning - VEX IQ General Discussion / General Discussion - VEX Forum) a user asked this:
Just wanted to let you know.
Not currently. I can add the IQ field, but live streaming with the IQ brain isnāt currently supported. This is mainly because I have not figured out a way to connect a robot that isnāt PROS-compatible (e.g. Vex IQ) to the computer seamlessly. If anyone knows of a way to view the IQ terminal without needing the VEXcode app, then I would be happy to try to add support to MotionView.
I have never really used Vex IQ outside of one 2-week summer camp, so I know very little about it. If it is possible to see the IQ stdout through an official/professional CLI, that makes things a lot easier.



