JLab 1.4 mit Backup/Restore V1.4

Alles zum Thema Instrumentation (Anzeige- und Steuersoftware) auf Computerseite (Labview, JLab, ...) kann hier rein: Installation, Komponenten, Probleme...
Antworten
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

JLab 1.4 mit Backup/Restore V1.4

Beitrag von magicroomy »

Es gibt das JLab in neuer Version V1.4.

zum einen hab ich einen Bug gefixed, der beim Öffnen der
Verbindungsmaske kam, wenn man mit JLabTCPIP gearbeitet hat.

Zum anderen habe ich mich eines Problems angenommen, das hier schon
öfter diskutiert wurde:

Backup/Restore von Modul Konfigurationsparametern.

Es gibt ein neues Menü unter Module mit dem sich ein Backup/Restore
Fenster öffnen Läßt. Es hat eine Textanzeige (zeigt an, was JLab so
gerade macht) und zwei Buttons.
Durch den Button "Speichern" werden alle Konfig Parameter aller
Module in eine XML Datei gespeichert.
Durch Button "Wiederherstellen" wird eine "gespeicherte" xml Datei
wieder in die Module eingelesen (mit EEPROM Enable "of course")
Folgendes gilt es zu beachten:
1. Ich speichere alles was in der syntax.xml als CMD "OFS" oder "SCL"
declariert ist. Derzeit noch keine "OPT". Will man aber vielleicht
auch so. Später kanns hier durchaus Erweiterungen geben, damit man
genauer spezifizieren kann, was man alles gebackuped haben will.
2. Ich habe es mit meinen Modulen ausprobiert und habe keine Probleme
festgestellt. Wer sicher gehen will, sollte evtl. einen EEP Backup
mit dem ISP Programmer ziehen. Speichern ist unkritisch da nur
gelesen wird. Restore ist natürlich gefährlicher.
3. Da ich nur ADA, DDS und DCG habe, habe ich derzeit nur die
implementiert. Die anderen sind aber nur Einträge in einer Liste.
Wollte es nur nicht einbauen ohne es vorher mal getestet zu haben.
4. JLab exportiert alle Module auf einmal (derzeit). Die erstellte
XML Datei kann man aber duplizieren und ändern. Einfach die Module
rauskicken, die man nicht will, so kann man sich verschiedene XMLs
(für jedes Modul eines) machen.
Das XML sollte selbsterklärend sein.

Bin gespannt auf Eueren Feedback

Gruss
Magic Roomy
Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 262
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Re: JLab 1.4 mit Backup/Restore V1.4

Beitrag von thoralt »

Hallo Volker,
magicroomy hat geschrieben:Bin gespannt auf Eueren Feedback
ich habe soeben mit Deinem JLab und dem DDS (C-Firmware) rumgespielt. Ich kann Dir bestätigen, daß es auch auf dem Mac normal läuft! Besonders der Auswahldialog für die COM-Ports hat mich sehr gefreut :)

Thoralt
There are 10 kinds of people in this world: Those who understand binary and those who don't.
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: JLab 1.4 mit Backup/Restore V1.4

Beitrag von amd-65 »

Hi,

wenn ich im Menu Module->(2)DCG auf Control klicke, sollte das Control-Panel erscheinen. Es tut sich aber nichts. Was mache ich falsch?

Gruß
amd-65
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Console

Beitrag von magicroomy »

Hmmm,
sollte so funktionieren wie Du es beschrieben hast.
Gibts Meldungen in der Console ?

Gruss
Magic Roomy
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: Console

Beitrag von amd-65 »

magicroomy hat geschrieben:Hmmm,
sollte so funktionieren wie Du es beschrieben hast.
Gibts Meldungen in der Console ?
Bei mir war nur jre 1.5.0.06 installiert. Nach Installation von jre 1.6.0.04 hat es funktioniert. Über Console-Meldungen kann ich nichts sagen. Ich habe 1.6 nochmal deinstalliert, aber dann ließ sich JLab nicht mehr starten.

