From f709cc6d46faf3a2d9dea4f087196a9b0f797274 Mon Sep 17 00:00:00 2001 From: Martin Date: Mon, 16 Mar 2026 20:56:34 +0100 Subject: [PATCH] NodeOperatingSystem aktualisiert --- NodeOperatingSystem.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/NodeOperatingSystem.md b/NodeOperatingSystem.md index 6d2b9b7..999b350 100644 --- a/NodeOperatingSystem.md +++ b/NodeOperatingSystem.md @@ -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 +`