Skip to content
This repository was archived by the owner on Oct 6, 2025. It is now read-only.

Commit 09f6504

Browse files
authored
Merge pull request #83 from SEAME-pt/readme
Readme updates
2 parents 78ed392 + 41b29f3 commit 09f6504

9 files changed

Lines changed: 619 additions & 13 deletions

File tree

Cluster/ui/Main.qml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ ApplicationWindow {
1111
flags: Qt.Window | Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint
1212
// flags: Qt.Window | Qt.WindowStaysOnTopHint
1313

14-
// visibility: Window.FullScreen
15-
visibility: Window.Windowed
14+
visibility: Window.FullScreen
15+
// visibility: Window.Windowed
1616
property int iconWidth: 65
1717
property int iconHeight: 65
1818

Cluster/ui/SignDetector.qml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Item {
7373
}
7474

7575
if (value === 0 || path === "") {
76-
speedSigns.clear()
76+
// speedSigns.clear()
7777
trafficLights.clear()
7878
stopSignSource = ""
7979
yieldSignSource = ""

Cluster/ui/SpeedDisplay.qml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Rectangle {
7575

7676
Text {
7777
font.family: fontFamily
78-
text: "KM/H"
78+
text: "M/MIN"
7979
font.pixelSize: app.letterSize
8080
color: "gray"
8181
anchors.horizontalCenter: parent.horizontalCenter

MiddleWare/src/main.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ int main(int argc, char** argv)
162162
if (rpm >= -1000 && rpm <= 1000)
163163
{
164164
double wheel_circumference = wheelDiameter * M_PI;
165-
double speed_kmh = rpm * wheel_circumference * 60.0 / 1000.0;
165+
double speed_m_per_min = rpm * wheel_circumference;
166166

167-
std::string speed_str = std::to_string(speed_kmh);
168-
std::cout << "Publishing speed: " << speed_str << " km/h" << std::endl;
167+
std::string speed_str = std::to_string(speed_m_per_min);
168+
std::cout << "Publishing speed: " << speed_str << " m/min" << std::endl;
169169
speed_pub.put(speed_str.c_str());
170170
}
171171
}

README.md

Lines changed: 92 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
# Team02 RaspberryPi - Car Dashboard System
1+
<h1 align="center">Instrument Cluster</h1>
22

3-
This repository contains a car dashboard system that runs on a Raspberry Pi, displaying real-time vehicle information on a dashboard screen.
3+
<h4 align="center">A real-time vehicle speed and data display.</h4>
4+
5+
![Cluster GIF](https://github.com/SEAME-pt/Team02-RaspberryPi/blob/readme/assets/instrumentCluster.gif)
46

57
## Overview
68

9+
This repository contains a car dashboard system that runs on a Raspberry Pi, displaying real-time vehicle information on a dashboard screen.
10+
711
The system consists of two main applications:
812
- **Instrument Cluster** - A QML-based dashboard display
913
- **MiddleWare** - CAN bus communication handler
@@ -30,6 +34,8 @@ The Jetson Nano sends vehicle data over CAN bus to the Raspberry Pi, which proce
3034
- Publishes vehicle data using Zenoh messaging
3135
- Handles various vehicle systems (lights, battery, speed, ADAS)
3236

37+
🗂️ [Check here](https://github.com/SEAME-pt/Team02-RaspberryPi/blob/readme/MiddleWare/src/can-id-reference-table.md) the CAN ID Reference Table in middleware
38+
3339
## Vehicle Data Supported
3440

3541
- Vehicle speed and gear
@@ -46,3 +52,87 @@ The Jetson Nano sends vehicle data over CAN bus to the Raspberry Pi, which proce
4652
- Qt6 with QML support
4753
- Zenoh messaging library
4854
- CAN utilities
55+
56+
57+
### Usage
58+
59+
60+
Once the application is up and running, the instrument cluster will display `real-time speed data` and the `vehicle's battery status` on an LCD screen. The data is continuously updated as it is received **via the CAN bus**.
61+
62+
This project's UI can be deployed and tested in two main environments (in a raspberry pi 4 and locally in you computer). Check the deploy manual [here](https://github.com/SEAME-pt/Team02-RaspberryPi/tree/readme/deploy).
63+
64+
## Testing
65+
66+
67+
68+
69+
70+
We use **LCOV** for test coverage analysis to ensure the reliability and quality of the codebase. Follow the steps below to run the tests:
71+
72+
73+
74+
75+
76+
1. Navigate to the `RaspberryPi/tests` directory:
77+
78+
79+
```bash
80+
81+
82+
cd RaspberryPi/tests
83+
84+
85+
```
86+
87+
88+
89+
90+
91+
2. After the tests are executed, a coverage report will be generated. Run the test script:
92+
93+
94+
```bash
95+
96+
97+
./test.sh
98+
99+
100+
```
101+
102+
103+
Make sure all tests pass and the coverage meets the project's standards before submitting any changes.
104+
105+
## Acknowledgments
106+
107+
- **Qt Framework:** [Qt](https://www.qt.io/) – A cross-platform framework for GUI applications.
108+
109+
110+
- **Raspberry Pi Foundation:** [Raspberry Pi](https://www.raspberrypi.org/) – The small, powerful computer that powers the display side of the project.
111+
112+
113+
- **Arduino:** [Arduino](https://www.arduino.cc/) – A versatile open-source electronics platform used for sensor data collection.
114+
115+
116+
- **CAN Bus Protocol:** [CAN Protocol](https://www.kvaser.com/can/) – The communication protocol used to connect different ECUs in the vehicle.
117+
118+
119+
## The Team 🤝
120+
121+
122+
> Together, we've collaborated to bring this project to life, combining our knowledge, skills, and experience every step of the way. It has been a great journey of learning and growing as a team.
123+
124+
125+
- <a href="https://github.com/Rui-Pedro-Pires">Rui Pires</a>
126+
127+
128+
- <a href="https://github.com/ziliolu">Luiza Zilio</a>
129+
130+
131+
- <a href="https://github.com/luis-ffe">Luis Filipe Carvalho</a>
132+
133+
134+
- <a href="https://github.com/mjorgecruz">Jorge Cruz</a>
135+
136+
137+
138+

0 commit comments

Comments
 (0)