Display Software




This is not using the official Raspberry-Pi touchscreen, but 3 x 21 inch touchscreen monitor.


Taking base example OpenGLES code for the VideoCore GPU on the RaspberryPi4 this was re-engineered to do real-time rendering of all the controls,
Plus, since OpenGL is 3D, a nice 3D cube logo animation was added in the background just as an experiment.

Latest version of rpi-opengl-without-x.git:


Raspberry Pi 4 uses OpenGLES 2.0 and Shader Language GLSL 1.10


The debug version with coloured background shows all the quad surfaces and renderings to make it easy to correct issues.
The release version (showing a white background) is the one which is used to operate the car.


Also a "night mode" will be added in future versions with dark background and appropriately coloured sprites.


For ergonomic reasons it was best to move the controls to the lower part of the screen.
Basically this means your hand is not covering the dials and you can use the bottom of the screen as a hand rest.



It's just a minor UI change but makes it much easier to use when testing.

These initial versions are mainly for in-vehicle system testing and later versions will have much more appropriately styled visuals and controls.
The main issue is to maintain real-time operation (i.e. fast rendering) on the small plaform Raspberry Pi which plagues other high-end brand electric cars.

This is not difficult to do so long as you design the system for the target embedded plaform (as is the case here),
and not include computationally-expensive, common platforms designed for high end machines.

Upgrades

Going for something simpler and easily adaptable (and maybe a bit cooler looking)


Got some cool looking fontwork too:


RenderDoc is pretty useful at debugging OpenGL.