Das Prinzip
|
Das Funktionsprinzip:
Der ALIC Controller arbeitet im Prinzip wie ein "gewöhnlicher"
Microcontroller, d.h. er holt sich einen Befehl nach dem anderen aus
dem Programmspeicher, decodiert ihn und führt die
entsprechende
Operation aus. Allerdings hat jeder der vorhandenen Ausgänge
virtuell seine eigene Ausführungs-Einheit, so daß
die
Programme für die verschiedenen Ausgänge
unabhängig
voneinander im Multitasking-Betrieb ablaufen. Der Programmspeicher ist
aber nicht nach Ausgangskanälen aufgeteilt, es kann also
für
verschiedene Ausgänge auch derselbe Programmcode verarbeitet
werden.

Zur Beeinflussung des Programmablaufs von außen stehen eine
gewisse Anzahl von logischen Schaltern ("Switches") zur
Verfügung,
sowie ggf. auch ein Satz von Variablen. Die Steuerschalter
können
lediglich den Zustand "ein"
oder "aus"
annehmen, die Variablen jeweils einen Wert zwischen 0 und max. 255.
Die Schalter- und Variablenwerte können über Befehle
im ALIC-Programm abgefragt werden und dadurch der Programmlauf
beeinflusst werden. Eine direkte Verbindung zwischen der
Implementations-spezifischen Firmware und dem ALIC-Interpreter gibt es
nicht. Die Kommunikation zwischen beiden findet
ausschließlich über das Setzen/Löschen von
Switches
oder die Übergabe von Steuerwerten statt.
In der Praxis, z.B. bei einem RC-Interface mit zwei Eingängen,
werden dann die Stellungen der entsprechenden Schieber am Sender von
der RC-Interface Firmware als Zahlenwert in zwei
verschiedenen Steuer-Variablen abgelegt. Vom ALIC-Programm aus
können diese dann mit bedingten Sprungbefehlen
(Ausführung
wenn Wert größer bzw. kleiner, als...) ausgewertet
werden
und entsprechend in den gewünschten Programmteil verzweigt
werden,
z.B. Blitzer "aus" bei Werten unterhalb 30% Schieberwert,
Einfach-Blitzer bei Werten bis 70%, darüber ein Doppel-Blitz.
Ebenso könnte die RC-Interface Firmware auch eine
Multiswitch-Auswertung beinhalten und 8 Steuerschalter entsprechend
ein- oder ausschalten.
|