Gruß
amd-65
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Jlab und Java

Beitrag von magicroomy »

Das normale JLab braucht Java 6.
Die Variante die ...50.jar im Namen trägt kommt allerdings auch mit Java 5 aus.

Gruss Magic Roomy
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: JLab 1.4 mit Backup/Restore V1.4

Beitrag von amd-65 »

magicroomy hat geschrieben:Es gibt das JLab in neuer Version V1.4.
Zum anderen habe ich mich eines Problems angenommen, das hier schon
öfter diskutiert wurde:

Backup/Restore von Modul Konfigurationsparametern.
Das Restore 'überfährt' die Firmware. Es werden einfach alle Befehle abgeschickt ohne das Ergebnis des letzten Befehls abzufragen. Wenn dan der UART-Puffer überläuft, gibt es Syntax-Errors, wobei nicht klar ist, zu welchem Befehl die gehören. Ich habe mit dem Portmonitor mal mitgeschrieben, wie schnell gesendet wird. Beim Restore sind es 558Byte in ca. 240ms bis der erste Syntax-Fehler kommt.

Beim Schreiben von EEPROM-Parametern reagiert ein Modul deutlich langsamer. Das Schreiben eines EEPROM-Bytes dauert ca. 8ms. Wenn ein double-Parameter geschrieben wird, dauert die Abarbeitung damit ca. 32ms. Während dieser Zeit werden nur noch Interrupts bedient.

Gruß
amd-65
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: Jlab und Java

Beitrag von amd-65 »

magicroomy hat geschrieben:Das normale JLab braucht Java 6.
Die Variante die ...50.jar im Namen trägt kommt allerdings auch mit Java 5 aus.
Ich habe unter Java 5 die Variante mit ...50.jar benutzt. Die Kennlinien konnte ich öffnen, das Panel nicht.

Gruß
amd-65
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: JLab 1.4 mit Backup/Restore V1.4

Beitrag von amd-65 »

amd-65 hat geschrieben: Das Restore 'überfährt' die Firmware.
Ich habe mal in die Firmware eine Ausgabe am Ende von ParseSetParam() eingebaut und ein Parameterrestore in JLab laufen lassen:

Code: Alles auswählen

09.02.2008 13:51:33 de.jlab.JLabMain <init>
SCHWERWIEGEND: JLab 1.4 (C) 2007,2008 by Volker Raum
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
Status #2:254=0.1 [DCG2 by Hartmut Birr 11/2007]

