Robo- und TX-Interface mit Java programmieren

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
canu
Beiträge: 46
Registriert: 23 Dez 2012, 10:24

Robo- und TX-Interface mit Java programmieren

Beitrag von canu » 01 Feb 2013, 20:28

Hallo,

da ich in letzter Zeit fast nur noch mit Java programmiere, möchte ich meine Fischertechnik-Interface ebenfalls so ansprechen. Dazu habe ich mir für das Robo-Interface den Workspace34-Ordner von ftComputing heruntergeladen. Die beiden dll-Dateien umFish40 und FishFace40 ins System32-Verzeichnis kopiert sowie die ftcomputing.robo.jar eingebunden. Beim Testen mit Eclipse erhalte ich jedoch folgende Fehlermeldung:

Code: Alles auswählen

javaFish40.DLL konnte nicht geladen werden
Exception in thread "main" java.lang.UnsatisfiedLinkError: ftcomputing.robo.JavaFish.jrOpenInterfaceUSB(II)I
	at ftcomputing.robo.JavaFish.jrOpenInterfaceUSB(Native Method)
	at MeinFisch.main(MeinFisch.java:7)

Ich habe es sowohl auf meinen PC unter Windows 8 probiert als auch auf meinem Laptop mit Vista. Auf beiden Rechnern ist die neuste Version von Robo-Pro installiert. Außerdem kann ich auf dem Laptop problemlos mit Delphi das Interface ansprechen.
Was mache ich falsch?

Grüße canu

UMueller
Beiträge: 220
Registriert: 31 Okt 2010, 22:58

Re: Robo- und TX-Interface mit Java programmieren

Beitrag von UMueller » 01 Feb 2013, 21:13

Hallo,

soweit ich mich erinnere:

Zum ROBO Interface

Hier irritiert mich als erstes die Angabe der genutzten DLL's
Du sprichts von umFish40.DLL und ?? FishFace40. Erforderlich sind umFish40.DLL und javaFish40.DLL in einem 32bit Verzeichnis von Windows (\System32 bzw SYSWOW64) Java muß ebenfalls als 32bit Version geladen werden.
Wenn Deine Angaben zutreffen fehlt tatsächlich javaFish40.DLL

Zum TX Controller

Der benötigt umFish50.DLL und javaFish50.DLL. Aber Achtung, das Ding läuft nur zusammen mit dem alten Firmwarestand v1.18 und ggf. RoboPro mit v2.1.4.2 siehe auch Seite ..\fishdllstx.htm oben.

Gruß Ulrich Müller

vleeuwen
Beiträge: 1564
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Robo- und TX-Interface mit Java programmieren

Beitrag von vleeuwen » 01 Feb 2013, 21:53

Even thought about switching to the ECMA standardized program language C#?
The JAVA JNI is rather slow.

canu
Beiträge: 46
Registriert: 23 Dez 2012, 10:24

Re: Robo- und TX-Interface mit Java programmieren

Beitrag von canu » 02 Feb 2013, 10:25

Hallo Ulrich,

danke für die schnelle Antwort. Mit FishFace40 habe ich mich gestern vertan, ich meinte die javaFish40.dll. FishFace ist ja eine Java-Klasse in dem Archiv ftcomputing.robo. Unter Windows 8 64bit liegen die beiden dll-Dateien im Verzeichnis SYSWOW64. Die Datei umFish40.dll wird unter Delphi korrekt eingebunden.

@vleeuwen
Ich wollte erst die Grenzen von Java kennenlernen, meine Javakenntnisse vertiefen und dabei mehr über Java JNI erfahren.

Grüße
Can

UMueller
Beiträge: 220
Registriert: 31 Okt 2010, 22:58

Re: Robo- und TX-Interface mit Java programmieren

Beitrag von UMueller » 02 Feb 2013, 11:15

Hallo,

sorry, mehr fällt mir dazu nicht ein, Windows 8 habe ich nicht getestet. Gestern habe ich den Download nochmal mit BlueJ unter Vista 32bit und Windows 7/64 laufen lassen, geht. (DLLs hier in Windows\System32 bzw. SysWOW64).

Gruß Ulrich Müller

PS : wie schon oben gesagt, Java muß 32bit Laufzeit sein.

canu
Beiträge: 46
Registriert: 23 Dez 2012, 10:24

Re: Robo- und TX-Interface mit Java programmieren

Beitrag von canu » 02 Feb 2013, 14:10

Hallo Ulrich,

es lag wohl daran, dass der Compiler der 64Bit Version des JDK benutzt wurde. Da heute sowieso mal wieder ein Update für Java fällig war, habe ich mir die 32-Bit Version erneut installiert und vorher alle alten Versionen deinstalliert. Nochmals danke für die Hinweise.

Can

Antworten