# Hardware User Interface
The AVM Hardware User Interface, or in short hui, controls leds and buttons of a device. To do that, it provides a event store, led overlays, blink engines and led/buttons device drivers.
[TOC]
\todo
Bitte dokumentiere hier die Schnittstelle.
Eine textuelle Einführung ist sehr hilfreich, um dem Leser zunächst einen
allgemeinen Überblick über die Projektschnittstelle zu geben. Insbesondere bei
größeren Schnittstellen kann sie den logischen Aufbau der Schnittstelle auch
sehr viel besser erklären als die Verzeichnisstruktur allein das abbilden kann.
Zwar erstellt Doxygen auch automatisch verschiedene Listen, doch stößt jede
Automatik hier schnell an ihre Grenzen.
Mit einer guten Einführung hilfst Du vor allem Neueinsteigern, sich in Deinem
Projekt zurecht zu finden: so können sie sich leicht selbst einarbeiten, und
Du brauchst dieselben Fragen nicht wieder und wieder zu beantworten.
# Markdown Tutorial {#markdown}
## Überschriften {#ueberschriften}
\attention
Enthält eine Markdown-Datei in der 1. Zeile eine Überschrift, verwendet Doxygen
sie als Titel der Seite.
\verbatim
# H1
## H2
### H3
#### H4
\endverbatim
**Ergebnis**
H1
H2
H3
H4
\note
Damit eine Überschrift im Inhaltsverzeichnis angezeigt wird, muss ihr eine
einzigartige doxygen-ID zugeordnet werden. Die ID beginnt mit einem
Doppelkreuz ('#') und steht zwischen geschweiften Klammern:
\verbatim
# Überschrift {#id}
\endverbatim
## Formatierung im Fließtext {#formatierung}
\verbatim
Text kann *kursiv* oder **fett** hervorgehoben werden.
\endverbatim
**Ergebnis**
Text kann *kursiv* oder **fett** hervorgehoben werden.
## Listen {#listen}
\verbatim
1. eine
2. nummerierte
3. Liste
* oder ungeordnete Stichpunkte
* Verschachtelte Listen sind erlaubt.
* auch Kombinationen verschiedener Listen sind möglich
1. zum Beispiel so
\endverbatim
**Ergebnis**
1. eine
2. nummerierte
3. Liste
* oder ungeordnete Stichpunkte
* Verschachtelte Listen sind erlaubt.
* auch Kombinationen verschiedener Listen sind möglich
1. zum Beispiel so
## Links {#links}
\verbatim
[AVM](https://www.avm.de) •
[Ein interner Link wird mit \ref erstellt](\ref markdown)
\endverbatim
**Ergebnis**
[AVM](https://www.avm.de) •
[Ein interner Link wird mit \\ref erstellt](\ref markdown)
## Bilder {#bilder}
\verbatim
![Beschreibung](doxygen.png)
\endverbatim
**Ergebnis**
![Beschreibung](doxygen.png)
## Code {#code}
\verbatim
Man kann `Quelltext` direkt in den Fließtext einbetten.
\endverbatim
**Ergebnis**
Man kann `Quelltext` direkt in den Fließtext einbetten.
- - -
Code-Blöcke werden durch Zeilen mit mindestens 3 Tilde-Zeichen (~) umschlossen.
Die Sprache kann in der ersten Zeile angegeben werden.
\verbatim
~~~{.c}
#include
int main(int argc, char *argv[]) {
return 0;
}
~~~
\endverbatim
**Ergebnis**
~~~{.c}
#include
int main(int argc, char *argv[]) {
return 0;
}
~~~
## Tabellen {#tabellen}
\verbatim
Spalte 1 | Spalte 2
-------- | --------
Datum 1 | Datum 2
Datum 3 | Datum 4
\endverbatim
**Ergebnis**
Spalte 1 | Spalte 2
-------- | --------
Datum 1 | Datum 2
Datum 3 | Datum 4
## Doxygen Kommandos {#kommandos}
\verbatim
\note
Es ist möglich, Doxygen-Kommandos im Markdown aufzurufen.
\endverbatim
**Ergebnis**
\note
Es ist möglich, Doxygen-Kommandos im Markdown aufzurufen.