DCG
09.02.2008 13:51:38 de.jlab.lab.Lab initLab
INFO: c't Lab Modules checked
09.02.2008 13:51:38 de.jlab.lab.Lab initLab
INFO: External Lab Modules checked
1202561505874 OUT <2:250=1.000>
1202561505874 OUT <2:100=10>
1202561505890 OUT <2:250=1.000>
1202561505890 OUT <2:101=10>
1202561505906 IN <#2:253=250 4>
1202561505906 OUT <2:250=1.000>
1202561505906 OUT <2:102=40>
1202561505921 IN <#2:253=100 104>
1202561505921 IN <#2:253=250 2>
1202561505921 OUT <2:250=1.000>
1202561505921 OUT <2:103=40>
1202561505937 IN <#2:253=101 110>
1202561505937 IN <#2:253=250 3>
1202561505937 OUT <2:250=1.000>
1202561505937 OUT <2:104=40>
1202561505937 OUT <2:250=1.000>
1202561505953 IN <#2:253=102 117>
1202561505953 IN <#2:253=250 3>
1202561505953 OUT <2:105=40>
1202561505968 IN <#2:253=103 124>
1202561505968 IN <#2:253=250 3>
1202561505968 OUT <2:250=1.000>
1202561505968 OUT <2:110=-306>
1202561505984 OUT <2:250=1.000>
1202561505984 IN <#2:253=104 130>
1202561505984 OUT <2:111=-306>
1202561505984 OUT <2:250=1.000>
1202561505999 IN <#2:253=250 2>
1202561505999 IN <#2:253=105 135>
1202561505999 OUT <2:112=-306>
1202561505999 OUT <2:250=1.000>
1202561506015 IN <#2:253=250 2>
1202561506015 IN <#2:253=110 136>
1202561506015 OUT <2:113=-306>
1202561506015 OUT <2:250=1.000>
1202561506031 IN <#2:253=250 2>
1202561506031 IN <#2:253=111 110>
1202561506031 OUT <2:114=-306>
1202561506031 OUT <2:250=1.000>
1202561506031 OUT <2:115=-306>
1202561506046 IN <#2:253=250 2>
1202561506046 IN <#2:253=112 115>
1202561506046 OUT <2:250=1.000>
1202561506046 OUT <2:200=1.0000>
1202561506062 IN <#2:253=250 2>
1202561506062 OUT <2:250=1.000>
1202561506062 OUT <2:201=1.0000>
1202561506078 IN <#2:253=113 122>
1202561506078 IN <#2:253=250 3>
1202561506078 OUT <2:250=1.000>
1202561506078 OUT <2:202=1.0000>
1202561506093 IN <#2:253=114 130>
1202561506093 IN <#2:253=250 2>
1202561506093 OUT <2:250=1.000>
1202561506093 OUT <2:203=1.0000>
1202561506109 IN <#2:253=115 134>
1202561506109 IN <#2:253=250 3>
1202561506109 OUT <2:250=1.000>
1202561506109 OUT <2:204=1.0000>
1202561506109 OUT <2:250=1.000>
1202561506124 OUT <2:205=1.0000>
1202561506124 OUT <2:250=1.000>
1202561506140 IN <#2:253=200 301>
1202561506140 IN <#2:253=250 2>
1202561506140 OUT <2:210=1.0047>
1202561506140 OUT <2:250=1.000>
1202561506156 OUT <2:211=1.0047>
1202561506156 OUT <2:250=1.000>
1202561506156 OUT <2:212=1.0047>
1202561506171 IN <#2:253=201 282>
1202561506171 IN <#2:255=4 [CMDERR]>
1202561506171 IN <#2:253=250 2>
1202561506171 OUT <2:250=1.000>
1202561506171 OUT <2:213=1.0047>
1202561506187 OUT <2:250=1.000>
1202561506187 OUT <2:214=1.0047>
1202561506203 OUT <2:250=1.000>
1202561506203 OUT <2:215=1.0047>
1202561506218 IN <#2:253=203 269>
1202561506218 IN <#2:255=4 [CMDERR]>
1202561506218 IN <#2:255=4 [CMDERR]>
1202561506218 IN <#2:253=250 2>
1202561506249 IN <#2:253=210 271>
1202561506249 IN <#2:255=4 [CMDERR]>
1202561506249 IN <#2:255=6 [LOCKED]>
1202561506249 IN <#2:253=250 2>
1202561506296 IN <#2:253=212 268>
1202561506296 IN <#2:253=250 2>
1202561506328 IN <#2:253=213 282>
1202561506328 IN <#2:253=250 2>
1202561506359 IN <#2:253=214 295>
1202561506359 IN <#2:253=250 2>
1202561506390 IN <#2:253=215 301>
Die erste Zahl ist der gerade abgearbeitete SubCh, die zweite die Zeitdauer in 100µs. Wenn der 1. Parameter-Error auftritt, wurde gerade SubCh 201 abgearbeitet. Es wurden aber bereits alle SubCh bis 212 gesendet. Das sind 189 Byte. Der interne UART-Puffer hat aber nur 128 Byte. Bei CM's Fimware würde es möglicherweise keinen Überlauf geben, da da der Puffer 255 Byte groß ist. Ich könnte den Puffer vergrößern, aber eigentlich muß man das Problem in JLab beheben.

