🏁 For documentation, checkout our Wiki!
- 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
Feature | Supported |
---|---|
Driver Session ID | |
Multiple Screen Views | |
RPM | |
Speed | |
Gear | |
Lap Time | |
Water Temperature | |
Oil Pressure | |
Oil Temperature | |
Tire Temperatures |
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.
- 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.
- Generated by STM32CubeMX within the CubeIDE environment, which also provides the
- OpenAMP
- Communication between the two cores for their asymmetric multiprocessing computer architecture.
- Qt
- GUI framework for display visuals.
- Yocto
- Toolsuite for building a custom Linux OS image for the target device.
- Manage tools and dependencies.
- TODO: Unit tests and Continuous Integration (CI)