PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JFlash, auch eine Möglichkeit den ASURO zu programmieren



robo.fr
05.06.2008, 11:10
Hallo an alle ASURO benutzer,

da ich mich zur Zeit ein wenig mit Java befasse, habe ich zur Übung mal ein Flash-Tool in Java geschrieben.
Benötigt wird dazu:

Java 1.6 ( 1.5 könnte auch funktionieren )
RXTX

Das ganze ist noch ein wenig Beta, bin auch für Verbesserungsvorschläge offen.

Gruß,
robo

Edit:
JFlash 0.2: kleinere Bugs beim Bootloader entfernt
JFlash 0.3: noch mal etwas besser ....

JohnnyFlash
09.06.2008, 23:02
hallo,

ich habe dein tool mal unter mac os x 10.5.3 getestet.

unter dem standardmäßigen java 1.5 startet es garnicht.



Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java :675)
at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader .java:260)
at java.net.URLClassLoader.access$100(URLClassLoader. java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java: 195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 16)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:374)


nach dem aufwendigen umstellen auf java 1.6 kommt folgende meldung:



2008-06-09 23:57:35.652 java[28716:10b] Apple AWT Startup Exception : *** -[NSCFArray insertObject:atIndex:]: attempt to insert nil
2008-06-09 23:57:35.653 java[28716:10b] Apple AWT Restarting Native Event Thread


das programm läuft aber es wird keine gui angezeigt. ich muss es dann mit ctrl-c beenden.

allerdings ist java 1.6 unter mac os auch eine 64bit applikation. vielleicht gibt es damit probleme.

rxtx ist installiert.

ich fände es toll wenn du das programm auch unter mac os zu laufen bringen könntest. ich bin gerne bereit dir dabei zu helfen. ich kenne mich auch mit java aus.

schöne grüße,
johnnyflash

JohnnyFlash
10.06.2008, 13:39
so ich habe es geschaft das programm zum "laufen" zu bringen.

man muss die jre auf eine andere art und weise umstellen als ich das gemacht habe.




JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH


das in den terminal eingeben. damit stellt man temporär die jre auf version 1.6 um. funktioniert meines wissens nach nur unter 10.5 mit java 1.6 update. für 10.4 gibt es dieses update nicht.

gestartet wird das programm aus der gleichen terminal sitzung (nur dort gilt das andere java) mit dem befehl:


java ch.MVCcontroller

allerdings kann ich nicht per usb flashen. auf der linken seite steht nur eine com10 schnittstelle. wenn ich auf den button klicke kommt folgende meldung:



java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib: thrown while loading gnu.io.RXTXCommDriver
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib:
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.jav a:1822)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java :1715)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
at ch.Rs232.ports_available(Rs232.java:51)
at ch.Rs232.setComPortDialog(Rs232.java:127)
at ch.MVCcontroller$4.actionPerformed(MVCcontroller.j ava:116)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6126)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:589 1)
at java.awt.Container.processEvent(Container.java:210 2)
at java.awt.Component.dispatchEventImpl(Component.jav a:4497)
at java.awt.Container.dispatchEventImpl(Container.jav a:2160)
at java.awt.Component.dispatchEvent(Component.java:43 27)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4366)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:4030)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3960)
at java.awt.Container.dispatchEventImpl(Container.jav a:2146)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:43 27)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:300)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:210)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:195)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:187)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)


weil es so hübsch ist habe ich noch einen screenshot angehangen.

robo.fr
10.06.2008, 16:44
Hallo johnnyflash,

schön, dass Du das Programm ein Stück weit zum Laufen gebracht hast. Es ist seltsam, eigentlich sollte man mit dem Button die vorhandenen Schnittstellen auswählen können. Da muss Apple wohl irgend etwas anders machen. Ich werde mich des Problems auf jeden Fall annehmen, nur habe ich heute grad keine Zeit. Aber möglichst bald auf jeden Fall.

Bester Gruß,
robo

damaltor
10.06.2008, 16:44
dann haben wir also ein flashtool für den mac?

