This project is part of SEA-ME Project.
The PiRacer instrument cluster Qt application project is aimed at creating a real-time speedometer for a PiRacer car. The application will run on a Raspberry Pi and receive speed data from a speed sensor via the in-vehicle communication using Controller Area Network (CAN) protocol. This project will provide an opportunity for students to gain practical experience in software engineering, specifically in the areas of embedded systems, software architecture, and communication protocols. The project will also allow students to gain knowledge of the GUI frameworks (eg. Qt), that are widely used in the automotive industry for developing many embedded applications. The successful completion of this project will demonstrate the students' ability to design and implement a real-world software solution, and their ability to effectively communicate their results.
You can see the full subject in this link. SEA-ME/DES-Instrument-Cluster
- Choose what versions to use. (TCP Socket vs D-bus)
To see details about the architecture, see Software Architecture of README or basic-knowledge-of-the-architecture.md - Clone the repository to your PiRacer.
git clone https://github.com/Shuta-Syd/DES02-PiRacer-instrument
- Move to directory and checkout to version that you want to use.
cd DES02-PiRacer-instrument/
# tcp-socket version
git checkout tcp-version
# dbus version
git checkout dbus-version
- Run startup shell file.
# tcp-socket version
./startup-des02.sh
# dbus version
./app/startup.sh
- If you find any kinds of bugs or issues, please contact us.
Collaborators
You can see all documentations in /docs/
folder.
- Automation.md
- basic-knowledge-of-the-architecture.md
- Battery-Level-Calculation.md
- CAN-Communication.md
- Design-Renewal.md
- Exception.md
- Inter-Process-Communication.md
- LCD-Display.md
- RPM-Calculation.md
- Startup-Routine.md
- tcp-version.md
Application using TCP Socket
➝ tcp-version
branch (link)
Application using D-BUS
➝ dbus-version
branch (link)
You can see differences in this documentation.
TCP Version | DBUS Version |
---|---|
tcp-version.md | dbus-version.md |
Some issues we found while testing:
- Gear Selection & Indicators do not work.
- The dashboard is not updating the Indicator & Gear Selection.
- The CAN HAT driver randomly assigns the CAN Bus to CAN interface 0 instead of 1 sometimes.
- We assume this can be solved by adjusting the Pi's interface settings (single/double SPI Mode for CAN HAT).
- When the PiRacer is running wihout a regular power supply (batteries only), it displays a low voltage warning. Furthermore, if this happens, it seems like the processes are running "slower" which can results in a significant delay in some processes like remote control.
- We assume that a propper priorisation of the python processes can fix this problem. In addition using a more lightweight OS or disable not needed features could be sufficient.