A next-gen racing car dashboard powered by TouchGFX.
The dashboard presents the following information:
- speed,
- SOC,
- RPM,
- power,
- distance traveled,
- estimated range,
- current, last and the best lap duration,
- lap pace,
- battery, inverter, oil and coolant temperature,
- oil and coolant pressure.
Follow the TouchGFX Installation Guide to set up the environment.
Make sure you have the following programs installed and updated:
- TouchGFX Designer (Windows required),
- STM32CubeIDE (or optionally STM32CubeMX),
- STM32CubeProgrammer.
Important
Don't change the default installation paths, or things will break.
- Clone the repository:
git clone --recurse-submodules 'git@github.com:PUT-Motorsport/PUTM_EV_DASHBOARD_2024.git'
.
Important
Make sure that the project path is short and contains no special characters or spaces.
- Open the project using the TouchGFX Designer: click on the open button, then select the
TouchGFX/Dashboard.touchgfx
file.
Note
To update the project to a new TouchGFX version (if needed), follow the Updating to a new TouchGFX Version guide.
- Generate the code:
Code
→Generate Code
. - Import the project into the STM32CubeIDE:
File
→Open Project from Filesystem…
and select theDashboard
directory.
You can now work on the project.
To flash the firmware, build it and program the target either using TouchGFX or STM32CubeIDE.
- Rename
Dashboard/Core/Src/main.cpp
tomain.c
. - Generate the code.
- Rename
main.c
back tomain.cpp
. - Make sure that in the
STM32CubeIDE/.project
, the link points to the correct file:<link> <name>Application/User/Core/main.cpp</name> <type>1</type> <locationURI>PARENT-1-PROJECT_LOC/Core/Src/main.cpp</locationURI> </link>
Important
For the CAN library to work correctly, the auto-generated HAL driver file needs to be patched.
Make sure to restore any changes made by the generator to the Dashboard/Drivers/STM32U5xx_HAL_Driver/Src/stm32u5xx_hal_fdcan.c
file or the receiving won't work!
Some icons used in this project are sourced from Google Material Icons library, which is provided under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
For specific details about the Material Icons license, please refer to the following link: https://github.com/google/material-design-icons/blob/master/LICENSE
The following icons have been created using images obtained from https://flaticon.com:
Copyright 2024 Ignacy Kajdan
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.