(4.3.03)
Endlich kann nun auch das CompuLAB-USB unter Linix betrieben werden. Wir danken Herrn Marcus Maul, der ein CompuLAB-USB-Modul entwickelt hat. Das erste Release findet man nun unter
Mit diesem Linux Kernel Modul ist es möglich, die Portzustände der einzelnen Eingabe-Ports 0 -7, die analogen Eingänge A und B sowie die Ausgabe-Ports 0 - 7, zu setzen bzw. auszulesen. Auf der Seite findet man auch alle Einzelheiten zum Einsatz des Moduls.
Das CompuLAB lässt sich mit nur 3 Aufrufen ansteuern. Das folgende Beispiel zeigt ein einfaches Testprogramm:
#include "../API/apclab.h"
apclab * lab;
Port Ports[2];
double A, B;
int val;
bool b = true;
int main (int argv, char** argc) {
//Kann einfach so in allen Programmen übernommen werden
lab = new apclab; //Pointer auf das Device erzeugen
lab -> init(0); //CompuLAB initieren, hier /dev/usb/apclab0
// bei /dev/usb/apclab1 lautet der Aufruf:
// lab -> init(1) usw.
//Hier werden die entsprechenden Ausgangsports in der
// Structure gesetzt
Ports[0].P0 = 1; // Ausgangsport 0 aktivieren
Ports[0].P3 = 1; // Ausgangsport 3 aktivieren
do {
// Die Daten im CompuLAB aktualisieren
Ports[1] = lab -> read_Lab (Ports[0],A, B);
//Die Zustande der anderen Ports auf der Console ausgeben
cerr << "Read_Lab" << endl;
cerr << "Eingang 0 = " << Ports[1].P0 << endl;
cerr << "Eingang 1 = " << Ports[1].P1 << endl;
cerr << "Eingang 2 = " << Ports[1].P2 << endl;
cerr << "Eingang 3 = " << Ports[1].P3 << endl;
cerr << "Eingang 4 = " << Ports[1].P4 << endl;
cerr << "Eingang 5 = " << Ports[1].P5 << endl;
cerr << "Eingang 6 = " << Ports[1].P6 << endl;
cerr << "Eingang 7 = " << Ports[1].P7 << endl;
cerr << "Port A = " << A << endl;
cerr << "port B = " << B << endl;
// 1 Sekunde warten
usleep (100000);
} while (b == true);
//Das entsprechende LAB deinitialisieren.
lab -> deinit();
}
Marcus Maul hat ebenfalls ein Modul für den USB-Port entwickelt, das man unter der folgenden Adresse laden kann:
Zurück zur Startseite der MB-News
Zurück zur Startseite AK-Modul-Bus