You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+42-21Lines changed: 42 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,73 +3,94 @@ A real-time camera streaming system built on a Raspberry Pi that integrates a cu
3
3
4
4
This project demonstrates end-to-end system design across kernel space and user space. It combines Linux interfaces (V4L2, IOCTL, MMAP) with concurrent data pipelines and computer vision inference.
5
5
6
-
💡 **Additional Notes**
6
+
💡 **Additional Notes**
7
7
Each key feature includes a link to **in-depth implementation notes** that describe how the module was designed and built.
8
8
9
-
###🌿 Branches
9
+
## 🌿 Branches
10
10
-`main` - Stable, fully integrated version of the project
11
11
-`stream` - Core camera capture and MJPEG streaming pipeline
12
12
-`stream_detect` - Streaming pipeline with on-device object detection
13
13
-`gh-pages` - Generated documentation hosted via github pages
14
14
15
-
### 📝 Documentation
16
-
The project includes **comprehensive Doxygen documentation** covering:
17
-
- Modules
18
-
- Functions
19
-
- Classes and detailed usage
15
+
## 📝 Documentation
16
+
The project includes **comprehensive Doxygen documentation** covering modules, functions, classes and detailed usage.
20
17
21
18
👉 Explore the generated docs: [Doxygen Documentation](https://hajjsalad.github.io/RaspberryPi-Cam-Streamer/html/index.html)
22
19
👉 Explore how the documentation was structured and written: [Notes on Notion](https://www.notion.so/hajjsalad/Doxygen-Documentation-2dea741b5aab809989afdaf9d198430b)
23
20
24
21
### 🗝️ Key Features
25
-
✅**Custom Linux Kernel Module**[Notes on Notion](https://www.notion.so/hajjsalad/Cam-Stream-Kernel-Module-2cca741b5aab80e1bddbe204e5e99eae)
22
+
1.**Custom Linux Kernel Module**[Notes on Notion](https://www.notion.so/hajjsalad/Cam-Stream-Kernel-Module-2cca741b5aab80e1bddbe204e5e99eae)
26
23
27
24
- Character device driver exposing camera control and LED status signaling via `ioctl`
28
25
- Well-defined kernel ↔ user-space interface with minimal surface area
29
26
- GPIO-driven LED indicators reflecting real-time camera streaming state
30
27
31
28
`GPIO` · `IOCTL` · `Character device` · `Linux kernel` · `kernel ↔ user space interface`
32
29
33
-
✅**V4L2-Based Camera Pipeline**[Notes on Notion](https://www.notion.so/hajjsalad/V4L2-Streaming-Pipeline-2cca741b5aab80be8b30e62d9311b929)
30
+
2.**V4L2-Based Camera Pipeline**[Notes on Notion](https://www.notion.so/hajjsalad/V4L2-Streaming-Pipeline-2cca741b5aab80be8b30e62d9311b929)
34
31
35
32
- Camera configuration using V4L2 API, including format negotiation and stream parameters
36
33
- Buffer allocation and zero-copy frame access via memory mapping I/O (MMAP)
37
34
- Continuous frame capture with explicit buffer dequeue and re-queue operations
0 commit comments