Das Linux Kernel Modul apclab.o für das
AK-Modul-Bus CompuLAB USB

written by Marcus Maul

Bild des Cypresscontrollers

DAs CompuLAB zeichnet sich durch die folgenden Features aus:

Das Gerät ist nur über die Frima AK-Modul-Bus in Deutschland zu beziehen.

Mit dem von mir geschriebenenLinux Kernel Modul ist es möglich, die Portzustände der einzelnen Eingabe-Ports 0 -7, sowie die Ausgabe - Ports 0 - 7, zu setzen bzw. auszulesen.

Das Modul apclab.o

Das erstellen des Moduls Zum kompilieren sind die Kernel-Header bzw. Kernel-Quellen des verwendeten Kerles notwendig, sowie root-Rechte.
Man wechselt nach entpacken des Archives (tar -xvzf cyport-XX.tar.gz) in das Verzeichniss modul und ruft dort make und anschließend make install auf.
Sollte make erfolgreich kompiliert haben, kann man das Modul mit insmod ./apclab.o installieren und überprüfen, ob das Gerät erkannt wurde.
Nun kann man mit dem Lab arbeiten.

Die API

Um die krüptischen Aufrufe des Treibers zu vereinfachen, habe ich eine API (Advanced Programming Interface) zu diesem Treiber entwickelt.
Die einzelnen Zustände eines Port werden dabei über Bool-Variablen in der structure Port dargestelt. Sie ist im Verzeichniss API zu finden

	struct Port {
		bool P0 :1;
		bool P1 :1;
		bool P2 :1;
		bool P3 :1;
		bool P4 :1;
		bool P5 :1;
		bool P6 :1;
		bool P7 :1;
	};
	

Es ist also notwendig, zwei Variablen mit dieser Struktur zu erstellen (Beispiel: Port Port1; Port Port2;)

Über die folgenden Funktionen wird dann das Device selber gesteuert:

Ich (Marcus Maul) wünsche allen viel Spaß beim programmieren!!! An dieser Stelle nochmals vielen Dank an den aPc, der mir bei der Programmierung tatkräftig durch Test und Hilfestellungen zur Seite stand, sowie Martin Henne und Burkhard Kainka.

Ich selber bin Mitglied des aPc-Logo.

Special Thanks to Sourceforge for hosting this project!!!
SourceForge.net Logo