sollte das programm nützlich und halbwegs stabil sein, könnten wir es in die download-liste mit aufnehmen.

robo.fr
10.06.2008, 19:24
Hallo damaltor,

das Programm ist halt ein "Flash" Programm, also noch eines, was den ASURO flashen kann. Insofern nicht weiter bemerkenswert. Die Datenübertragung funktioniert bei meinem PC aber um einiges zuverlässiger als beim Original Flash Tool.
Vieleicht kannst Du es ja mal ausprobieren, Du hast ja Java und RXTX schon installiert. Es sollte sich also einfach starten lassen und einfach funktionieren ( ich hatte eigentlich keine Probleme mehr erwartet, habe aber leider auch keinen Mac um das auszubrobiern ).

Gruß,
robo

iBot
14.11.2008, 17:38
Moin,
äähm wo bekomm ich das Prog nochma her (also die aktuellste Version oder ist 0.3 die aktuelle ?)? :D.
MfG

robo.fr
15.11.2008, 06:34
Ähm, ganz oben in der ersten Zeile?
Wenn Du's ausprobiert hast, schreib doch mal, wie es Dir gefällt.

Bester Gruß,
robo.fr

iBot
15.11.2008, 10:36
ah also doch :D
ähm ja ich hab noch ein bisschen schwierigkeiten Java 1.6 hinzubekommen aber ich werd mich melden wenn es die erste Erfolgsmeldung gibt ;)

robo.fr
15.11.2008, 10:51
bisschen schwierigkeiten Java 1.6 hinzubekommen

Hmm, wieso? Muss man doch nur runterladen und installieren, oder?

pinsel120866
15.11.2008, 13:19
Hi robo,

kann man mit deinem Tool auch via Bluetooth flashen? Wäre toll wenn dies ginge.

robo.fr
15.11.2008, 14:27
Hallo Pinsel,

da Du immer wieder nachfragst: Nein, man kann es nicht.

Warum? Weil, aus mir unbekannten Gründen der RXTX-Treiber für Java für die serielle Schnittstelle ein Problem auf Windows mit Bluetooth hat. Mit einem Mac scheints zu gehen.

Gruß,
robo

iBot
15.11.2008, 16:47
bisschen schwierigkeiten Java 1.6 hinzubekommen

Hmm, wieso? Muss man doch nur runterladen und installieren, oder?
dazu sag ich nur folgendes ;) : http://www.macwelt.de/artikel/Macnews+Meldung/350219/kein_java_16_fuer_leopard_sun_und_apple_suchen_loe sung/1
oder man schaffts das Hier zu machen :
http://www.iam.unibe.ch/pipermail/ese/2008-October/000139.html

robo.fr
16.11.2008, 19:27
Hallo iBot,

hier die Version0.4 extra für Dich auf Java 1.5 downgegraded. Damit auch alle anderen MAC-User in den Genuss des Flashers kommen können.;-) Bin auf Deine Ergebnisse gespannt.

Gruß,
robo

iBot
16.11.2008, 20:29
@ robo.fr:
moin,
sehr schön.
Habs gleich mal gezogen und funktionieren tuts :D (reife Leistung).
Nur brauch ich jetzt noch nen USB-IR-Adapter:/.
MfG iBot
PS: Falls jemand einen USB-IR verticken will -> PN ;)

robo.fr
17.11.2008, 07:47
Habs gleich mal gezogen und funktionieren tuts Very Happy (reife Leistung).

Super, das freut mich. O:)
Wenn es noch mehr Leute gibt, die es nutzten wollen, werde ich vielleicht noch ein paar Zusatzfunktionen dranbasteln, wenn's mir die Zeit erlaubt.
Ansonsten erst mal viel Spaß beim Programmieren,

robo

can24
08.01.2010, 09:45
Naja also bei mir passiert garnichts wenn ich auf flash drücke. Eine idee :D ?

EDIT : Jaaah ich weis das der vorherige Post ein Jahr vorher geschrieben wurde :D