Skip to content

The PiRacer instrument cluster Qt application project is aimed at creating a real-time speedometer for a racing car

Notifications You must be signed in to change notification settings

Shuta-syd/DES02-PiRacer-instrument

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

DES02-PiRacer-instrument

Table of contents

🎤 Introduction

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

❓ How to use

  1. 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
  2. Clone the repository to your PiRacer.
git clone https://github.com/Shuta-Syd/DES02-PiRacer-instrument
  1. 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
  1. Run startup shell file.
# tcp-socket version
./startup-des02.sh
# dbus version
./app/startup.sh
  1. If you find any kinds of bugs or issues, please contact us.
    Collaborators

📝 Documentations

You can see all documentations in /docs/ folder.

🏛️ Software Architecture

Application using TCP Sockettcp-version branch (link)
Application using D-BUSdbus-version branch (link)

You can see differences in this documentation. (Link)

TCP Version DBUS Version
tcp-version.md

🏃 Demonstration Video

👷 Known Issues

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, id 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 diable not needed features could be sufficient.

About

The PiRacer instrument cluster Qt application project is aimed at creating a real-time speedometer for a racing car

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published