|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.wenzlaff.twusb.schnittstelle.TWUsb
public class TWUsb
Java Schnittstelle zum USB K8055 USB Experiment Interface Board der
Firma:
Velleman Components NV
Legen Heirweg 33
9890 Gavere
Belgium Europe
http://www.velleman.be
http://www.velleman-kit.com
Dieses Board hat:
-5 Eingänge
-8 digitale Ausgänge
-2 analoge Eingänge
-2 analoge Ausgänge
Es muss die: TWUsb.dll im Windows/System32 Verzeichnis
liegen.
Java Version > 1.5
Die Nutzung ist ganz einfach. Alle Funktionen der TWUsb Klasse sind static Methoden.
Folgende drei Dinge sind immer nötig:
1. Das öffnen des Device mit der auf dem Board eingestellten Adresse, oder mit Auto Search
2. Das ausführen eines oder mehrere Befehle
3. Das schließen des Device
z.B.:
TWUsb.OpenDevice(TWUsb.ADDRESSE_0); TWUsb.SetAllDigital(); TWUsb.CloseDevice();
| Field Summary |
|---|
| Method Summary | |
|---|---|
static void |
ClearAllAnalog()
Löscht alle beiden analogen Kanäle. |
static void |
ClearAllDigital()
Schaltet alle digitalen 8 Ausgänge (rote Leuchtdioden) aus. |
static void |
ClearAnalogChannel(int pvKanal)
Löscht einen der beiden analogen Ausgabe Kanäle d.h. setzt ihn auf 0. |
static void |
ClearDigitalChannel(int pvKanal)
Schaltet den digitalen Ausgabe Kanal aus. |
static void |
CloseDevice()
Schliesst das Device. |
static java.lang.String |
getInfo()
Gibt einen Info String mit Copyright und Programmversion aus der DLL zurück. |
static java.lang.String |
getVersion()
Gibt einen Versions String direkt aus der TWUsb.DLL zurück. |
static boolean |
isDllVersionValid()
Testet ob diese Klasse mit der Version der entsprechenden TWUsb.dll zusammen passt. |
static java.lang.String |
OpenDevice(int pvAdresse)
Öffnet das USB Gerät über eine bekannte Adresse oder über Auto_Search. |
static void |
OutputAllAnalog(int pvDatenFuerKanal1,
int pvDatenFuerKanal2)
Setzt beide analogen Ausgabe Kanäle gleichzeitig mit den gewünschten Daten. |
static void |
OutputAnalogChannel(int pvKanal,
int pvDaten)
Schreibt in einen der beiden analogen Ausgangs Kanäle. |
static int |
ReadAllDigital()
Liest alle 5 digitalen Eingabe Kanäle. |
static int |
ReadAnalogChannel(int pvKanal)
Liest die Daten aus den beiden analogen Eingabe Kanälen ein. |
static long |
ReadCounter(int pvCounterNr)
Es stehen zwei 16 Bit Impulszähler zur Verfügung. |
static boolean |
ReadDigitalChannel(int pvKanal)
Liest einen der 5 digitalen Eingabe Kanäle Inp1 bis Inp5. |
static void |
ResetCounter(int pvCounterNr)
Löscht einen der beiden Counter. |
static int |
SearchDevices()
Diese Search Device Funktion sucht das verbundene Geräte. |
static void |
SetAllAnalog()
Setzt alle beiden analogen Kanäle auf den maximal Wert. |
static void |
SetAllDigital()
Schaltet alle digitalen 8 Ausgänge (rote Leuchtdioden) an. |
static void |
SetAnalogChannel(int pvKanal)
Setzt den analogen ausgabe Kanal auf den maximal Wert. |
static void |
SetCounterDebounceTime(int pvCounterNr,
int pvDebounceTime)
Setzt die Entprell Zeit für einen der beiden Counter Kanäle. |
static int |
SetCurrentDevice(int pvAdresse)
Die Funktion stellt die Adresse des Gerät ein. |
static void |
SetDigitalChannel(int pvKanal)
Schaltet den digitalen Ausgabe Kanal an. |
static void |
ShowDeviceVersionDialog()
Zeigt den Versions Dialog mit Copyright und Treiberversion aus dem Device Treiber von Vellman an. |
static void |
WriteAllDigital(int pvData)
Schreibt in die digitalen Ausgänge die Daten. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static java.lang.String getInfo()
Unabhängig davon ob das Device zuvor mit OpenDevice
geöffnet wurde oder nicht.
public static java.lang.String getVersion()
Unabhängig davon ob das Device zuvor mit OpenDevice
geöffnet werden oder nicht.
public static boolean isDllVersionValid()
Unabhängig davon ob das Device zuvor mit OpenDevice
geöffnet werden oder nicht.
true wenn die Version der TWUsb.dll
zu dieser Interface Klasse passt, sonst false.
public static void ShowDeviceVersionDialog()
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet worden sein!
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbException
public static java.lang.String OpenDevice(int pvAdresse)
throws TWUsbException
pvAdresse - die Adresse der Karte. Eine von 5 möglichen Werten von
TWUsb.ADDRESSE_0 bis
TWUsb.ADDRESSE_4 und auch
TWUsb.ADDRESSE_AUTO_SEARCH. Wird auf der Karte
mit den Jumpern SK5 und SK6 wie folgt eingestellt:
Addr SK5 SK6 0 on on 1 off on 2 on off 3 off off
Wenn diese OpenDevice Funktion ohne Exception ausgeführt
wurde, heißt das das die Verbindung zur DLL ok ist.
Das muß nicht bedeuten das das Board auch an den USB Port angeschlossen ist.
Nach dem absetzen der Befehle darf nicht TWUsb.CloseDevice
vergessen werden.
TWUsbException - bei ungültiger Adresse
TWUsbDeviceNotConnectException - wenn ein Fehler beim Connect auftrat.public static void CloseDevice()
public static int SearchDevices()
throws TWUsbException
Es wird die über die Pins SK5 und SK6 eingestellte Adresse zurückgeliefert.
-1 = TWUsb.DEVICE_NOT_FOUND
0 = Kein Gerät gefunden
TWUsb.ADDRESSE_0 (intern 1) = Gerät an Kartenadresse 0
gefunden
TWUsb.ADDRESSE_1 (intern 2) = Gerät an Kartenadresse 1
gefunden
TWUsb.ADDRESSE_2 (intern 4) = Gerät an Kartenadresse 2
gefunden
TWUsb.ADDRESSE_3 (intern 8) = Gerät an Kartenadresse 3
gefunden
Das Device muss zuvor mit Open Device und ADDRESSE_AUTO_SEARCH geöffnet
werden. Z.B.:
OpenDevice(TWUsb.ADDRESSE_AUTO_SEARCH);
TWUsb.SearchDevices();
TWUsb.CloseDevice();
Wurde das Gerät nicht mit Open Device geöffnet, wird eine
TWUsbDeviceNotOpen Exception geworfen und
TWUsb.DEVICE_NOT_FOUND zurückgeliefert.
Das gilt für den Fall das eine Karte verbunden ist oder nicht.
TWUsb.ADDRESSE_0 bis TWUsb.ADDRESSE_3
oder aber eine Summe (aus den internen Konstanten siehe oben) bei
mehreren Karten (das habe ist aber noch nicht getestet, da ich
nur eine Karte habe).
TWUsbDeviceNotConnectException - wenn das Gerät nicht verbunden ist
TWUsbDeviceNotOpen - wenn das Gerät noch nicht erfolgreich mit
OpenDevice geöffnet wurde, ob eine Karte
verbunden wurde oder nicht
TWUsbException
public static int SetCurrentDevice(int pvAdresse)
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet worden sein!
pvAdresse - int mit der Adresse die gesetzt werden soll.
TWUsbDeviceNotConnectException - wenn kein Gerät mit dem Adressparameter gefunden wurde also
das Gerät nicht angeklemmt wurde
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbException - wenn die Adressanfrage Parameter ungültig sind.
public static void WriteAllDigital(int pvData)
throws TWUsbException
TWUsb.MIN_DATA und TWUsb.MAX_DATA liegen.
pvData - die Daten die in die digitalen Ausgänge geschrieben werden.
Die Daten müssen zwischen TWUsb.MIN_DATA und
TWUsb.MAX_DATA liegen.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbDatenException - bei ungültigen Daten. Die Daten müssen zwischen
TWUsb.MIN_DATA und TWUsb.MAX_DATA
liegen.
TWUsbException
public static void SetAllDigital()
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbException
public static void ClearAllDigital()
throws TWUsbException
* Das Device muss zuvor mit OpenDevice geöffnet wurden
sein, sonnst bleibt der Aufruf wirkungslos.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbException
public static void SetDigitalChannel(int pvKanal)
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvKanal - einer der 8 digitalen Kanäle der angeschaltet werden soll.
Mögliche Werte von
TWUsb.DIGITALER_AUSGABE_KANAL_1 bis
TWUsb.DIGITALER_AUSGABE_KANAL_8
TWUsbException - bei ungültiger Kanalangabe
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void ClearDigitalChannel(int pvKanal)
throws TWUsbException
OpenDevice geöffnet wurden sein.
pvKanal - einer der 8 Kanäle der ausgeschaltet werden soll. Mögliche
Werte von TWUsb.DIGITALER_AUSGABE_KANAL_1 bis
TWUsb.DIGITALER_AUSGABE_KANAL_8
TWUsbException - bei ungültiger Kanalangabe
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static int ReadAllDigital()
throws TWUsbException
OpenDevice geöffnet wurden sein.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbException
public static boolean ReadDigitalChannel(int pvKanal)
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvKanal - der Kanal 1-5 der gelesen werden soll. Mögliche Parameter sind
TWUsb.DIGITALER_EINGABE_KANAL_1 bis
TWUsb.DIGITALER_EINGABE_KANAL_5
true wenn der Pegel high oder der Taster Inp1
... Inp5 gedrückt wurde.
TWUsbException - bei ungültigen Kanal oder bei ungültigen Eingabe Kanal
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static int ReadAnalogChannel(int pvKanal)
throws TWUsbException
* Die Analog zu Digitalwandlung mit 8 Bit. Die Werte können über die Potis ATT1 für Kanal 1 und ATT2 für Kanal 2 verändert werden.
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvKanal - entweder Kanal 1 mit
TWUsb.ANALOGER_EINGABE_KANAL_1 oder für Kanal 2
TWUsb.ANALOGER_EINGABE_KANAL_2.
0-255 oder
zwichschen TWUsb.MIN_DATA und
TWUsbb.MAX_DATA.
TWUsbException - bei ungültigen Eingabe Kanal
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void OutputAnalogChannel(int pvKanal,
int pvDaten)
throws TWUsbException
Das Ergebnis wird in den PWM1 und PWM2 ausgegeben bzw. durch die Leuchtdioden LD9 und LD10 angezeigt.
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvKanal - der Kanal 1 mit TWUsb.ANALOGER_AUSGABE_KANAL_1
oder für Kanal 2 den
TWUsb.ANALOGER_AUSGABE_KANAL_2pvDaten - die Daten die in den Ausgangskanal geschrieben werden von
0-255 bez. von TWUsb.MIN_DATA
und TWUsb.MAX_DATA das entspricht von 0 bis 5
Volt. Daten dazwischen können berechnet werden mit
Daten/255 * 5 Volt
TWUsbException - bei ungültigen Kanal oder Daten
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void OutputAllAnalog(int pvDatenFuerKanal1,
int pvDatenFuerKanal2)
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvDatenFuerKanal1 - die Daten die auf dem analogen 1. Ausgang ausgegeben werden.pvDatenFuerKanal2 - die Daten die auf dem analogen 2. Ausgang ausgegeben werden.
TWUsbDatenException - bei falschen Daten
TWUsbException - bei falschen Kanal.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void ClearAnalogChannel(int pvKanal)
throws TWUsbException
0.
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvKanal - der Kanal der gelöscht werden soll. Mögliche Kanäle
TWUsb.ANALOGER_AUSGABE_KANAL_1 oder
TWUsbException - bei ungültigen Kanal
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void ClearAllAnalog()
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbException
public static void SetAnalogChannel(int pvKanal)
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvKanal - der Kanal der auf maximal Wert gesetzt werden soll.
TWUsbException - bei ungültigen Kanal
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void SetAllAnalog()
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
TWUsbException
public static long ReadCounter(int pvCounterNr)
throws TWUsbException
Diese Funktion liest den Counter aus.
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvCounterNr - der Counter Kanal der gelesen wird. Gültige werte sind
TWUsb.COUNTER_KANAL_1 oder
TWUsb.COUNTER_KANAL_2
TWUsb.DATA_FEHLER zurückgeliefert.
TWUsbException - bei ungültigen Counter Kanal.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void ResetCounter(int pvCounterNr)
throws TWUsbException
0.
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvCounterNr - der Counter Kanal TWUsb.COUNTER_KANAL_1 oder
TWUsb.COUNTER_KANAL_2 der gelöscht werden soll.
TWUsbException - bei ungültigen Counter Kanal
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
public static void SetCounterDebounceTime(int pvCounterNr,
int pvDebounceTime)
throws TWUsbException
Das Device muss zuvor mit OpenDevice geöffnet wurden sein.
pvCounterNr - der Counter Kanal TWUsb.COUNTER_KANAL_1 oder
TWUsb.COUNTER_KANAL_2pvDebounceTime - die entprell Zeit in ms. Es sind Werte von 0-5000
das sind Werte von TWUsb.MIN_ENTPRELL_ZEIT bis
TWUsb.MAX_ENTPRELL_ZEITmöglich. Default:
2 ms Bei entprell Zeit von 0
sind ca. 2000 Zählungen pro Sekunde möglich.
TWUsbException - bei ungültigen Counter Kanal oder entprell Zeit.
TWUsbDeviceNotOpen - wenn das Device nicht zuvor mit OpenDevice
geöffnet wurde.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||