V5 Brain Simulator

Besides for limited simulator functionality in RMS mimic, is there any sort of v5 brain screen simulator?
I’m looking to test some of my autonomous selector code, but don’t have access to a v5 brain without being at school.
Math labs has software to run models on a v5 brain, would they happen to have a simulator to go along with it? I haven’t been able to find any.

i know a post of this type was made a while ago, but I’m just looking for new developments

The RMS mimic does simulate all screen functionality of the V5 Brain’s LCD in Blockly, Python and C++. What additional simulation functionality do you need to work on your selector code?


Sorry I apparently haven’t been keeping up to date since I’m not an avid RMS user. Does it include competition modes now (sorry if my wording is weird, I mean simulating competition control)?

Currently no. The RMS mimics don’t have a way to simulate V5 competition switch control. It’s on our list, but we don’t have a planned release date yet.


Do you guys support the LVGL library?

We don’t have it included in our libraries right now, no. You’d have to bring in the files and integrate it yourself. You’d probably have to provide it with drawImageFromBuffer for its “copy a pixel array” requirement and dress up the pressing, xposition, and yposition methods to build a “read an input device” function for it. Then start yourself a little thread that calls lv_tick_inc regularly and lv_task_handler periodically. And you’d probably have to do it with our CLI tool, rmbuild, so you wouldn’t have to jam all of it into a single file.

1 Like

Use PROS and LVGL. You can simulate LVGL on your computer, then copy and paste the code straight into your robot code.


Do you need to download an emulator or something? How would you go about simulating that?

See here:
It does not emulate the target device, it simply compiles LVGL for your computer’s architecture, and runs it as an executable.
Hint: don’t follow the guide that uses eclipse, just compile the demo project using make, or maybe use the VSCode version.
Let me know if you need help setting up the simulator.

1 Like

I’m a little bit confused. This would be compiled on PROS correct? How would you go about integrating the demo project on the desired IDE? What did you mean exactly when you said

I can pm you for more personal clarification if necessary. But, do I need to download anything directly from the LVGL website?

1 Like

Yeah I second that. Also, I’m assuming we wouldn’t need flasher drivers. Is that correct?

1 Like

I’m not entirely sure what happens behind the scenes, but you basically download a project, and then you can modify the demo project. Anything that works in the simulator can be cool and pasted into PROS.

edit: This is based on my experience using the simulator, again I’m not entirely sure what is happening

@mvas @Nerdom
LVGL has nothing to do with PROS. It is a third-party graphics library, that functions on any type of hardware. It is a minimalist C library that is completely self-contained and can run on most processors with a display.
You can run the same LVGL code on any platform, whether it be the V5, your PC, or a rasberry pi.
All the simulator does is compile the LVGL C code to run on your computer, so you can test it.
You can develop your display codes in the simulator, but then copy them over to PROS, but it is completely separate from PROS except that they both support LVGL commands.

The guide I linked to has all the information on how to set it up with various IDEs.
make is an industry-standard tool used to automate the compiler. It uses information from a Makefile to know how to use the compiler to compile an entire project.
The LVGL simulator comes with such a Makefile, which is easier to use than eclipse. However, following the VSCode guide might be easier, I have not tried it.
PROS has already installed make for you, as it uses it for its own compiling.

Just read the guides if you have more questions, the demo projects contain all the necessary drivers.


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