Hallo Zusammen,
gibt es hier im Forum ein paar Leute, die sich gut mit java auskennen?
Für einen kleinen Selbstbau Logik Analysator
Beitrag "Logic Analyser mit Pollin CPLD Board"
möchte ich eine Java-PC-Oberfläche anpassen
http://www.sump.org/projects/analyzer/downloads/la-src-0.8.tar.bz2
Jetzt stellt sich die Frage, wie man das am besten macht. Die Klasse für
die Kommunikation mit der Hardware über die serielle Schnittstelle heist
"Device.java". Dort gibt es ein Funktion "run()" welche die
Konfiguration zum Logikanalysator überträgt und von dort die Messdaten
abholt.
Jetzt könnte ich einfach die "run()" Funktion per Spaghetticode-Eingriff
verändern. Damit scheinen mir allerdings die Vorteile der
Objektorientierten Programmierung vertan. Wie kann man es besser machen?
Besten Dank im Vorraus für die Hilfe,
befro
Hm.. also ich kenn mich shcon etwas besser mit Java aus ;)
Naja der Code ist nicht soooo optimal aufgebaut das könnte man besser
machen, z.B. durch eine Abstrakte Klasse, egal.
Objektorientierter Ansatz: Du erstellst eine Klasse
Jezt müßtest du schauen wo das Device erzeugt wird und dort einfach dein
"MyDevice" erzeugen, oder als zusätzliche Auswahl hinzufügen, oder oder
oder ;)
Wenn du willst könnt ich dich da etwas unterstützen, habe aber selber
leider kein Pollinboard um das Aktiv zu testen (könnte höchstens
versuchen das auf nem Spartan3 zu portieren)
Hey, super, das klingt gut.
>Jezt müßtest du schauen wo das Device erzeugt wird und dort einfach dein>"MyDevice" erzeugen, oder als zusätzliche Auswahl hinzufügen, oder oder>oder ;)
Hmm, könnte man dann nicht genausogut einfach die Funktion "run()" durch
eine Funktion "run2()" in Device ersetzten?
Ich werde mal versuchen herauszufinden, wo die Klase Device instanziert
wird.
>Wenn du willst könnt ich dich da etwas unterstützen, habe aber selber>leider kein Pollinboard um das Aktiv zu testen (könnte höchstens>versuchen das auf nem Spartan3 zu portieren)
Darüber würde ich mich sehr freuen. Ich würde gerne der Einfachheit
halber erst einmal eine Simulation einbauen, sodass das Programm auch
ohne angeschlossene Hardware laufen kann, d.h. die Funktion run() kann
einfach mal künstlch erzeugte Werte zurückgeben.
Hallo Läubi,
dank Deines Tipps bin ich schon mal ein Stück weiter gekommen. Ich habe
ein neues Device "SimualatedDevice" erstellt. Es muss in der Klasse
"DeviceController" eingebunden werden.
Das Javaprogramm läuft damit. Es werden die Zählersignale auf dem
Bildschirm bei einer Abtastfrequenz von 1Khz dargestellt.
Hier die Version 1.0 des Java-Programms.
Es ist ein Eclipse-Projekt. Leider weiss ich nicht, wie man es für den
Desktop ausführbar macht.
Das Programm funktioniert, das Jedec-File für das Pollin-CPLD ist auch
enthalten. Es werden im Moment nur 128 Werte übertragen und die
Abtastrate ist fest auf 2MHz eingestellt.
Hallo Frank,
meine Sourcen habe ich von
http://www.sump.org/projects/analyzer/downloads/la-src-0.8.tar.bz2
heruntergezogen. Ich nehme an, Du bist einer der Entwickler, die auf
Sourceforge arbeiten.
@Jörg
>Aaah ja, man findet die sourcen dort, wenn man ins SVN geht .. z.b. über>http://jlac.cvs.sourceforge.net/viewvc/jlac/client/
Auf der Sourceforgeseite kann man sich nur die einzelnen Files
runterziehen, was ich ziemlich mühselig finde. Hier wäre es besser, wenn
man das Packet als ganzes ( wie sonst auf Sourceforge üblich )
herunterziehen könnte.
So weit ich es einschätzen kann, sind die Sourcen auf Sourceforge
tatsächlich neuer, weil bei den Devices ein zweiter Logikanalysatortyp
eingebunden wird.
An die Java-Experten:
Wie mache ich aus meinem Eclipseprojekt ein JAR-File bei dem auch RXTX
schon eingebunden ist und eine start.bat Datei, sodass die User das
Ganze einfach durch Mausklick ohne große Installation starten können?
Das geht so einfach nicht...
Du kannst dir aber JSmooth runterladen, dort das RXTX Paket als
zusätliche Libary einbinden, dann muß man nurnoch das RXTX Paket+DLL und
die erzeugte Exe in einem Ordner sein.
>Das geht so einfach nicht...
Meinst Du wirklich? Ich glaube Malte hat es mit seinem Programm ganz gut
geschaFft
http://www.mikrocontroller.net/attachment/48244/DSOControl-0.01.zip
blos weis ich leider nicht, wie man Eclipse dazu überredet, das ganz
Projekt inclusive RXTX zu exportieren um es ähnlich wie Malte
hinzukriegen.
Was Malte gemacht hat ist das ganze als ZIP Datei zu exportieren... klar
ist das "eine Datei" aber ausführen durch Doppelklick ist da nicht. Wenn
du es so wie Malte machen willst, warum nimmst du dann nicht seins als
Vorlage? Da ist ja sogar schon ne BatchDatei incl. Aufruf dabei...