NodeOperatingSystem aktualisiert

2026-03-16 20:56:34 +01:00
parent 31f0e57128
commit f709cc6d46

@@ -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.
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.
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.
Das System unterscheidet zwischen Modulen und Anwendungen, wobei jeweils mehrere aktiv sein koennen.
**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:
@@ -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.
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
`