Skip to content

PUT-Motorsport/PUTM_EV_DASHBOARD_2024

Repository files navigation

Dashboard

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.

Prerequisites

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.

Setup

  1. Clone the repository: git clone --recurse-submodules '[email protected]:PUT-Motorsport/PUTM_EV_DASHBOARD_2024.git'.

Important

Make sure that the project path is short and contains no special characters or spaces.

  1. 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.

  1. Generate the code: CodeGenerate Code.
  2. Import the project into the STM32CubeIDE: FileOpen Project from Filesystem… and select the Dashboard directory.

You can now work on the project.

To flash the firmware, build it and program the target either using TouchGFX or STM32CubeIDE.

Device Configuration Code Generation

  1. Rename Dashboard/Core/Src/main.cpp to main.c.
  2. Generate the code.
  3. Rename main.c back to main.cpp.
  4. 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!

Icons

Google Material Library

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

Flaticon

The following icons have been created using images obtained from https://flaticon.com:

License

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.