Skip to content

Latest commit

 

History

History
61 lines (50 loc) · 2.85 KB

README.md

File metadata and controls

61 lines (50 loc) · 2.85 KB

DashboardDisplay

🏁 For documentation, checkout our Wiki!

Table of Contents

  1. Objective
  2. User Features
  3. Hardware and Equipment
  4. Firmware Tech Stack
  5. Software Tech Stack
  6. Automation

Objective:

  • A Dashboard Display system for allowing the driver and pit crew to make critical decisions.
  • Modernize the display by introducing an OS and a standardized GUI framework.
  • Provide hardware-agnostic visuals using the following practices.
    • The Model-View-Controller (MVC) Architecture design pattern
    • Modularity of components
    • Hardware abstraction

User Features

Feature Supported
Driver Session ID
Multiple Screen Views
RPM
Speed
Gear
Lap Time
Water Temperature
Oil Pressure
Oil Temperature
Tire Temperatures

Hardware and Equipment

Target Device

The STM32 MP157D-DK1 development board has two cores:

  • ARM Cortex M4 microcontroller
  • ARM Cortex A7 microprocessor

In other words, this device can run both baremetal/RTOS firmware (M4) while running Linux and software applications (A7). This device was selected to re-use the CAN and ECU libraries from the DAQ project on the microcontroller.

image

Firmware Tech Stack

  • STM32 Hardware Abstraction Layer (HAL)
    • Generated by STM32CubeMX within the CubeIDE environment, which also provides the arm-none-eabi toolchain.
    • Serves as a set of drivers or a Board Support Package (BSP) to interface with the microcontroller.
  • OpenAMP
    • Communication between the two cores for their asymmetric multiprocessing computer architecture.

Software Tech Stack

  • Qt
    • GUI framework for display visuals.
  • Yocto
    • Toolsuite for building a custom Linux OS image for the target device.
    • Manage tools and dependencies.

Automation

  • TODO: Unit tests and Continuous Integration (CI)