NodeOperatingSystem aktualisiert
@@ -9,10 +9,13 @@ Der Anwender ist frei in der Wahl des Betriebssystem für die Jede Mikrocontroll
|
|||||||
|
|
||||||
AqHome liefert für meine eigenen Nodes ein einfaches Betriebssystem mit, das diese Aufgaben erfüllt und leicht erweiterbar ist. Dabei benötigt es nur vergleichsweise wenig FLASH und selbst kaum RAM.
|
AqHome liefert für meine eigenen Nodes ein einfaches Betriebssystem mit, das diese Aufgaben erfüllt und leicht erweiterbar ist. Dabei benötigt es nur vergleichsweise wenig FLASH und selbst kaum RAM.
|
||||||
|
|
||||||
Das System unterscheidet zwischen Modulen (Treiber) und Anwendungen, wobei jeweils mehrere aktiv sein koennen.
|
# AqHome-Betriebssystem
|
||||||
|
|
||||||
Module sind lowlevel-Code und in erster Linie Treiber für Hardware-Geräte (z.B. den Umweltsensor SI7021) oder für Protokolle.
|
Das System unterscheidet zwischen Modulen und Anwendungen, wobei jeweils mehrere aktiv sein koennen.
|
||||||
Anwendungen hingegen liegen auf höherer Ebene und verwenden z.B. die Module. Beispielsweise gibt es Anwendungen für den Netzwerk-Stack, für Bewegungsmelder-aktiviertes Licht, zum Berichten von Statistiken und von Sensordaten.
|
|
||||||
|
**Module** sind lowlevel-Code und in erster Linie Treiber für Hardware-Geräte (z.B. den Umweltsensor SI7021) oder für Protokolle. Sie enthalten z.B. auch Interrupt-Handler.
|
||||||
|
|
||||||
|
**Anwendungen** hingegen liegen auf höherer Ebene und verwenden Module, um deren Funktionalität z.B. zu kombinieren oder aufzuwerten. Beispielsweise gibt es Anwendungen für den Netzwerk-Stack, für Bewegungsmelder-aktiviertes Licht, zum Berichten von Statistiken und von Sensordaten.
|
||||||
|
|
||||||
Zur Kommunikation mit Modulen und Anwendungen kennt das Betriebssystem verschiedene Funktionen:
|
Zur Kommunikation mit Modulen und Anwendungen kennt das Betriebssystem verschiedene Funktionen:
|
||||||
|
|
||||||
@@ -30,5 +33,9 @@ Die Aufrufe dieser Funktionen liegen für Module in den Dateien _avr/devices/all
|
|||||||
|
|
||||||
Viele Treiber implementieren nicht alle Funktionen, daher findet sich nicht in jeder entsprechenden Datei ein solcher Aufruf.
|
Viele Treiber implementieren nicht alle Funktionen, daher findet sich nicht in jeder entsprechenden Datei ein solcher Aufruf.
|
||||||
|
|
||||||
|
Um die Verwendung durch die verschiedenen Platinen zu vereinfachen, werden die Aufrufe in den _modules_xxx.asm_ und _apps_xxx.asm_ Dateien immer durch Präprozessor-Direktiven eingeschlossen, z.B.:
|
||||||
|
|
||||||
|
|
||||||
|
`#ifdef MODULES_SI7021
|
||||||
|
bigcall
|
||||||
|
`
|
||||||
|
|||||||
Reference in New Issue
Block a user