1
0

docs(MP): init report

This commit is contained in:
2026-06-06 17:32:45 +02:00
parent 89eced25e0
commit 6740bd2318
4 changed files with 52 additions and 5 deletions

View File

@@ -44,13 +44,51 @@
//-------------------------------------
// Content
//
//
#let general-architecture = [
#figure(
image("mini-project/deployement.png", width: 100%),
caption: "General architecture"
) <fig:general-architecture>
]
= Mini-Project
#lorem(150)
= Introduction
The purpose of this mini-project is to train different concept we saw during the semester.
We simulate a fan controlled by the temperatur of the @cpu. To simulate this fan, we blink the status led.
The @fig:general-architecture shows the general architecture of the project.
This led and the measure of the temperature is managed by a kernel module. This module support an automatic and manual mode. In the automatic mode, the blinking frequency is automatically adjusted according to the temperature. We can switch this mode by a sysfs entry. In the manual mode, we can set the blinking frequency by writing in another sysfs entry. The sysfs also provide an entry to read the current temperature and blinking frequency.
Another part in this mini-project is to create a deamon in user-space to control manually the fan. The button are read by the deamon to increase and decrease the blinking frequency in manual mode. The deamon also display the current temperature and blinking frequency on an oled screen. The daemon can also be controller by a @ipc interface.
Finally, a tiny CLI is implemented to control the daemon trought the @ipc interface.
= Architecture
#general-architecture
== Kernel
- everything is linked on regulator and main
=== blink
=== temperature
=== sysfs
== Daemon
=== gpio
- issue devicetree and solution
=== ipc
=== oled
=== application
== CLI
= Future work
= Conclusion
Fun, but not enough time for more over-engineering.
#lorem(50)
//-------------------------------------
@@ -58,4 +96,3 @@
//
#heading(numbering:none, outlined: false)[] <sec:end>
#make_glossary(gloss:gloss, title:i18n("gloss-title"))

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

View File

@@ -0,0 +1,3 @@
<diagram program="umletino" version="15.1"><zoom_level>9</zoom_level><element><id>UMLDeployment</id><coordinates><x>63</x><y>324</y><w>342</w><h>234</h></coordinates><panel_attributes>Kernel module</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLDeployment</id><coordinates><x>441</x><y>324</y><w>342</w><h>234</h></coordinates><panel_attributes>Daemon</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLDeployment</id><coordinates><x>675</x><y>261</y><w>81</w><h>45</h></coordinates><panel_attributes>CLI</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>81</x><y>495</y><w>126</w><h>36</h></coordinates><panel_attributes>blink</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>243</x><y>495</y><w>126</w><h>36</h></coordinates><panel_attributes>temperature</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>243</x><y>369</y><w>126</w><h>36</h></coordinates><panel_attributes>sysfs</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>162</x><y>432</y><w>126</w><h>36</h></coordinates><panel_attributes>symbol=component
regulator</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>216</x><y>378</y><w>45</w><h>72</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>30;10;10;10;10;60</additional_attributes></element><element><id>Relation</id><coordinates><x>117</x><y>441</y><w>63</w><h>72</h></coordinates><panel_attributes>lt=-&gt;</panel_attributes><additional_attributes>50;10;10;10;10;60</additional_attributes></element><element><id>Relation</id><coordinates><x>279</x><y>441</y><w>63</w><h>72</h></coordinates><panel_attributes>lt=-&gt;</panel_attributes><additional_attributes>10;10;50;10;50;60</additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>459</x><y>495</y><w>126</w><h>36</h></coordinates><panel_attributes>gpio</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>621</x><y>369</y><w>126</w><h>36</h></coordinates><panel_attributes>ipc</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>621</x><y>495</y><w>126</w><h>36</h></coordinates><panel_attributes>oled</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>549</x><y>432</y><w>126</w><h>36</h></coordinates><panel_attributes>symbol=component
application</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>360</x><y>378</y><w>225</w><h>72</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>10;10;230;10;230;60</additional_attributes></element><element><id>Relation</id><coordinates><x>504</x><y>441</y><w>63</w><h>72</h></coordinates><panel_attributes>lt=-&gt;</panel_attributes><additional_attributes>50;10;10;10;10;60</additional_attributes></element><element><id>Relation</id><coordinates><x>666</x><y>441</y><w>63</w><h>72</h></coordinates><panel_attributes>lt=-&gt;</panel_attributes><additional_attributes>10;10;50;10;50;60</additional_attributes></element><element><id>Relation</id><coordinates><x>594</x><y>378</y><w>45</w><h>72</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>30;10;10;10;10;60</additional_attributes></element><element><id>Relation</id><coordinates><x>702</x><y>297</y><w>27</w><h>90</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>10;80;10;10</additional_attributes></element></diagram>

View File

@@ -187,6 +187,13 @@
description: "A unit of digital information equal to 1,048,576 bytes (2^20 bytes).",
group: "Computer Science"
),
(
key: "ipc",
short: "IPC",
long: "Inter-Process Communication",
description: "A set of programming interfaces that allow processes to communicate with each other and synchronize their actions.",
group: "Operating System"
)
)