Gruß
amd-65
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Luft

Beitrag von magicroomy »

Ich habe jetzt mal eingebaut, daß nach einem Param Set erstmal ein Paramquery gemacht wird. Hab dann keine Fehler mehr gekriegt, weil die Firmware dann scheinbar "Luft kriegt".

Nächste Release 1.4.1

Danke für den Tipp und Gruss
Magic Roomy
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: JLab 1.4 mit Backup/Restore V1.4

Beitrag von amd-65 »

amd-65 hat geschrieben:Hi,

wenn ich im Menu Module->(2)DCG auf Control klicke, sollte das Control-Panel erscheinen.
OK, jetzt erscheint es ja. Wenn ich im Strombereich zwischen A und mA wechsle, verschwindet der Dezimalpunkt und die Nachkommastellen rücken um eine Stelle nach rechts. Der Dezimalpunkt wird einfach durch eine Leerstelle ersetzt.

Für das DCG hätte ich noch einen Wunsch:
- Die Temperatur sollte als Diagramm und/oder im Control-Panel angezeigt werden.

Für das Loggen der Kommunikation hätte ich zwei Wünsche:
- Es sollte möglich sein, die Ausgaben direkt in eine Datei zu schreiben.
- Die ms-Timestamps sind nicht wirklich lesbar. Eine normale Zeitangabe, z.B. 12:00:34.558, wäre sinnvoller.

Gruß
amd-65
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Verschiedenes

Beitrag von magicroomy »

DCG Probleme mit verschwindendem Dezimalpunkt mA und A sind erkannt und gebannt.

Logging in Datei geht prinzipiell schon. Dazu muß JLab aber etwas anders gestartet werden:
java -Dlogfile=<Dateiname> -jar jlabrxtx.jar

Logging in Millisekunden werde ich noch ändern.

bzgl. Temperatur... hab die c't Syntax durchsucht und keinen subchannel dafür gefunden? Wie frage ich die Temperatur also ab ?

Gruss
Magic roomy
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: Verschiedenes

Beitrag von amd-65 »

magicroomy hat geschrieben:bzgl. Temperatur... hab die c't Syntax durchsucht und keinen subchannel dafür gefunden? Wie frage ich die Temperatur also ab ?
Die Temperatur kommt über SubCh 233. Die fehlende Info habe ich vor einiger Zeit als Bug in der Doku eingestellt, aber CM kümmert sich ja nicht mehr wirklich um das c't-Lab.

Ich habe auch gleich den nächsten Wunsch:
- Dir Moduladresse sollte irgendwie, am besten im Fenster-Titel, sichtbar sein. Wenn man zwei DCG's ansteuert, weiß man irgendwie nie richtig, welches Fenster zu welchem DCG gehört.

Gruß
amd-65
Benutzeravatar
hans23
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 104
Registriert: 29.11.2007, 18:43
Wohnort: bei Berlin

Re: Verschiedenes

Beitrag von hans23 »

magicroomy hat geschrieben: bzgl. Temperatur... hab die c't Syntax durchsucht und keinen subchannel dafür gefunden? Wie frage ich die Temperatur also ab ?
mit 233

also

Code: Alles auswählen

1:233?
#1:233=28.0
Linux is like a wigwam: no windows, no gates and an apache inside
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Fenstertitel änderbar

Beitrag von magicroomy »

Danke für den Subchannel.
Bzgl. Fenstertitel. Kann natürlich die Moduladresse per default beim Fenstererstellen ins Fenster schreiben. Jeden Fenstertitel kann man aber auch umbenennen. Fenter anklicken und dann im Menü Fenster->Aktuelles Fenster umbenennen.
Neben Fensterposition, Größe merkt sich JLab diese geänderten Namen auch nach dem beenden (Sofert gespeichert wurde).

Gruss Magic Roomy
Antworten