Forum: Mikrocontroller und Digitale Elektronik Wittig(welec) DSO W20xxA Open Source Firmware


von Blue F. (blueflash)


Lesenswert?

@Odic

Hmmm, da läuft aber bei Deinem Gerät was mächtig schief. Leider kann ich 
mir da so auf Anhieb auch keinen Reim drauf machen.


> Wäre es in der Firmware viel Arbeit, die Korrekturwerte für jeden
> Bereich einzeln ermitteln zu können?

Erstens wäre es schon einiger Aufwand und außerdem ist es technisch auch 
eigentlich nicht nötig, da die jeweiligen Analogbereiche der Hardware 
immer für alle 5er  2er  1er Bereiche ausgelegt sind. Daher auch nur 
drei Korrekturfaktoren.

Meine Idee wäre zuerst mal einen Flashdump einzuspielen um sicherzugehen 
dass da nichts schief hängt.

Hayo

von Alexis S. (seraptin)


Lesenswert?

Also ich hab jetzt auch etwas getestet.

Gestern hat der abgleich auf allen Kanaelen noch wunderbar geklappt... 
als ich dann heute das Scope angeworfen habe war alles wieder voellig 
durcheinander, d.h. die Nulllinien wieder irgendwo. Als ich kann den 
Abgleich auf allen Kanaelen gleichzeitig durchgefuehrt habe (also 1-4 AN 
und dann die ganze Prozedur), trat genau das Problem das du beschrieben 
hast auf.

Jetzt habe ich mich dann nochmal Hayo's Hinweis, das man alle Kanaele 
auch einzeln abgleichen kann, erinnert und das durchgefuehrt. Also nur 
Kanal 1 an und dann 1V-5V abgeglichen. Dann das selbe nur mit Kanal 2 
an, alle andren aus usw. Nun habe ich in allen Bereichen schoene 
Nullinien und das Scope merkt sich die auch beim Neustart.


Woran das genau liegt kann ich mir so aber nicht erklaeren. Gestern 
dachte ich das das auf allen Kanaelen sauber funktioniert hat... war 
aber auch schon spaet.

von Alexis S. (seraptin)


Lesenswert?

Nach weiteren Tests habe ich jetzt bemekrt das das Scope sich die 
Offsets wohl nicht merkt. Nachdem das Scope jetzt laenger aus war und 
ich es angeschalten habe war erstmal alles durcheinander, nix hat 
gepasst. Nach ausfuehren von Default Setup:

5V Bereich: Alles in Ordnung, auch nach Neustart

2V Bereich: Abweichung um ca. 0.3Div nach Neustart

1V Bereich: Abweichung um ca. 0.3Div nach Neustart


Auffallend ist das die Offsets sich alle nach unten verschoben haben.

von Guido (Gast)


Lesenswert?

@Alexis Sch. (seraptin):

Nicht vergessen, wenn alles passt die Zeitbasis verstellen.
Erst dann werden die Korrekturwerte im Flash gespeichert.

von Odic X. (odic)


Lesenswert?

@Alexis

Durch Temperaturunterschiede (kaltes / warm gelaufenes Gerät) habe ich 
auf allen Kanälen auch Schwankungen der Nullinie von -0,2 bis -0,5 DIV. 
Das ist zwar lästig, aber erklärbar.

@Hayo

Ich versuche es mal mit dem Dump. Die FW hatte ich bereits nochmal neu 
eingespielt da ich vermutet habe, dass dabei etwas schief gegangen ist. 
Leider ohne Erfolg.

von Odic X. (odic)


Lesenswert?

Ok, nächstes Problem. :-(

Das Zurückspielen des Dumps bricht reproduzierbar an folgender Stelle 
ab.

Writing line 044014 of 071372: ............ 422 sec / 262 sec left
Error: Timeout while reading response from DSO!
Response was: 'S3150005247FFF<#33><#13>

Kann sich jemand einen Reim darauf machen??

von Johannes S. (demofreak)


Angehängte Dateien:

Lesenswert?

Odic X. schrieb:
> Writing line 044014 of 071372: ............ 422 sec / 262 sec left
> Error: Timeout while reading response from DSO!
> Response was: 'S3150005247FFF<#33><#13>

Hatten wir weiter oben schon mal. Das DSO antwortet aus leider nirgendwo 
beschriebenen Gründen mit einem "!" statt einem "+". Deswegen bricht der 
GERMSloader ab. Der Script (s.Anhang) ist bereits geändert, um das 
schlicht zu übergehen, allerdings wohl noch nicht in das Firmwarepaket 
integriert.

/Hannes

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Johannes Studt schrieb:
> Odic X. schrieb:
>> Writing line 044014 of 071372: ............ 422 sec / 262 sec left
>> Error: Timeout while reading response from DSO!
>> Response was: 'S3150005247FFF<#33><#13>
>
> Hatten wir weiter oben schon mal. Das DSO antwortet aus leider nirgendwo
> beschriebenen Gründen mit einem "!" statt einem "+". Deswegen bricht der
> GERMSloader ab.

Wenn ich mich recht erinnere, bedeutet "!", daß ein Fehler (beim 
Schreiben) aufgetreten ist. Das kann daher kommen, daß der zu 
schreibende Bereich nicht gelöscht wurde...

> Der Script (s.Anhang) ist bereits geändert, um das
> schlicht zu übergehen, allerdings wohl noch nicht in das Firmwarepaket
> integriert.

Ich würde den Fehler nicht ignorieren...

Falk

von Johannes S. (demofreak)


Lesenswert?

Ja, "ignorieren" ist falsch ausgedrückt. Es bricht nicht sofort ab (wie 
es dummerweise bisher war), sondern versucht bis zu 10mal die gleiche 
Zeile erneut zu schreiben. Erst dann wird mit einem Fehler wirklich 
abgebrochen. Man muss dann halt untersuchen, was der Grund für das "!" 
ist.

Und stimmt, weiter oben war der Grund für das "!" wohl eine etwas 
instabile serielle Verbindung, was hier offenbar anders ist, wenn der 
Fehler immer an derselben Stelle auftritt. Da wird also der geänderte 
Skript auch nicht helfen.

/Hannes

von Blue F. (blueflash)


Lesenswert?

@Odic

Es ist nicht die Firmware, sondern der Configbereich der hin und wieder 
beim Rumexperimentieren mit unterschiedlichen FW-Versionen einen 
abkriegt.

Übrigens braucht man eigentlich nicht die Kanäle einzeln abzugleichen, 
das kann er auch gleichzeitig.

Hayo

von Blue F. (blueflash)


Lesenswert?

Hi,

gerade wollte ich die neue 0.84 Firmware mit dem neuen Screenshot 
ausrüsten,
aber bei SFN ist kein Durchkommen. Weder komme ich an die Sourcen heran, 
noch an die Screenshot.exe.

Daher werde ich gleich die 0.83 mit der alten Screenshot-Funktion 
rausgeben.

Hayo

von Blue F. (blueflash)


Lesenswert?

New beta release 0.83 out now!

Please pay attention to the release notes! You will find it here:

https://sourceforge.net/projects/welecw2000a/files/

Es sind zahlreiche Bugfixes und Neuerungen eingeflossen. Leider konnte 
ich die neue Version der Screenshot-Funktion nicht mit einbauen. Das 
wird dann in der nächsten kommen. Die passenden PC-Programme zur alten 
Version sind mit im Paket.

Die Statusanzeigevariante (gelbe Buttons oder "black edition") im 
FFT-Modus kann über ein Terminal mit shift + V umgeschaltet werden und 
bleibt dann auch nach dem Aus- und wieder Einschalten so eingestellt!

Die FFT-Sektion ist noch in Arbeit und an einigen Stellen nicht ganz 
fertig. Die Skalierung ist nur für die linearen Bereich korrekt und bei 
den logarithmischen FFT stimmt nur der 5V Bereich.

Da es mich bei der Cursorfunktion etwas störte, das die Deltaanzeige die 
kleineren Werte verdeckte, habe ich der Cursorfunktion eine zwei 
Stufenlogik verpasst (auch im Normalbetrieb).

- Einmal den Cursurknopf drücken -> Anzeige ohne Delta
- nochmal den Cursorknopf drücken -> Anzeige mit Delta
- nochmal drücken -> Cursor aus

Kritik und Anregungen sind wie immer ausdrücklich erwünscht.

Viel Spass

Hayo

von Cra Z. (crazor)


Lesenswert?

Habe auch schnell einen Test mit der Abgleichfunktion gemacht. Habe dazu 
alle vier Kanäle eingeschaltet gelassen, Default Setup aufgerufen, dann 
ADC, Zero Lines und DAC ausgeführt auf 5V, dann nochmal DAC auf 2V und 
auf 1V. Danach war bei mir über alle Spannungsbereiche alles im Lot. Das 
einzige, das mir aufgefallen ist, ist, dass die Nullliniensuche erstmal 
zig DIV's danebengehauen hat, was nach dem DAC Abgleich dann aber i.O. 
war.
Also bei mir gabs kein Problem mit dem gleichzeitigen Abgleich aller 
Kanäle.


Den neuen GERMSloader werde ich morgen testen, wenn ich dann die 0.83 
flashe. Aber ich befürchte fast, dass ein Retry nach einem ! nichts 
bringt. Außerdem denke ich, dass das ! nix mit der wackeligen seriellen 
Schnittstelle zutun hat. Wenn ein Zeichen fehlte oder zuviel war, 
scheiterte die Übertragung ja auf andere Weise, was dann dank der 
Retries ziemlich schnell vom Tisch war.

Gibt's eigentlich Sourcen vom GERMSloader irgendwo? Ich meinte mal 
gelesen zu haben, dass jemand den verändert hätte für eine neue 
Plattform. Eventuell lassen sich in den Sourcen ja Infos finden, was die 
Rückgabe des ! zu bedeuten hat? In diverser Doku von Altera bin ich 
jedenfalls nicht fündig geworden.

von Odic X. (odic)


Lesenswert?

@Hannes:
Besten Dank für das Skript, damit funktioniert es

@Hayo
Das Einspielen des Dumps hat keine Veränderung gebracht. Das Verhalten 
tritt auch mit der Orginal-FW auf. Damit würde ich ein SW-Problem 
eigentlich ausschließen.
Ach ja, ich mache den Abgleich für alle Kanäle gleichzeitig. Da habe ich 
mich vielleicht unklar ausgedrückt...


Hat irgendwer eine Idee, wie die HW diesen Effekt verursachen könnte?

von Blue F. (blueflash)


Lesenswert?

@Odic

Wenn sich die Nulllinien weder mit der beta FW noch mit der originalen 
FW einigermaßen einstellen lassen, ist das meines Erachtens ein 
Garantiefall. Schließlich ist die (zugesicherte) Funktion nicht 
vorhanden.

Hayo

von Cra Z. (crazor)


Lesenswert?

Daniel H. schrieb:
> Bzgl. SVN: Ich hatte hier:
> https://sourceforge.net/apps/trac/welecw2000a/wiki/Repository mal
> angefangen, die Struktur des Repositories zu dokumentieren.

Ich dachte eigentlich, dass auf der Seite oben direkt ersichtlich wird, 
dass die verschiedenen Entwicklungszweige auf FPGA-Seite nach 
verwendetem Softprozessor geordnet sind... Mehrdeutigkeiten wie eure 
jetzige Location "/fpga/firmware/" wollte ich eigentlich vermeiden. Mal 
davon abgesehen, dass es sowas wie "Firmware" eh' nicht gibt (Entweder 
hard oder soft), wäre vermutlich alles andere im Repository im 
fpga-Ordner nach eurer Definition auch Firmware ;) Also, warum packt ihr 
eure Sourcen nicht lieber nach "/fpga/nios/*"? z.B. im NIOS-Ordner noch 
einen Unterordner "Blueflash" oder so anlegen? Dann könnte noch der 
offizielle Welec-Kram auch dort reingeschoben werden und alles ist 
wieder übersichtlich (ok, vielleicht nicht übersichtlich, aber dennoch 
nach einer Regel abgelegt. Deswegen ja die Wiki-Seite.)

von Blue F. (blueflash)


Lesenswert?

@Daniel

Du hast Recht, die von Dir vorgeschlagene Struktur ist logisch gesehen 
korrekt. Allerdings würde ich vorschlagen möglichst nicht so tiefe 
ordnerstrukturen anzulegen, denn ich finde die Navigation doch recht 
mühsam, da man bei Zurücknavigation immer zum Rootverzeichnis 
zurückspringt und sich dann wieder neu durchkämpfen muß.

Übrigens habe ich meine Probleme beim Zugriff auf SFN zu einem großen 
Teil auf den Browser zurückführen können. Mit Opera und Firefox komme 
ich an einige Stellen im Repository nicht heran. Nur mit dem IE klappt 
es dann. Den benutze ich aber eigentlich lieber nicht.

Hayo

von Blue F. (blueflash)


Lesenswert?

Ich bräuchte noch etwas Unterstützung.

Für die neue Screenshotversion fehlt mir noch die aktuelle Windows-.exe

Wo kann ich die finden, bzw. kann die jemand hier einfach mal posten?

Dann kann ich nähmlich kurzfristig noch eine aktualisierte Fassung 
rausbringen.

Hayo

von Niklas O. (nevm)


Lesenswert?

Hallo Hayo,

wie ich gerade feststelle kompiliert das ganze wegen der
Aenderungen von Falk nicht mehr unter Windows.  Zudem
muss noch eine generalisierte Write-Funktion her.

Ich versuche das gerade umzustricken, mehr in ein paar Minuten.
Bin allerdings nicht zu Hause, habe daher keine DSO da und
kann es nicht testen.

Niklas

von Niklas O. (nevm)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

okay, sollte laufen.  Win32 .EXE im Anhang.  Bitte sowohl unter
unixoid als Windows testen.  Aenderungen siehe SVN Log.

(und wenn Du die Sourcen dabei packen solltest nicht vergessen
die aktuellen aus dem SVN zu nehmen ;)

Niklas

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Niklas O. schrieb:
> Hallo Hayo,
>
> wie ich gerade feststelle kompiliert das ganze wegen der
> Aenderungen von Falk nicht mehr unter Windows.  Zudem
> muss noch eine generalisierte Write-Funktion her.

Ich sehe schon, ich muß das auch für Windows kompilieren. Was braucht 
man dazu?

Falk

von Niklas O. (nevm)


Lesenswert?

Hallo Falk,

> Ich sehe schon, ich muß das auch für Windows kompilieren. Was braucht
> man dazu?

ich nehme MinGW ( http://www.mingw.org/ ) dafuer.  Damit kann man
auch fuer Win32 crosscompilen.

Niklas

von Niklas O. (nevm)


Angehängte Dateien:

Lesenswert?

Hallo Hayo,

sorry, eine Sache vergessen.  Bei -c (Angabe Com-Port) musste
das Argument bei 0 starten (0 fuer COM1), entgegen der
dokumentierten und vorherigen Praxis.  Anbei korrigierte Fassung.

Niklas

von Blue F. (blueflash)


Lesenswert?

Alles klar, danke für die schnelle Reaktion.

Noch zwei Fragen (hatte nur kurz aufs Coding geschaut):

1. Werden bei der V 0.4 noch die nicht benötigten Memoryplanes 
übertragen, oder ist das schon optimiert? Ich habe nämlich im Coding 
gesehen, dass diese noch mit definiert werden.

2. Ist die Triggerung des Screenshots über das PC-Programm optional oder 
wird der ScrShot immer getriggert wenn das Programm aufgerufen wird?

Hayo

von Blue F. (blueflash)


Lesenswert?

Ah, zu 2. hab ich gerade gesehen dass mit der Option  -l wie gehabt 
gewartet wird.


Hayo

von Niklas O. (nevm)


Lesenswert?

Hallo Hayo,

zu (1):  Die Memory-Planes werden noch uebertragen.  Auch andere
unbenutze Planes (abgeschaltete Channels, abgeschaltete Cursor)
werden noch weiter uebertragen.

Das ist alles noch nicht implementiert.

zu (2):  -l ist allerdings noch nicht implementiert.  Es wird
jetzt vom Programm aus immer getriggert (Falk moege mich korrigieren
wenn das nicht stimmt).  -l noch einzuauen waere aber nicht
schwierig.

Niklas

von Blue F. (blueflash)


Lesenswert?

denkste, es gibt keinen Parameter -l. Irgendwie kriege ich das unter 
Linux nicht zum Laufen.

Wie ich sehe (zu 1.) werden die überflüssigen Planes noch übertragen -> 
hier kann noch optimiert werden!

Hayo

von Blue F. (blueflash)


Lesenswert?

@Niklas

wir haben uns hier gerade überschnitten. Ich hab noch mal schnell 
ausprobiert, man könnte zumindest für die neue Beta schon mal die drei 
Memory planes rausnehmen und die -l Option einbauen.

Ich bin gerade dabei für das QP-Menü eine zweistufige Logic einzubauen

Einmal drücken -> QP Menü
Zweimal kurz hintereinander drücken -> direkter Screenshot

Daher ist das Triggern über PC-Programm nicht unbedingt nötig. Praktisch 
wäre z.B.

- default ist warten
- optional ist externes Triggern des ScrShot

Hayo

von Niklas O. (nevm)


Lesenswert?

Hallo Hayo,

> denkste, es gibt keinen Parameter -l. Irgendwie kriege ich das unter
> Linux nicht zum Laufen.

Unter Linux sollte das nun ungefaehr so ablaufen:
1
$ ./w2000a-screenshot -c /dev/ttyUSB0 -b

Triggert einen Farb-Screenshot auf dem ersten USB<->RS232 Adapter
und schreibt ihn als Bitmap raus.  (-c hat Falk fuer non-Windows
implementiert.  Unter Windows ist das -c 1 fuer COM1 wie gehabt.)

Dank Falks Optimierung dauert das ganze bei mir jetzt nur noch
iirc 37 Sekunden statt knapp unter einer Minute.

Die nicht-existente Option -l wuerde dann halt warten bis das
Scope etwas sendet (Screenshot oder Messdaten), im Falle von
Screenshot das ganze in eine Datei mit aufsteigendem Zahl als
Suffix schreiben und weiterlaufen.  Also so wie das einst bei Kurts
Windows-Port war.

> Wie ich sehe (zu 1.) werden die überflüssigen Planes noch übertragen ->
> hier kann noch optimiert werden!

Ja, das wissen wir :)  Die Entwicklung hat ja nur gestoppt weil Falks
Scope zur Reperatur ist und ich im Moment nicht so viel Zeit habe.

Wenn Du warten moechtest bis zu Deinem naechsten Release kann ich
versuchen das heute Abend und/oder morgen noch einbauen.

> wir haben uns hier gerade überschnitten. Ich hab noch mal schnell
> ausprobiert, man könnte zumindest für die neue Beta schon mal die drei
> Memory planes rausnehmen und die -l Option einbauen.

Ja das waere die einfachste Variante.

> Einmal drücken -> QP Menü
> Zweimal kurz hintereinander drücken -> direkter Screenshot

Das klingt gut.

> - default ist warten
> - optional ist externes Triggern des ScrShot

Ja, das waere auch das alte Verhalten.  -l wuerde dann zudem das
Programm am Laufen halten um so ohne Neustart mehrere Dinge
empfangen zu koennen.

Ist jetzt die Frage wie lange Du warten moechtest bis zum naechsten
Release?

Niklas

von Blue F. (blueflash)


Lesenswert?

Meine Bastelecke (FFT) bleibt erstmal unverändert. Ich wollte eigentlich 
nur die Screenshotfunktion nachreichen, damit wir einen kurzen Break 
machen können um auf einer gemeinsamen Sourcebasis die nächsten Schritte 
abstimmen zu können:

- weitere Aufteilung der Sourcefiles -> hatte Falk angestossen
- ordnen der SFN-struktur
- kurze Abstimmung wer macht wo weiter

Morgen habe ich ziemlich wenig Zeit, daher wäre es vielleicht am Besten 
den Stand so rauszugeben wie wir Ihn heute fertiggestellt bekommen.

Würdest Du die Änderungen denn heute Abend schaffen? Dann würde ich so 
lange warten.

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Niklas O. schrieb:
...

>> Einmal drücken -> QP Menü
>> Zweimal kurz hintereinander drücken -> direkter Screenshot
>
> Das klingt gut.
>
>> - default ist warten
>> - optional ist externes Triggern des ScrShot
>
> Ja, das waere auch das alte Verhalten.  -l wuerde dann zudem das
> Programm am Laufen halten um so ohne Neustart mehrere Dinge
> empfangen zu koennen.

Wie wäre es damit: Ohne Angabe, was geladen werden soll (Farbe,BW,CSV) 
wartet das Programm, was vom Scope kommt, andernfalls veranlasst es den 
download?

Falk
P.S.: Ich hatte man eine Fernsteuerung mit QT angefangen. Damit kann man 
Knöppe drücken, sich die Ausgabe ansehen, Parameter einstellen etc. Das 
werde ich mal an die neue Firmware anpassen und mit SVN bei SFN 
einwerfen.
P.P.S.: Das scope ist Samstag bei Wittig angekommen. Ich bin mal 
gespannt, wie lange der Tausch dauert...

von Niklas O. (nevm)


Lesenswert?

Hallo,

@Hayo:
> Würdest Du die Änderungen denn heute Abend schaffen?
Ich versuche es.

@Falk:
> Wie wäre es damit: Ohne Angabe, was geladen werden soll (Farbe,BW,CSV)
> wartet das Programm, was vom Scope kommt, andernfalls veranlasst es den
> download?

Mhm, verstehe ich gerade nicht ganz.  Soll das Programm eine gewisse
Zeit warten ob vom Scope etwas kommt und dann, falls nicht, den Vorgang
selbst anstoszen?

Faende ich dann ueberfluessig, m.E. will man etwas sofort abspeichern
oder man moechte alles bereit haben und dann auf Knopfdruck ein
oder mehrere (-l) Screenshots ziehen, wobei es egal ist ob der Mensch
am DSO sich da ne Minute oder mehrere Stunden Zeit laesst.

Niklas

von Blue F. (blueflash)


Lesenswert?

> Wie wäre es damit: Ohne Angabe, was geladen werden soll (Farbe,BW,CSV)
> wartet das Programm, was vom Scope kommt, andernfalls veranlasst es den
> download?

Das ist gut. Optional dann noch der Parameter -b für .bmp

Hayo

von Blue F. (blueflash)


Lesenswert?

Mal wieder überschnitten...

Ich habe das so verstanden, dass der -l Parameter der Default ist, d.h. 
ohne Angabe läuft das Programm in einer Schleife. Nur wenn die 
zusätzlichen Parameter für das Format angegeben werden wird extern der 
Screenshot getriggert.

Hab ich das so richtig interpretiert?

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> Mal wieder überschnitten...
>
> Ich habe das so verstanden, dass der -l Parameter der Default ist, d.h.
> ohne Angabe läuft das Programm in einer Schleife. Nur wenn die
> zusätzlichen Parameter für das Format angegeben werden wird extern der
> Screenshot getriggert.
>
> Hab ich das so richtig interpretiert?

So meinte ich das.

Falk

von Jürgen (Gast)


Lesenswert?

Hallo Hayo,

warum nicht, wie schon mal vorgesehen war, ein separates 3-er QP-Menü 
mit 3 Tasten ( Color,BW,CSV ) vom Oszi aus? Wenn die PC-SW unterscheiden 
kann was kommt... (Hab noch nicht getestet.) Fernbedienung vom PC ist da 
für mich zweitrangig.

Jürgen

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

@Niklas

Ich habe mir erlaubt die .csv Funktion etwas zu ändern, damit die 
Ausgabe nicht mehr nach stdout geht sondern direkt in eine Datei 
geschrieben wird. Trennzeichen ist dabei (Excelkonform) das Semikolon. 
Vielleicht kannst Du das ja mit einfließen lassen?

Hayo

von Blue F. (blueflash)


Lesenswert?

Jürgen schrieb:
> Hallo Hayo,
>
> warum nicht, wie schon mal vorgesehen war, ein separates 3-er QP-Menü
> mit 3 Tasten ( Color,BW,CSV ) vom Oszi aus? Wenn die PC-SW unterscheiden
> kann was kommt... (Hab noch nicht getestet.) Fernbedienung vom PC ist da
> für mich zweitrangig.

Hi Jürgen, hab mich wohl nicht so deutlich ausgedrückt weiter oben. 
Genauso wie Du sagst wird es sein, bzw. ist es sogar schon in der 0.84. 
Nur das zusätzlich die Möglichkeit besteht durch schnelles 2fach drücken 
des QP-Buttons einen direkten Print anzustoßen.

Hayo

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

Da sich die 0.84 nicht mehr ändern wird hier schon mal vorab die 
Flashdateien für alle die sich die neue QP-Funktionalität mal ansehen 
möchten.

Das komplette Paket mit aktualisierter PC-Software wird es auf SFN geben 
wenn Niklas soweit ist.


@Niklas

Da kannst Du dann gleich sehen ob die 0.84 mit der PC-Software 
harmoniert.

Hayo

von Kurt B. (kurt)


Angehängte Dateien:

Lesenswert?

Neues vom Vinculum:
Im Anhang Schaltplan und Layout als PDF und Eagle Dateien sowie etwas 
Demo Code.

Die Software erstellt alle 2 Sekunden eine Datei nach dem Schema 
WELECXXX.TXT mit fortlaufender Nummer von 0 bis 255. Inhalt der Datei 
ist "Hallo Welt!"

Jetzt dürfen die Profis ran: Vorhandene Funktionen optimieren, neue 
ergänzen, Lauflängendekomprimierung einbauen, Interrupts benutzen...
Ich werde natürlich auch weiter daran arbeiten, nur bei der ganzen 
Dekomprimierung usw. blicke ich nicht ganz durch.

Eigentlich sollte es möglich sein eine Byte vom Oszi zu empfangen, es zu 
verarbeiten und auf das Vinculum zu schreiben noch bevor das nächste 
Byte vom Oszi ankommt. So bräuchte man kaum RAM im µC.
Dafür muss aber die Oszi Firmware entsprechend umgeschrieben werden?

Die Hardware: Ist nicht wirklich zum Nachbau geeignet und versteht sich 
nur als Layout Vorschlag. Die Leiterbahnführung ist teilweise etwas 
ungünstig, es fehlen Elkos an den USB Buchsen, das Footprint für den 
MAX232 ist zu groß, die Steckverbinder sind auf einer einseitigen 
Platine kaum zu löten...

Wenn jemand noch einen Prototypen bauen will, kann er gerne die Platine 
neu routen. Ansonsten warten wir wie die Softwareentwicklung lauft und 
ich entwerfe Version 2.0 sobald die neuen Anforderungen bekannt sind.

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Kurt Bohnen schrieb:
> Neues vom Vinculum:
> Im Anhang Schaltplan und Layout als PDF und Eagle Dateien sowie etwas
> Demo Code.
>
> Die Software erstellt alle 2 Sekunden eine Datei nach dem Schema
> WELECXXX.TXT mit fortlaufender Nummer von 0 bis 255. Inhalt der Datei
> ist "Hallo Welt!"

Kannst Du mich mal erleuchten, wie das Ding angeschlossen wird und was 
genau es tut?

Falk

von Kurt B. (kurt)


Lesenswert?

Naja, an die DC Buchse kommen 5V.
Der 9-Pol D-Sub Stecker unten links geht zum Oszi.
Die 9-Pol D-Sub Buchse dient für Debug Zwecke und geht zum PC.

Mit dem 10-Pol Wannenstecker wird der AVR programmiert und mit der 5-Pol 
SIL Buchsenleiste das Vinculum.
Die linke USB Buchse ist für den Speicherstick.

Und es tut genau das was ich oben geschrieben habe: Alle 2 Sekunden eine 
neue Datei erstellen und auf den USB Stick speichern. Das ist absoluter 
schwachsinn, zeigt aber wie man mit dem VNC1L kommuniziert und Dateien 
anlegen kann.

Oder habe ich deine Frage falsch verstanden?

PS: Der Rest sollte aus dem C-Code und den Datenblättern zum Vinc. 
ersichtlich werden. Oder habe ich noch essentielle Infos unterschlagen?

von Kurt B. (kurt)


Lesenswert?

Sinn des ganzen ist es, Screenshots und Speicherdumps (Messdaten als 
CSV) erstellen zu können ohne einen PC anschließen zu müssen.
Außerdem kann man bestimmt auch einen Drucker anschließen.

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Kurt Bohnen schrieb:
> Sinn des ganzen ist es, Screenshots und Speicherdumps (Messdaten als
> CSV) erstellen zu können ohne einen PC anschließen zu müssen.
> Außerdem kann man bestimmt auch einen Drucker anschließen.

Ich glaube, ich hab's jetzt auch begriffen.

Damit wäre in der Firmware ja nur wenig zu tun.

Mit dem Drucker sehe ich Probleme. Selbst ein Postscript-File könnte die 
Firmware überfordern. Das überlasse ich gerne dem AVR ;-)

Falk

von Niklas O. (nevm)


Angehängte Dateien:

Lesenswert?

Hallo,

so, zusammengestrickt, einiges geaendert und committed.  Im Einzelnen
bekomme ich das jetzt nach dem langen Tag gar nicht mehr alles zusammen.
Bitte SVN Log (und diff) schauen :)

@Hayo:
> Ich habe mir erlaubt die .csv Funktion etwas zu ändern, damit die
> Ausgabe nicht mehr nach stdout geht sondern direkt in eine Datei
> geschrieben wird. Trennzeichen ist dabei (Excelkonform) das Semikolon.
> Vielleicht kannst Du das ja mit einfließen lassen?

Hab' ich gemacht und gleich noch ne Art generisches Framework
(in Ermanglung eines besseren Begriffs) drumrum, so dass man
die Ausgabe spaeter um diverse Formate erweitern kann.  Moeglich
derzeit: -t csv (default) und -t ascii (so wie Falk das im Original
gebaut hatte).

Neu ansonsten unter anderem -i (invertieren), -s (Screenshot, Farbe),
-n num (manuelle Startnummer fuer die notwendig geworde 
Dateinummerierung),
-o (One-Shot, -l (Loop) ist Default-Verhalten (den Switch gibt's daherE
nicht) und -o wuerde das alte Verhalten (einen Dump empfangen, beenden)
wiederherstellen.

Eigentlich wollte ich noch gerne die Faerbung fuer die Planes mit einer
INI-Datei anpassbar machen, das hab' ich aber wegen der Umstruktierung
nicht mehr geschafft.  Wer da bessere Farben raussuchen moechte muss
dies ueber Aenderungen der Sourcefiles tun (gibt oben eine Tabelle,
leicht auch fuer Laien zu machen).  Verbesserungen nehmen wir gerne
entgegen.

@Hayo:
Im Moment schreibt das DSO ja noch die 16 Planes raus.  Wenn die
drei Memory-Planes raus sollen kann das sehr leicht im Programm
angepasst werden.  Das kann ich gerne noch tun.  Vllt. kannst
Du auch noch ne ganz kurze LIESMICH.txt oder so dabei tun, fuer Leute,
die nicht so gut Englisch koennen und mit der README.txt nicht klar
kommen.

@Kurt & Hayo:
Der Monochrome-Dump ist mit dem geaenderten RLE ja nun sehr ineffizient
(im Vergleich zu vorher geworden (28k vs. 12-15k)).  Konsequenterweise
muessten wir den alten Algo wieder hernehmen dafuer (oder nochmal 
verbessern).
duck

Win32 .EXE im Anhang.  Bitte nochmal testen.

Niklas

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Niklas O. schrieb:

...

> Der Monochrome-Dump ist mit dem geaenderten RLE ja nun sehr ineffizient
> (im Vergleich zu vorher geworden (28k vs. 12-15k)).

Huch, ist er das? Werde ich mir ansehen.

> Konsequenterweise
> muessten wir den alten Algo wieder hernehmen dafuer (oder nochmal
> verbessern).

> *duck*

Da gibts nichts zu ducken. Wenn ich was verschlimmbessert habe, hilft 
Kritik doch nur, es besser machen zu können.

Der Dump der Rohdaten ist ja auch nicht RLE-komprimiert, weil klar war, 
daß kaum jemals mehrere identische Werte aufeinander folgen.

Hat eigentlich mal jemand versucht, die Baudrate zu erhöhen? Es gibt da 
ein Element np_uartdivisor in der puart-Struct. In excalibur.h steht 
allerdings
1
// Parameters for altera_avalon_uart named uart1
2
// baud             = 115200
3
// data_bits        = 8
4
// fixed_baud       = 1
. Das könnte ein Hinweis sein, daß im FPGA ein fester Teiler ist. Im 
USB-UART ist fixed_baud übrigens "0"...

Falk

von Jürgen (Gast)


Lesenswert?

Hallo Niklas O.,

nach kurzem Test: Funktioniert so recht gut! Sogar der -i - Switch ist 
schon da!( Spart viel Tinte :-)
Vielleicht noch das Abräumen der einzelnen Plane-Dateien nach dem 
Zusammensetzen der Screenshot-xxx-Datei?
Danke!

Gruß Jürgen

von Blue F. (blueflash)


Lesenswert?

Hi, echt super!

Bin gerade erst wieder zuhause. Werde mal alles einsammeln und als Paket 
ins SFN stellen. Zum Dokumentieren und Testen komme ich heute nicht 
mehr.

@Niklas

Gibts die Source auf SFN, oder stellst Du die eben noch hier mit ins 
Forum?

Hayo

von Niklas O. (nevm)


Lesenswert?

Hallo Jürgen,

> nach kurzem Test: Funktioniert so recht gut! Sogar der -i - Switch ist
> schon da!( Spart viel Tinte :-)

Das war die Intention :)  Muesste man in zukuenftigen Versionen
egtl. auch erweitern koennen und direkt auf einem Windows-Drucker
drucken.

> Vielleicht noch das Abräumen der einzelnen Plane-Dateien nach dem
> Zusammensetzen der Screenshot-xxx-Datei?

Das sollte nur bei dem (default) PPM/PGM-Output passieren und ist
bei BMP mit -b abgeschaltet.  Eine programmtechnische Notwendigkeit
dafuer gibt es nicht, die Daten sind im RAM.  Gedacht war das primaer
zum Debuggen von Fehlern in der Bildschirmausgabe.  Wenn irgendwo ein
Artefakt ist kann man so leicht rausfinden in welchem Plane.  In
zukuenftigen Versionen sollte man optional machen, das sehe ich
genauso.

@Falk:
> [Baudrate]
Da wir die Daten ohnehin nur im Schneckentempo verarbeitet bekommen
erreichen wir ja nichtmal 38400 Baud.  Nun wissen wir auch, warum
das Datendumping in der Original-Firmware mit der Welec-Software
auch schon ewig dauerte -- und das war via USB.  Bzgl. der Baudrate
hab' ich nur mal getestet ob man theoretisch mit dem Nios die
Leitung saturieren koennte, und das ging.  >=10kB/s sustained
mit putchar().  Ansonsten haben oben iirc. Crazor und andere schonmal
was zum im FPGA implementierten UART geschrieben.

> [Rohdaten Trace]
Ja, RLE bringt eher nix dort.  Hatte wie schonmal ausgefuehrt an
Ausgabe von Delta zwischen Messwert und Messwert n+1 gedacht
(was in der Theorie im Durchschnitt ein geringer Wert sein sollte)
aber die Idee fallen gelassen, da es eh nur max. 4*16kB sind und
jegliche Verarbeitung auf dem Nios die Sache vmtl. langsamer statt
schneller machen wuerde.  CSV Ausgabe ueber ZMODEM direkt an
beliebiges Terminalprogramm wuerde ich aber dennoch gerne hinzufuegen.

Niklas

von Niklas O. (nevm)


Lesenswert?

Hallo Hayo,

die Sourcen gibt's auf SF.  README.txt, retrieve.bat, ComTools.cpp, 
ComTools.h, w2000a-screenshot.cpp, Makefile und
http://www.mikrocontroller.net/attachment/54252/w2000a-screenshot-v0_4.exe
solltest Du in Dein Release dabei packen.

Niklas

von Roberto (Gast)


Lesenswert?

Hallo

Habe die letzten Screenshots mal getestet.
Leider finde ich bei keinem das File, das er wohl schreiben sollte ?
Die älteren Versionen haben das in das gleiche Verzeichnis geschrieben, 
in dem das Programm gestartet wurde.
Bei der letzte Version verschwindet das Programm beim auslesen ganz ?!


FFT:

Habe mit dem mal gespielt..
Schaut gut aus aber..
Nach FFT und dann Osci ausschalten (ein paar Stunden), hatte ich nach 
dem Wiedereinschalten das FFT im LCD und der ganze FFT-Bereich war 
gelb..
Wollte das dann mal nachstellen, ging bis jetzt aber nicht mehr...
Ab und zu beim zurück vom FFT durch "Math" sind die Kanäle 
durcheinander...

Wenn ich im FFT das Osci aus schalte und wieder ein, sehe ich das FFT 
Display aber die "Math" Taste leuchtet nicht aber die Lampe unter der 
Frequenzanzeige (zum Drehen)leuchtet.
Auch die Soft-Tasten sind nicht im FFT-Modus.

Versuche dann rauszukommen mit "Math"-Taste--> Softtasten werden zu FFT.
Dann wieder "Math"-Taste und komme dann aus dem FFT.
Leider sind jetzt alle Kanäle in der Mitte!
Mit "Default Setup" geht dann wieder alles.

l.G. Roberto

von Blue F. (blueflash)


Lesenswert?

@Roberto

Ja ich weiß - default Setup hilft in dem Fall.

-> Ist in Arbeit

Gruß Hayo

von Blue F. (blueflash)


Lesenswert?

Ok folks, release 0.84 with new (late night) screenshot function from 
Falk and Niklas out now - available here:

https://sourceforge.net/projects/welecw2000a/files/


Hayo

von Roberto (Gast)


Lesenswert?

Hallo Hayo
0.84 funktioniert bei mir
Von "Quick Print" (Taste) bis zum Menue vergehen leider so ca. 3 
Sekunden.
Der Screenshot funktioniert jetzt in ein File :-)

Das aussteigen aus dem FFT funktioniert auch.
Nach dem Aus/Ein schalten vom DSO ist FFT auch weg :-)
Das FFT ist aber die 1er Version (2er ist schöner :-)
Könnte man die Umschaltung der FFT-Versionen im Soft-Menue machen ?

mmhh.. irgendwas spinnt da noch...
Einmal hatte ich wieder den ganzen FFT-Bereich in gelb und einmal nach 
FFT wieder die Kanäle durcheinander ?!
Gehe immer in FFT, DSO aus/ein schalten und dann wieder in FFT.
Jetzt hat er sogar die Version 2 vom FFT eingeschalten ?!
(Length auf 1024)


l.G. Roberto

von Blue F. (blueflash)


Lesenswert?

Wie schon gesagt, ist noch in Arbeit!

Gruß Hayo

von Michael W. (slackman)


Lesenswert?

@ Roberto:
Danke, ich dachte schon, mein Scope ist defekt. Vor .83 hatte ich solche 
Probleme mit geänderten Einstellungen nicht...

Michel

von Blue F. (blueflash)


Lesenswert?

Ok Jungs keine Sorge,

angeregt durch die Diskussion im Hardwarethread habe ich ein wenig mit 
Rauschunterdrückung experimentiert. Das funktioniert so gut, das ich 
heute noch ein neues Betarelease rausgebe, da ist dann auch Euer Problem 
beseitigt.

Hayo

von elgodil (Gast)


Lesenswert?

Oh Gott man - geh doch auch mal in den Biergarten (mit Frauchen)...bei 
dem Wetter!!

elgodil

PS: Der Tipp dient natürlich nur dazu, deinen Programmierelan über 
möglichst lange Zeit zu erhalten ;-)

von Blue F. (blueflash)


Lesenswert?

Geht nicht - Frauchen sitzt auch am Computer und braucht meinen Support.

Hayo

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

So, bin soweit. Hier das neue 0.85 beta Release.

Die neue Rauschunterdrückung arbeitet wirklich überzeugend. Dadurch 
werden die 2er und 1er Bereiche tatsächlich benutzbar!!! Die 
Rauschunterdrückung nutzt die sonst unbenutzten Samples bei 
Timebasefaktoren > 1. D.h. der Arbeitsbereich liegt zwischen 100ns und 
500ms. Keine Beeinträchtigung der Bandbreite!! Besonders überzeugend 
kommt die neue Funktion z.B. im 2V Bereich bei 500ns. Natürlich kostet 
die Funktion etwas Performance, aber das liegt denke ich, noch im grünen 
Bereich.

Wo kann man die Rauschunterdrückung anschalten?

-> im Acquire Menü.

Ansonsten gibt es für Roberto jetzt einen Button für das FFT-Layout im 
FFT-Menü und die undefinierten Startzustände sind beseitigt.

So bin mal gespannt auf die Reaktion.

Hayo

von Lothar M. (lme)


Lesenswert?

Ja wie geil ist das denn??
Wie mit dem Lineal gezogen! Super!

  Lothar

von Johannes S. (demofreak)


Lesenswert?

Hayo W. schrieb:
> So bin mal gespannt auf die Reaktion.

Alda!!!!

Plötzlich sieht es genau so aus, wie ich es von Anfang an gern gesehen 
hätte. Das ist ein Unterschied wie zwischen Tag und Nacht!

Super Sache!

/Hannes

von Stefan (Gast)


Lesenswert?

Kann's ja gar nicht erwarten das morgen früh einzuspielen :)
Wenn ich das vorhin im Hardware-Thread, beim kurzen Überfliegen, richtig 
mitbekommen habe, nimmst Du jetzt 5 Samples im einen Wert zu mitteln.
Evtl. wäre es für die Performance hilfreich, einen Wert fallen zu lassen 
und mit 4 Werten zu arbeiten; je nachdem wie der Compiler optimiert...

von Johannes S. (demofreak)


Lesenswert?

Nix da, hier wird kein Sample verschenkt! :-D

/Hannes

von Blue F. (blueflash)


Lesenswert?

@Stefan

Das war nur der Prototyp. Die jetzige Version ist auf shift optimiert.

D.h. der am wenigsten effektive Bereich ist der 100ns Bereich, da hier 
der Faktor nur 2 ist.

die Bereiche mit Faktor 4 und 5 (also die meisten) arbeiten mit 8 Werten 
d.h. shift um 3 nach rechts, die TB mit Faktoren >= 10 arbeiten mit 16 
Werten d.h. >> 4.

Hayo

von Robert S. (razer) Benutzerseite


Lesenswert?

Das Ergebnis ist super =)
Ein minor Bug, wenn man die FFT Ansicht ändert, wird das schwarze Layout 
hinter dem gelben gezeichnet. Nach nochmaligem de- und aktivieren wird 
das Menü richtig gezeichnet.

von Blue F. (blueflash)


Lesenswert?

@Robert

Danke für den Hinweis, hatte ich mit der heißen Nadel gestrickt und 
nicht geprüft. Beim nächste Release ;-)

Hayo

von branadic (Gast)


Lesenswert?

Hallo Hayo,

die neuen Änderungen, mein letztes aufgespieltes Release war die 0.75, 
schauen wirklich sehr interessant aus. Dies bezieht sich auch auf die 
Screendump-Funktion. Wirklich gute Arbeit!
"Wie mit dem Lineal gezogen!" kann ich so zwar nicht abkaufen, aber die 
Verbesserung ist deutlich zu sehen.
Mal eine Frage anderer Natur. Es wurde ja mal irgendwo schon 
angesprochen. Die Welec-Timebasetabelle ist ja etwas merkwürdig mit 
ihrem Sprung von 250MS/s auf 25MS/s. Erwarten würde man ja noch die 
Zwischenschritte 100MS/s und 50MS/s. Habt ihr dahingehend irgendwie 
Zugriff drauf, um eine Änderung zu erzielen?
Falls ja, so würde ich dies ziemlich weit oben in der Prioritätenliste 
sehen.

Beste Grüße, branadic

von Blue F. (blueflash)


Lesenswert?

Ja da hatte ich mir auch schon Gedanken zu gemacht. Wollte ich mir mal 
näher ansehen und gucken ob man das nicht verbessern kann...

Hayo

von Guido (Gast)


Lesenswert?

Hallo Hayo,

das sieht wirklich gut aus. Langsam wird das Welec so, wie ich
mir das beim Kauf vorgestellt habe. Fehlt nur noch die USB-
Anbindung für Screendump, und etwas Entwanzung (ich küümmere
mich in den nächsten Tagen um die Pixelfehler, kann ja nichts
Großes sein), dann wird aber die 1.00 fällig :-).

Gruß, Guido

von Lothar M. (lme)


Lesenswert?

@branadic

Du kennst meine Lineale nicht! ;)
Zugegeben - war leicht übertrieben. Aber die Begeisterung nach dem 
Flashen war groß und ist es immmernoch.
Dickes Kompliment an Hayo!

  Lothar

von Martin H. (martinh)


Lesenswert?

@Hayo

Gute Arbeit, ein bisschen beschneidest du mit der Mittelung die 
dargestellte Bandbreite (um das zu verhindern duerftest du in jedem 
Bereich max. Faktor Werte fuer die Mittelung verwenden), meiner Meinung 
nach kann das aber so bleiben, und zudem kann man die Mittelung ja 
abschalten.

Wenn du nun auch noch meine andere Idee in betracht ziehen koenntest ;-)

Martin

von Blue F. (blueflash)


Lesenswert?

@Lothar

Ich war selbst überrascht als ich das Ergebnis sah. Deshalb auch noch 
das spontane neue Release.

Hayo

von Gast (Gast)


Lesenswert?

Wäre jemand so freundlich bei Gelegenheit einen Screenshot mit/ohne 
Mittelwertbildung im Vergleich einzustellen. Ich würde diese 
Verbesserung auch gerne sehen.

von Blue F. (blueflash)


Lesenswert?

@Martin

Ja, durch die Überlappung gibt es natürlich rein rechnerisch eine 
Bandbreitenverringerung. Praktisch ist diese aber außerhalb der 
darstellbaren tatsächlichen Signalbandbreite unseres DSO. D.h. bei einem 
realen Signal wirst Du beim Umschalten keinen Unterschied bemerken. Wo 
man es sehen kann, dass ist beim Testsignal. Da das Rechtecksignal hier 
unendlich steile Flanken hat und damit natürlich extrem hohe 
Frequenzanteile, sieht man beim Umschalten, dass die Flanken minimal 
flacher werden.

> Wenn du nun auch noch meine andere Idee in betracht ziehen koenntest ;-)

Da bin ich schon längst bei. Ich habe aber Schwierigkeiten mir das 
vorzustellen wie sich das auswirkt, wenn ich mehrere Werte an eine 
X-Position schreibe. Dadurch wird doch eigentlich nur der Linienzug 
breiter und damit das Signal unschärfer - oder hab ich das 
mißverstanden?

Hayo

von Martin H. (martinh)


Angehängte Dateien:

Lesenswert?

Ohne Mittelwert

von Martin H. (martinh)


Angehängte Dateien:

Lesenswert?

Mit Mittelwert

von Martin H. (martinh)


Lesenswert?

@Hayo

Das die Linie breiter wird ist richtig, diese Darstellung hilft aber ein 
untersampling zu erkennen (es wird die angezeigte Samplerate dargestellt 
und nicht die durch den Faktor reduzierte).

Martin

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

Einmal ohne Rauschunterdrückung...

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Guido schrieb:
> Hallo Hayo,
>
> das sieht wirklich gut aus. Langsam wird das Welec so, wie ich
> mir das beim Kauf vorgestellt habe. Fehlt nur noch die USB-
> Anbindung für Screendump,

USB für Screendump sollte kein Problem sein. Da hat man aber nur die 
halbe Gaudrate und auf der PC-Seite ist USB nicht so trivial wie RS232.

Mit Libusb habe ich schon etwas für Linux, wie das unter Windows 
aussieht, weiß ich nicht.

Gruß,
Falk
P.S.: Heute kam mein Scope zurück. Anscheinend wurde das Mainboard 
ausgetauscht. Über den Service kann ich mich nicht beklagen!

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

Oh da läuft wohl was beim Screenshot etwas schief - also das war mit 
Rauschunterdrückung und hier ohne.

Hayo

von Blue F. (blueflash)


Lesenswert?

Ich benutze die neue Screenshotfunktion gerade das erste mal und stelle 
fest, dass bei mir immer zwei Screebnshots produziert werden statt einer 
(unter Windows getestet). Ist das bei Euch auch so?

Hayo

von Blue F. (blueflash)


Lesenswert?

Scheint die zweistufige Logik zu sein, anscheinend ist das Timing noch 
nicht ganz optimal.

Hayo

von Martin H. (martinh)


Lesenswert?

@Falk

Da hast du scheinbar eine bevorzugte Behandlung! Ich warte seit dem 
1.7.2009 auf das bei Ebay erworbene W2024A!

Martin

von Bruno W. (brunowe) Benutzerseite


Lesenswert?

Hallo Hayo,

also bei mir wird nur ein Screendump erzeugt (screenshot-0000.bmp). Ich 
starte mit den Parametern -b-s. Schade allerdings das Screendump.exe 
nicht wartet bis ich einen Dump mit Quick Print anfordere, sondern 
direkt loslegt. Keine gute Lösung!

Sehr überzeugendes Ergebnis mit der Rauschunterdrückung. Hätte gedacht 
das dadurch die Performance stärker leidet, ist aber absolut im grünen 
Bereich ;-)

Jetzt müssen wir nur noch das Rauschen in den schnelleren Bereichen in 
den Griff bekommen... und die blöde Oszillation... und die Wishlist...

Gruß, brunowe

von egberto (Gast)


Lesenswert?

Andere scheinen das auch (standardmäßig) zu machen - bei meinem OWON 
sahen die Kurven bis jetzt deshalb auch besser aus (und ich glaube 
nicht, das der eine besonders edle Eingangsstufe hat ;-))

LG,

egberto

von Blue F. (blueflash)


Lesenswert?

@Bruno

-s ist der Parameter für externes Auslösen! Wenn Du den weglässt wartet 
das Programm auf das DSO.

Ich hab den Fehler für die "Doppelbelichtung" gefunden und beseitigt, 
gibts im nächsten Release.

Ebenso gibt es einen kleinen Bug im neuen Acquire-Menü. Die Buttonlogik 
wird beim Neustart hin und wieder durch alte (falsche) Flashwerte aus 
dem Tritt gebracht und blockiert dann. Hier hilft erstmal default Setup. 
Ist in der nächsten beta beseitigt.

Hayo

von Roberto (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Hier mal 3 Bilder mit den verschiedenen Einstelleungen.
Kanal 4 =10mV, Kanal 3 =20mV, Kanal 2 =50mV, Kanal 1 = 1kHz Signal
erstes Bild = Normal, zweites mit Averaging, drittes mit Denoising.
Die 1er und 2er Bereiche sind furchtbar, aber durch die neues Funktion 
jetzt schon besser :-)

Screenshot:
Beim Screenshot kommen bei mir auch immer zwei Bilder!
Einstellung -c1 -b
Warum kann eigentlich der Photoshop 5.0 das BMP nicht lesen?
Kann das jemand bestätigen ?

FFT:
Funktioniert soweit :-)
Probiert mal:
Default Setup, 1kHz Signal an Kanal1, 500mv und 500us (alle 4 Kanäle 
EIN)
dann auf Math,FFT,Settings,Length auf 1024, 3 Sekunden warten, Gerät 
AUS/EIN
Dann sehe ich nur mehr Kanal 1 in der Mitte!


Und wieder ein Kompliment und Dankeschön an alle Entwickler :-) :-)
l.G. Roberto

von Stefan E. (stefan_e)


Lesenswert?

Hallo,

kann mir einer die 0.85 hier reinstellen? SF liefert gerade einen Fehler 
beim Download.

Danke

von Robert S. (razer) Benutzerseite


Lesenswert?

0.85 hat Hayo schon oben reingestellt: 
Beitrag "Re: Wittig(welec) DSO W20xxA Open Source Firmware"

von Michael H. (stronzo83)


Lesenswert?

Ich warte auch seit 1.7. auf mein Scope, das mir bis 8.7. zugesagt 
wurde. Als es nicht kam wurde es bis gestern zugesagt und kam natürlich 
wieder nicht. Langsam bin ich ziemlich genervt, schließlich will ich 
hier auch endlich mitmischen können!
Außerdem ist das doch reichlich unprofessionell von den Wittigs, Zusagen 
zu machen und dann nicht einzuhalten. Naja, vielleicht ist 
Unprofessionalität ja ihre Firmenphilosophie? Dann müsste man zumindest 
große Konsequenz bei der Umsetzung in allen Bereichen bescheinigen.
Hat das bei euch auch so lang gedauert?

Gruß, Michael

von branadic (Gast)


Lesenswert?

Hallo zusammen,

zum Export von Samples in ein CSV oder ASCII File hätte ich noch ein 
paar Anregungen. Beim Tek gibt es die Möglichkeiten:

- Save Samples xxx to xxx
- Save Samples between Cursors
- Save Samples in Zoom Area (entspräche wahrscheinlich den Daten im 
Delayed-Fenster)
- Save All

wobei die Anzahl der aufgezeichneten Samples explizit angezeigt wird.

Darüber hinaus lässt sich auswählen, welcher Kanal exportiert werden 
soll:

- Channel 1  2  3 / 4
- Math 1  2  3 / 4
- Ref 1  2  3 / 4

Als Data Destination stehen zur Auswahl:

- Spreadsheet CSV
- Spreadsheet TXT
- Mathcad
- Matlab

Die Mathcad und Matlab Daten werden in einer .dat-Datei abgespeichert. 
In den ersten 5 oder 6 Zeilen stehen die aktuellen Oszi-Einstellungen, 
danach folgen mit Tabulator getrennt x-Werte [s] und y-Werte [V].

Ein Export der Daten mit Tabulatortrennung und in einer x-y-Auflistung 
wäre sicherlich auch in unserem Falle hilfreich. Als x-Wert wird der 
Triggerzeitpunkt zu NULL gesetzt, x-Werte vor dem Triggerereignis 
entsprechen dann negativen Zeitpunkten und x-Werte nach dem 
Triggerereignis entsprechend positiven.
Einen ähnlichen Datenexport gab es ja seinerzeit schon in der originalen 
FW. Hier wurden alle Werte der aktiven Kanäle folgendermaßen exportiert

Zeitpunkt - Samplewert CH1 - Spannungswert CH1 - Samplewert CH2...

Der Vorteil wäre, dass sich ein Ereignis zeitlich besser eingrenzen 
ließe.

Bezüglich des Aquisition Modes. Am Tek stehen hier ebenfalls 
verschiedene Einstellung zur Verfügung:

- Samples (schätzungsweise entspricht das der übereinander gezeichneten 
Darstellung von Samples, wie weiter oben schon erbeten, denn das 
vermeintliche Rauschen ist hier extrem hoch)
- Peak Detect
- High Resolution
- Average
- Envelope

Als weitere Anregung möchte ich noch die Window-Types der FFT aufzählen:

- Rectangular
- Hamming
- Hanning
- Black-Harris
- Gaussian
- FlatTop2
- KaiserBessel

Ich bin natürlich gern bereit euch mit weiteren Info's vom Tek zu 
versorgen, sofern dies gewünscht oder erfragt wird. Schaden kann es 
meiner Meinung nach nicht zu schauen, was andere Geräte können. Ob sich 
sowas dann auch im Welec realisieren lässt sein mal dahingestellt.
Nächste Woche bekomme ich übrigens eine Vorführung bei uns im Hause. 
Dann werden mir ein Tek der 4000er-Serie und ein vergleichbares Agilent 
vorgestellt. Nach Aussagen des Außendienstmitarbeiters heute arbeitet 
Agilent mit einer Aquisition von 100000, Tek dagegen nur mit der Hälfte. 
Hameg ist mittlerweile wohl von einem namenhaften Hersteller aufgekauft 
worden.

Nach wie vor bin ich übrigens der Meinung, dass der Triggerlevel nicht 
auf einen Pixelwert auf dem TFT eingestellt werden soll, sondern auf 
einen Spannungswert. Sobald ich also den Spannungsbereich meines 
Signales umstelle sollte der Triggerlevel nach wie vor auf den gleichen 
Spannungswert des Signales triggern.
Vielleicht lassen sich hier ja auch beide Möglichkeiten implementieren, 
dann wäre es für jeden individuell einstellbar.

Soweit erst einmal von hier.
Beste Grüße, branadic

von Cra Z. (crazor)


Lesenswert?

branadic schrieb:
> Nach wie vor bin ich übrigens der Meinung, dass der Triggerlevel nicht
> auf einen Pixelwert auf dem TFT eingestellt werden soll, sondern auf
> einen Spannungswert. Sobald ich also den Spannungsbereich meines
> Signales umstelle sollte der Triggerlevel nach wie vor auf den gleichen
> Spannungswert des Signales triggern.
> Vielleicht lassen sich hier ja auch beide Möglichkeiten implementieren,
> dann wäre es für jeden individuell einstellbar.

Das finde ich auch, allerdings wirst du kleinere Sprünge in der zu 
triggernden Spannung hinnehmen müssen, da ja (vermutlich auch im 
Originaldesign; definitiv aber bei mir) auf ADC-Rohwerte getriggert 
wird.

von Niklas O. (nevm)


Lesenswert?

Hallo Roberto,

> Screenshot:
> Beim Screenshot kommen bei mir auch immer zwei Bilder!
> Einstellung -c1 -b
> Warum kann eigentlich der Photoshop 5.0 das BMP nicht lesen?
> Kann das jemand bestätigen ?

Das Problem zum ersten Punkt hat Hayo ja schon gefunden und
ist Firmware-seitig.

Letzteres habe ich in der englischen README beschrieben.
Es haengt damit zusammen, dass die Standardvariante, die Pixel
im BMP Format abzuspeichern, entgegen der konventionellen
Reihenfolge geht.  Statt von oben links Zeilenweise bis unten
rechts geht's da von unten links bis oben rechts.  Aber es
ist durch Angabe einer negativen Hoehe auch vorgesehen in
"normaler" Reihenfolge abzuspeichern.  Wie sich fuer mich
erst nach Implementation heraus stellte ist dies anscheinend
manchen Bibliotheken und/oder Programmen nicht bekannt und
wollen mit der Datei nichts anfangen.

Niklas

von Bruno W. (brunowe) Benutzerseite


Lesenswert?

@ Hayo,

ich hab da noch einmal ein paar prinzipielle Frage zu deiner FFT:

1.) Wenn ich auf Gauss bzw. Kais.-Bess. schalte wird mein ganzer 
Bildschirm gelb/ bzw. grün- übersteuert- alle anderen Fensterfkt. sind 
ok. --known Bug?
2.) die Anzeige rechts bedeutet?
df = kleinster Frequenzauflösung bei der FFT- Berechnung (man erkennt 
schön wie bei Übergang von 512 zu 1024 dieser Wert halbiert wird)
_fn_: Hälfte der oben angezeigten Samplingfrequenz- wobei hier der TB- 
Faktor nicht berücksichtigt wird- Was bringt diese Anzeige also dann?
_div_: ??? das erschließt sich mir jetzt leider nicht.

Wenn ich das richtig sehe, dann stellt die FFT- Funktion immer die 
Frequenzen bis fn dar? (Obwohl der obere Bereich ggf. wg. dem TB- Faktor 
gar nicht nutzbar ist und nur zu Fehlinterpretation führt)
Falls ich das soweit richtig verstanden habe, sollte man dann den 
angezeigten Frequenzbereich nicht auf den sinnvollen Wertebereich 
einschränken?
Das hatte ich oben schon mal angeregt, hatte mich diesbzgl. aber wohl 
missverständlich ausgedrückt.

Gruß, brunowe

von Blue F. (blueflash)


Lesenswert?

@Branadic

- Der Punkt mit dem Triggerlevel steht auch in meiner ToDo liste im 
Beipackzettel des Paketes. Wie so of gibt es allerdings so viele Punkte 
dass wir da nur Prioritäten sortieren können.

- Die FFT-Fenster stimmen ja schon fast überein, allerdings wollte ich 
noch einige hinzufügen (z.B. Flat Top ist noch in Arbeit, Hamming steht 
auch in der Pipeline und zu Poisson und Kaiser-Bessel hab ich noch 
Versionen mit anderen Koeffizienten parat).

- Der Datendownload ist nur ein erster Prototyp. Deine Anregungen sind 
schon mal sehr gut. An diesem Thema werden wohl Niklas und Falk (jetzt 
wieder mit Oszi) dran sein.

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Sehr schöne FFT. Hut ab!

Auch die Unterordnung des Screenshot-Verzeichnisses unter die Firmware 
finde ich gut.

Zur Baudrate: Beim RS232-UART ist die anscheinend nicht zu ändern. Das 
könnte beim USB-UART anders sein. Das aber wäre nur sinnvoll, wenn man 
auch die des Cypress ändern könnte, und davon verstehe ich nix.

Bei mir dauert der BW-Screenshot übrigens 12s...

Bezüglich der CSV-Dumps halte ich es für sinnvoll, Auflösung, Zeitbasis 
und alle anderen Parameter in einem Header mitzusenden. Das kann ja 
nicht allzuviel sein.

Falk

von Niklas O. (nevm)


Lesenswert?

Hallo branadic,

> zum Export von Samples in ein CSV oder ASCII File hätte ich noch ein
> paar Anregungen. Beim Tek gibt es die Möglichkeiten:
>
> - Save Samples xxx to xxx
> - Save Samples between Cursors
> - Save Samples in Zoom Area (entspräche wahrscheinlich den Daten im
> Delayed-Fenster)
> - Save All

Mhm.  Wahrscheinlich hat das Tek eine wesentlich groeszere 
Samplingtiefe,
oder?  Jedenfalls sind das IMHO bissl viel Einstellungsmoeglichkeiten.

Die Cursor-Werte usw. koennen wir mituebermitteln, so dass diese
entsprechend gekennzeichnet werden koennen.

Einbau von selektiver Speicherung ist sicherlich nicht schwierig, die 
Frage ist, was da bei unserem Geraet sinvoll ist und die Bedienung
nicht unnoetig verkompliziert.  Cursor, Screen und All z.B..  Bei nem
Delayed-Fenster waere Screen dann der untere "gezoomte" Teil.

> wobei die Anzahl der aufgezeichneten Samples explizit angezeigt wird.

Siehe oben, bringt bei uns nicht so viel.

> Darüber hinaus lässt sich auswählen, welcher Kanal exportiert werden
> soll:
>
> - Channel 1  2  3 / 4
> - Math 1  2  3 / 4
> - Ref 1  2  3 / 4

Mhm, was ist denn Ref da?  Koennte man statt da nochmal die Kanaele
auszuwaehlen die ungewollten nicht einfach fuer den Export ausschalten? 
Waere intuitiver.
(Vorrausgesetzt natuerlich, man hat das Sampling bereits gestoppt.)

> Als Data Destination stehen zur Auswahl:
>
> - Spreadsheet CSV
> - Spreadsheet TXT
> - Mathcad
> - Matlab
> [Textuelle Beschreibung]

Kannst Du uns da mal fuer alle Moeglichkeiten reale Ausgaben
vom Tek zukommen lassen?

Niklas

von Blue F. (blueflash)


Lesenswert?

@Bruno

> 1.) Wenn ich auf Gauss bzw. Kais.-Bess. schalte wird mein ganzer
> Bildschirm gelb/ bzw. grün- übersteuert- alle anderen Fensterfkt.
> sind ok. --known Bug?

Äh nein, war mir noch nicht aufgefallen - ist notiert

> 2.) die Anzeige rechts bedeutet?

df -> delta frequency - ist die spectrale Auflösung der FFT (Bandbreite 
einer Linie)

fN -> Nyquistfrequenz, entspricht der maximal darstellbaren Frequenz der 
FFT

div -> frequenzteilung des Grid, Bandbreite eines Gridrasters

> Wenn ich das richtig sehe, dann stellt die FFT- Funktion immer die
> Frequenzen bis fn dar? (Obwohl der obere Bereich ggf. wg. dem TB- Faktor
> gar nicht nutzbar ist und nur zu Fehlinterpretation führt)

Der TB-Faktor wird bei der FFT nicht berücksichtigt. Entscheidend ist 
daher für die FFT nicht die TB in Zeit/div sondern die angezeigte 
Samplerate und dementsprechend auch der halbe Kehrwert nahmlich die 
Nyquistfrequenz

Hayo

von Blue F. (blueflash)


Lesenswert?

Noch einer zur Datenübertragung:

Der Math-Channel enthält nur redundante Daten, die zudem auch nur für 
den angezeigten Fensterausschnitt berechnet werden. Da diese Daten auch 
problemlos extern (in einem Excelsheet oder einem Programm) 
rekonstruiert werden können, muß man die nicht auch noch durch die 
Strippe quetschen.

Hayo

von Niklas O. (nevm)


Lesenswert?

Hallo,

@Falk:
> Bei mir dauert der BW-Screenshot übrigens 12s..
Falls Du Dich auf meine "Kritik" von zuvor beziehst:
Ich meinte nicht eine verschlechterte Zeit sondern
die Verdopplung der Datenmenge :)

@Hayo:
Wo ich gerade am Testen bin:  Wir hatten mal das Thema
Save/Recall, was in unserer FW nicht mehr funktionierte.
Du meintest glaube ich, dass es an den geaenderten
Speicherstellen laege.  Hattest Du das schon gefixt?

Bin gerade zufaellig wieder drauf gekommen als branadic
die Ueberlagerung/den Vergleich von Samples erwaehnte.
Bei mir funktioniert Save/Recall bei 0.85 jedenfalls
noch nicht.

Ich hatte glaub' ich auch angeregt, fuer solche Vergleiche
unbenutzte Planes herzunehmen.  Wie sieht das aus technischer
Sicht aus, ist da was "hart verdrahtet" im FPGA oder koennen
wir auch eigene Planes fuer diese Zwecke erzeugen?

Niklas

von Michael W. (slackman)


Angehängte Dateien:

Lesenswert?

Hi,
kann man zu der FFT nicht noch 'ne Möglichkeit hiinzufügen, um das 
Originalsignal (meinetwegen auch skaliert) mit darzustellen? Hab hier 
mal einen Screenshot eines anderen scopes gefunden...
(nur so eine Idee, nicht das Hayo noch auf den Gedanken kommt, ein Bier 
trinken zu gehen...)
;-)

von Niklas O. (nevm)


Lesenswert?

Hallo Falk,

> Bezüglich der CSV-Dumps halte ich es für sinnvoll, Auflösung, Zeitbasis
> und alle anderen Parameter in einem Header mitzusenden. Das kann ja
> nicht allzuviel sein.

Ja, so hatte ich mir das urspruenglich auch vorgestellt.

Sag mal, wo Du ja auch noch Deine QT-GUI ins SVN Repository stellen
wolltest, sollten wir nicht gleich aus dem vorhanden Auslesecode
eine Library machen, die dann sowohl GUI und Konsolenprogramm
benutzen?

Wie sieht Dein Plan aus?  Wenn uns branadic die Beispielausgaben
liefert wuerde ich mich gerne daran machen das umzusetzen.
Du wolltest ja auch die Firmware handlicher machen.
(Ich habe die btw. die naechsten Tage wieder Zeit.)

Wir sollten uns da mal abstimmen, auch bzgl. der Reorganisation
des Repositories durch Daniel/crazor.

Niklas

von Blue F. (blueflash)


Lesenswert?

@Niklas

An der Save/Recall-Sache war ich noch nicht dran, da ich erst mal unsere 
Organisatorische Pause abwarten wollte, das Release gestern war nur eine 
Spontane Sache. Ich könnte allerdings die minor Fixes von heute noch
reinstellen bevor wir dichtmachen, soll ich?


@Michael

Ist machbar, erfordert aber eine neue bzw. stark überarbeitete 
Zeichenroutine. Daher wird das wohl kurzfristig nichts (bin in zwei 
Wochen erstmal im Urlaub zum Biertrinken ;-))
Ist aber im Hinterkopf.


Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Niklas O. schrieb:
> Hallo,
>
> @Falk:
>> Bei mir dauert der BW-Screenshot übrigens 12s..
> Falls Du Dich auf meine "Kritik" von zuvor beziehst:
> Ich meinte nicht eine verschlechterte Zeit sondern
> die Verdopplung der Datenmenge :)

"Size does not matter" ;-)

Ich kann mit 12s/30s gut leben, also lasse ich das vorerst so.

Interessanter finde ich ja ohnehin die Rohdaten. Die kann man 
schließlich auf dem PC beliebig weiterverarbeiten, während ein 
Screenshot nur ein Bild darstellt.

Die Übertragung der Daten aller vier Kanäle dauert ca. 7s, die ganzen 
Parameter sollten in unter einer Sekunde zu übertragen sein.

Dann hat man alle Informationen, um auf dem PC ein Bild zu malen, zu 
Drucken, Mathcad/Matlab-Files zu schreiben, wildeste Analysen 
anzustellen oder automatisiert einen Twitter-Eintrag zu schreiben ;-)

Als sinnvolle Verbesserung sehe ich eher, die Einstellungen zu 
übertragen und nur die ausgewählten Kanäle.

Eine Fernsteuerung mit dem PC könnte auch noch interessant sein.

Meine 2¢,
Falk

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Niklas O. schrieb:
> Hallo Falk,

> Sag mal, wo Du ja auch noch Deine QT-GUI ins SVN Repository stellen
> wolltest,

Das will ich noch an die geänderte Firmware anpassen. Das kommuniziert 
genauso mit dem Scope, wie das screendump-Programm.

> sollten wir nicht gleich aus dem vorhanden Auslesecode
> eine Library machen, die dann sowohl GUI und Konsolenprogramm
> benutzen?

Ok, mach' ich.

> Wie sieht Dein Plan aus?  Wenn uns branadic die Beispielausgaben
> liefert wuerde ich mich gerne daran machen das umzusetzen.
> Du wolltest ja auch die Firmware handlicher machen.
> (Ich habe die btw. die naechsten Tage wieder Zeit.)

Im ersten Schritt fände ich es gut, die PC-Kommunikationsfunktionen in 
eine getrennte Datei auszulagern, also "Display::DUMPCSV", 
"Display::SCREENSHOT", Display::SCREENSHOT_BW, und "rle_enc" in 
pc_comm.cpp/h.

> Wir sollten uns da mal abstimmen, auch bzgl. der Reorganisation
> des Repositories durch Daniel/crazor.

Mein Vorschlag: Irgendwo unterhalb /
- firmware/FW1.2.BF.X.yy/src
- firmware/FW1.2.BF.X.yy/Screenshot_X.Y/
etc.

Aber soll Daniel doch einfach einen Vorschlag machen (oder hatte er das 
nicht schon?)

Falk

von Cra Z. (crazor)


Lesenswert?

Mal ne Frage an die Spezis:

Die USB-Verbindung zum Rechner ist doch im Scope auch "nur" ne UART. Wie 
geht es denn ab dem FX1 dann weiter zum Rechner? Zumindest bei einem 
schnellen Test konnte ich nicht ausmachen, dass die Originalsoftware 
(+Treiber) einen virtuellen COM-Port anlegt, über den dann die 
Kommunikation erfolgt.

Irgendwer hatte doch auch schonmal angefangen, das USB-"Protokoll" zu 
reversen, wo gab's denn noch die Infos dazu? Ich frage mich, ob 
eventuell ohne allzugroße Änderungen doch noch eine UART-Verbindung über 
USB machbar ist...

von Martin H. (martinh)


Lesenswert?

Habe etwas zu frueh geschumpfen: Das W2024A ist heute bei mir 
eingetroffen (und scheint auch in gutem Zustand zu sein), wieder 
erwarten sogar mit 4 Sonden!
Auf die Wittigs ist noch verlass.

Martin

von egberto (Gast)


Lesenswert?

wird wahrscheinlich als HID angemeldet und mit was handgefrickeltem 
ausgelesen....

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Daniel H. schrieb:
> Mal ne Frage an die Spezis:
...

> Irgendwer hatte doch auch schonmal angefangen, das USB-"Protokoll" zu
> reversen, wo gab's denn noch die Infos dazu? Ich frage mich, ob
> eventuell ohne allzugroße Änderungen doch noch eine UART-Verbindung über
> USB machbar ist...

Ich hatte mit "usbmon" getraced und dann mit der "libusb" verschiedene 
Kommandos ausprobiert.
Das Ergebnis steht hier: 
http://groups.google.com/group/welec-dso/web/usb-commands?hl=en

Das scheint nicht einfach USB-RS232 zu sein, sondern etwas 
Capress-spezifisches. Deswegen nehme ich auch an, daß man per USP auch 
die Baudrate des Chips ändern kann.

Falk

von Michael W. (slackman)


Lesenswert?

Der Cypress ist im Grunde ein um den USB erweiterter 8051er.

Es gibt auf der Cypress Seite Tools und Code. Hatte mich im Zusammenhang 
mit dem ByteBlaster mal ein wenig eingelesen. Die beste Lösung wäre die: 
Einen rudimentären Treiber zu schreiben, der dann im Zusammenhang mit 
der PC-Software die entsprechende Funktionalität in den Cypress nachlädt 
(ByteBlaster, UART, ... was auch immer).

Leider bin ich als 'Hochsprachler' noch nicht viel weiter gekommen und 
habe jobmäßig auch arg viel zu tun... Bin froh, wenn ich diese Woche die 
ersten Taschen raushauen kann ;-)

Michel

von Stefan (Gast)


Lesenswert?

Hab's nicht verstanden... was genau spricht gegen die momentan 
schnellere serielle Schnittstelle (?) evtl. der erforderliche 
usb-to-serial dongle für 3-4 Euro ?
Meiner Meinung nach gibt es noch so viele Baustellen, bei denen es keine 
funktionierende Alternative gibt.

von Falk W. (dl3daz) Benutzerseite


Angehängte Dateien:

Lesenswert?

Falk Willberg schrieb:
> Niklas O. schrieb:
>> Hallo Falk,
>
>> Sag mal, wo Du ja auch noch Deine QT-GUI ins SVN Repository stellen
>> wolltest,
>
> Das will ich noch an die geänderte Firmware anpassen. Das kommuniziert
> genauso mit dem Scope, wie das screendump-Programm.

Ok, ich hatte es ja angedroht. Das tar-Archiv ist angehängt. Es 
kompiliert unter Linux, funktioniert aber nicht mit irgendeiner 
Firmware. Betrachtet es bitte als Qt-Übung.

Leider habe ich im SVN völlig die Übersicht verloren, daher hier als 
Anhang.

Jeder, der sich mit Qt auskennt, ist herzlich eingeladen, Verbesserungen 
einzubauen.

Falk

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Stefan schrieb:
> Hab's nicht verstanden... was genau spricht gegen die momentan
> schnellere serielle Schnittstelle (?)

IMO nichts. Wenn wir es schaffen sollten, die Baudrate da zu 
vervierfachen (223400), könnte es sinnvoll sein...

Falk

von Cra Z. (crazor)


Lesenswert?

Michael W. schrieb:
> Der Cypress ist im Grunde ein um den USB erweiterter 8051er.
>
> Es gibt auf der Cypress Seite Tools und Code. Hatte mich im Zusammenhang
> mit dem ByteBlaster mal ein wenig eingelesen. Die beste Lösung wäre die:
> Einen rudimentären Treiber zu schreiben, der dann im Zusammenhang mit
> der PC-Software die entsprechende Funktionalität in den Cypress nachlädt
> (ByteBlaster, UART, ... was auch immer).

Genau soetwas habe ich im Gespräch mit Hans auch schon ausgeheckt. Hans 
hat sich daraufhin auch schon mit der Materie auseinandergesetzt. Unsere 
Idee ist, die ByteBlaster-Firmware dahingehend zu erweitern, dass sie 
eben auch als virtueller COM-Port fungieren kann. Falls das nicht 
zeitgleich möglich ist, dann sollte die Umschaltung von der Seite des 
Softprozessors im FPGA aus realisiert werden. Man könnte dann ein 
kleines Powerup-Protokoll implementieren, das bei Ausbleiben einer 
Meldung von Seiten des FPGA einfach die ByteBlaster-Firmware startet, 
damit man den Zugriff auf den FPGA nicht verlieren kann.

Falls du oder jemand anderes mehr Erfahrungen mit den EZ-USB's hat, 
mache ich dich/euch gern mit Hans bekannt.

Edit: Bei der Gelegenheit sollte man den Humbug mit der "ReNumeration" 
auch sein lassen und solch eine Firmware direkt in das EEPROM packen, 
das am FX1 (gnädigerweise) dranhängt. Habe da momentan fest die 
ByteBlaster-Firmware drin, da es so keine Probleme mehr mit Quartus 
gibt.

von branadic (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Niklas,

ich habe mal die vier Datenexportformate im Anhang. Signal ist das 
1kHz-Probesignal vom Oszi selbst. Exportiert habe ich in CSV, TXT, 
Mathcad und Matlab. Bei dem Mathcad-Export wird zusätzlich noch eine 
x_hdr.dat erzeugt, beim Matlab-Export ist es direkt eine x.hdr

> - Save Samples xxx to xxx
> - Save Samples between Cursors
> - Save Samples in Zoom Area (entspräche wahrscheinlich den Daten im
> Delayed-Fenster)
> - Save All

> Mhm.  Wahrscheinlich hat das Tek eine wesentlich groeszere Samplingtiefe,
> oder?  Jedenfalls sind das IMHO bissl viel Einstellungsmoeglichkeiten.

Ich denke das ein Export der Werte zwischen den Cursorn bspw. sehr 
sinnvoll sein kann. Reduziert schließlich die Anzahl der zu 
exportierenden Daten.
Auch die erste Möglichkeit ist so abwägig nicht. Angenommen man hat 
500.000 Samples, dann besteht die Möglichkeit bspw. Sample 12.000 - 
120.000 zu exportieren. Auch diese Möglichkeit reduziert die Anzahl der 
zu übertragenden Daten.
Bei der Zoom Area liegen wir beide richtig, das entspricht den im 
Delayed-Fenster dargestellten Daten. Auch dies hat eine Datenreduktion 
zur Folge.
Save All bezieht sich lediglich auf den gewählten Kanal und bedeutet, 
dass die gesamten Samples, also die volle Fensterbreite an Daten, 
übertragen wird. Diese Einstellung bezieht sich allerdings beim Tek 
ebenfalls wieder nur auf einen gewählten Kanal, nicht auf alle.

Als Grafikformate stehen übrigens

24-bit Bitmap (*.bmp)
JPEG (*.jpg)
PCX (*.pcx)
Portable Network Graphic (*.png)
Tagged Image File Format (*.tif)

zur Verfügung.
Was es mit dem Ref 1 - 4 auf sich hat muss ich mal noch in Erfahrung 
bringen, hab ich bisher selbst noch nicht genutzt. Könnte aber ein 
früher abgespeichertes und zum Vergleich mit einem Signal herangezogenes 
Signal sein. Könnte bei uns dem Recall-Signal entsprechen. Das ist aber 
Spekulation meinerseits.

Beste Grüße, branadic

von branadic (Gast)


Lesenswert?

So, es hat mir gerade keine Ruhe gelassen und ich hab am Oszi mal etwas 
näher nachgeschaut.
Es ist so wie schon von mir spekuliert wurde. Man kann Signale 
aufzeichnen und abspeichern, um sie anschließend als Referenzsignal 
wieder hereinzuladen. Das Oszi kann dabei bis zu vier gespeicherte 
Referenzsignale gleichzeitig mit vier Messsignalen und vier 
mathematischen Signalen verarbeiten. Schon heiß, sag ich mal ;)
Das heißt auch, dass das Referenzsignal unserem Recall-Signal 
entspricht. Also alles genau so wie vermutet korrekt.

Beste Grüße, branadic

von Niklas O. (nevm)


Lesenswert?

Hallo,

ich hab' Falks Qt-GUI ins SNV importiert unter /pc/w2000a-qtgui/
(Namen koennen wir ja spaeter nochmal aendern) und einen Ordner
/pc/libw2000a/ fuer gemeinsam genutzten Code angelegt.
Wer sich dem Code annehmen moechte aber nicht mit SVN klarkommt
kann natuerlich auch die Aenderungen hier senden.

@branadic:
Danke fuer die Files.

@Hayo:
> [SVN Repository, Strukturierung, Firmware handlicher machen]
> Ich könnte allerdings die minor Fixes von heute noch
> reinstellen bevor wir dichtmachen, soll ich?

Ja waere vllt. nicht schlecht.  Stefan hat ja das Repository
bereits auf den Stand 0.84 und dann 0.85 gebracht.  Fehlt also
wirklich nur heute.

Der egtl. angedachte Platz von Daniel fuer die Firmware waere
dann unter /fpga/nios/, z.B. also /fpga/nios/blueflash und
/fpga/nios/welec fuer die 1.2.
Beitrag "Re: Wittig(welec) DSO W20xxA Open Source Firmware"

@Falk:
> Mein Vorschlag: Irgendwo unterhalb /
> - firmware/FW1.2.BF.X.yy/src
> - firmware/FW1.2.BF.X.yy/Screenshot_X.Y/

Das widerspraeche etwas dem Konzept von Versionssystemen :)
Was Du meinst kann man durch Tagging erreichen, also
einen bestimmten Versionsstand z.B. als "Release-FW1.2.BF.0.85"
auszeichnen.  Wenn jemand dann genau den Stand moechte kann
er diesen explizit auschecken.

Aber da muss ich bei SVN leider passen, wie das dort geschieht
muesste ich selber nachlesen.

> Aber soll Daniel doch einfach einen Vorschlag machen
> (oder hatte er das nicht schon?)

Ja hatte er, Link ist paar Zeilen hierueber.  Wenn also einer
der versierten SVN Nutzer des Amtes walten wuerde und das in
die Tat umsetzt :)

Niklas

von Cra Z. (crazor)


Lesenswert?

Niklas O. schrieb:
> Der egtl. angedachte Platz von Daniel fuer die Firmware waere
> dann unter /fpga/nios/, z.B. also /fpga/nios/blueflash und
> /fpga/nios/welec fuer die 1.2.
> Beitrag "Re: Wittig(welec) DSO W20xxA Open Source Firmware"

Super!

> @Falk:
>> Mein Vorschlag: Irgendwo unterhalb /
>> - firmware/FW1.2.BF.X.yy/src
>> - firmware/FW1.2.BF.X.yy/Screenshot_X.Y/
>
> Das widerspraeche etwas dem Konzept von Versionssystemen :)
> Was Du meinst kann man durch Tagging erreichen, also
> einen bestimmten Versionsstand z.B. als "Release-FW1.2.BF.0.85"
> auszeichnen.  Wenn jemand dann genau den Stand moechte kann
> er diesen explizit auschecken.
>
> Aber da muss ich bei SVN leider passen, wie das dort geschieht
> muesste ich selber nachlesen.

Wie ich oben schonmal geschrieben habe: SVN unterscheidet nicht zwischen 
Copy-, Branch- und Tag-Operationen. Wenn man in ein Tag-Verzeichnis den 
aktuellen Trunk kopiert, dann ist der Inhalt des Ordners einfach nur 
eine Referenz auf den aktuellen Stand. Arbeitet man am Trunk weiter, 
dann sind die Dateien im Tag-Verzeichnis quasi Zeiger auf die Versionen, 
von denen beim Erstellen des Tags kopiert wurde. SVN verhindert 
allerdings nicht, dass im Tag-Ordner herumgebastelt wird. Da ist dann 
die Disziplin der Nutzer gefragt. Falls es dennoch mal passiert, sieht 
man das schnell am Log und man kann mit nem Rückwärts-Diff die Lage 
wieder richten.
Branchen geht genau wie Taggen, nur ist anschließend das Modifizieren 
ausdrücklich erlaubt ;)

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

Ok, die 0.86 beta ist jetzt auch auf SFN verfügbar.

Ich habe die heute gemeldeten Bugs gefixed und noch eine neue Kanalwahl 
für die FFT spendiert - man kann jetzt die Source auch direkt über die 
Kanalknöpfe anwählen.

Hayo

von Blue F. (blueflash)


Lesenswert?

Bevor es jemand anderes meldet: Eine Kleinigkeit hab ich jetzt bei der 
Nachlese noch gefunden, die Kanalanzeige oben in der Statuszeile wird 
nicht umgeschaltet wenn man die Source über das Menu einstellt. Da das 
nich wirklich wehtut werde ich das mal bis zum nächsten Release 
offenlassen.

Hayo

von Blue F. (blueflash)


Lesenswert?

Ach ja, ich mach jetzt erstmal Entwicklungsstop. Wenn Ihr also 
Organisatorisch oder Sourcemäßig was ändern wollt ist jetzt der richtige 
Zeitpunkt. Die Sourcen sind noch nicht mit SVN eingepflegt, da ich mich 
mit dem Teil noch nicht angefreundet habe. Vielleich kann das jemand für 
mich übernehmen - danke!

Hayo

von Stefan E. (stefan_e)


Lesenswert?

hab mal Nägel mit Köpfen gemacht und das angepasst. Langsam werde ich 
war mit subversion

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> Ok, die 0.86 beta ist jetzt auch auf SFN verfügbar.
>
> Ich habe die heute gemeldeten Bugs gefixed
......

Ich habe mal angefangen, eine neue Klasse PCComms mit
1
static void SCREENSHOT_BW(void);    // nevm
2
    static void SCREENSHOT(void);       // nevm
3
    static void DUMPCSV(void);      // #FW#
4
    static void handle_extended_command(unsigned char extended_cmd_buffer[EXTCMDLEN]); //#FW#
anzulegen.

In hardware_t.cpp habe ich (möglichst wenig) geändert. Ich würde gerne 
alles zwischen
1
    if (UART_NewData) {
2
        UART_NewData = 0;               //reset UART ISR flag
3
        switch (state) {
4
...
5
            break;
6
            }
7
        }
In die Klasse PCComms auslagern und mit PCComms::handleInChar(unsigned 
char c) behandeln....

Dann kann ich nämlich die rudimentären Fernsteuergeschichten ins GUI 
einbauen.

Allmählich müssen wir uns mit den Konzepten von SVN auseinandersetzen:
http://de.wikipedia.org/wiki/Subversion_(Software) und 
http://svnbook.red-bean.com/nightly/de/index.html

Falk

von Stefan E. (stefan_e)


Lesenswert?

Sodala,

SF ist jetzt abgeändert. Sourcen liegen unter fpga/nios/oss

Die aktuelle Version ist die .86

Wo finde ich die original Sourcen? Nur der vollständigkeit halber.

@Hayo

wenn du eine persönliche Einführung in subversion willst, dann kannst ja 
mal eine PM schreiben.

Gruß,
Stefan

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Stefan E. schrieb:
> hab mal Nägel mit Köpfen gemacht und das angepasst. Langsam werde ich
> war mit subversion

Wunderbar, wir haben einen Repository Manager ;-)

Nur, wo finde ich die aktuelle Version?
1
welecw2000a/fpga/firmware/src/flash_t.cpp
2
welecw2000a/fpga/welec/improved/src/flash_t.cpp
3
welecw2000a/fpga/welec/improved/src/quickmeasurement/flash_t.cpp
4
welecw2000a/fpga/welec/improved/src/src/flash_t.cpp

??

von Cra Z. (crazor)


Lesenswert?

Das sieht ja shconmal gut aus im SVN Repo. Ein Hinweis noch: SVN bietet 
auch einen Move-Befehl, der macht dann Copy&Delete in einem Schritt, mit 
dem Vorteil, dass alle Repository-Browser das dann korrekt darstellen.

von Niklas O. (nevm)


Lesenswert?

Hallo,

@Stefan:
> Wo finde ich die original Sourcen? Nur der vollständigkeit halber.

Ich bin erst seit kurzem dabei aber so wie ich das verstanden habe
hat Bruno urspruenglich
http://welec-dso.googlegroups.com/web/W2000A+Firmware+V1.2-+Sourcecode.zip
von Wittig erhalten.

Das sind aber nur ein paar C++ Dateien, es fehlt mind. die 
Buildumgebung.
(Das war auch bis r129 im SVN Repository unter /fpga/welec/original/,
habe ich dann etwas uebereilig geloescht da es fuer mich unvollstaendig
aussah.)

Da muessten die "alteingesessenen" Bruno, Hayo und Co. was zu sagen.  In
alten Threads habe ich Verweise auf Sourceforge gefunden die aber leider
nicht mehr funktionieren.

@Falk:
> Nur, wo finde ich die aktuelle Version?

Ich gehe mal davon aus, dass Du schon "svn update" gemacht hast.
Es sollte dann /fpga/firmware/ bis auf Deine lokalen Aenderungen
freigeraeumt sein.  Die musst Du dann noch manuell uebernehmen.

Die aktuell gueltige Location ist nun wie Stefan schon schreibt
/fpga/nios/oss/.  In /fpga/welec/improved/ wurde u.a. an
QuickMeasure gearbeitet und der Pfad wird momentan nicht
(mehr) verwendet.

Niklas

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Niklas O. schrieb:

> @Falk:
>> Nur, wo finde ich die aktuelle Version?
...
> Die aktuell gueltige Location ist nun wie Stefan schon schreibt
> /fpga/nios/oss/.

Da bin ich jetzt dran. Ich habe die Behandlung von Zeichen vom UART in 
die Klasse PCComms ausgelagert, ebenso unsere Screenshot-Funktionen.

Nach dem commit, werde ich diese Dateien auch wieder unlocken.

Damit ist praktisch alles, was mit der PC-Kommunikation zu tun hat, in 
PC-comms.cpp/h.

Wenn ich das richtig sehe, haben wir nur einen Trunk, in dem gearbeitet 
wird, aber keine Tags mit benutzbaren Zwischenreleases....

Falk

von Stefan E. (stefan_e)


Lesenswert?

Das siehst du richtig. Bis zu dem Kapitel bin ich noch nicht gekommen 
;-)

von Stefan E. (stefan_e)


Lesenswert?

Was ist eigentlich der Ordner "fft"? Ist das ein branch?

von Niklas O. (nevm)


Lesenswert?

Hallo Stefan,

> Was ist eigentlich der Ordner "fft"? Ist das ein branch?

Nein, siehe:
Beitrag "Re: Wittig(welec) DSO W20xxA Open Source Firmware"

Niklas

von Stefan E. (stefan_e)


Lesenswert?

Ok, weg mit dem Ordner. Soll ich, wenn wir schon beim umstellen sind, 
dass ganze noch um eine Ordner-Ebene erweitern, so dass unter 'oss' 
erstmal nur 'tags','branches' und 'trunk' erscheint?

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Stefan E. schrieb:
> Ok, weg mit dem Ordner. Soll ich, wenn wir schon beim umstellen sind,
> dass ganze noch um eine Ordner-Ebene erweitern, so dass unter 'oss'
> erstmal nur 'tags','branches' und 'trunk' erscheint?

Wegen mir gerne. Gearbeitet wird dann in Trunk? Und wenn ein Oberguru 
"OK" sagt, macht er daraus einen Tag?

Falk, nix offen momentan

von Stefan E. (stefan_e)


Lesenswert?

Nach dem wir die einzigen momentan sind, nutze ich gleich mal die 
Chance...

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Stefan E. schrieb:
> Nach dem wir die einzigen momentan sind, nutze ich gleich mal die
> Chance...

Ich versuche das auch mit w2000a-qtgui.

Falk

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

Hi, die Origanalsource hab ich natürlich noch rumliegen, besteht aber 
nur aus fünf Dateien - schön unübersichtlich.

Die jetzige Aufteilung und das komplette Build mit SDK auf das meine 
Entwicklungen aufbauen stammt von Andreas Fellnhofer, der das Ganze 
freundlicherweise ausgetüftelt und zur Verfügung gestellt hat.

Zur Abschreckung und als Museumsstück kann man das ja mit reinstellen. 
Der FFT-Ordner kann weg, sind nur Test und Beispielsourcen aus meinem 
damaligen Projekt.

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> Hi, die Origanalsource hab ich natürlich noch rumliegen, besteht aber
> nur aus fünf Dateien - schön unübersichtlich.

Hehe, die habe ich auch. Ich denke, über den Namen des Autors sollten 
wir angesichts der unbekannten Umstände den Mantel des Schweigens 
lassen.

Ich habe das mit dem SVN move auch mal probiert.

Wenn Du jetzt, statt ein ZIP-File zu bauen, "svn commit" eintippst, hat 
unser  CRO (Chief Repository Officer) auch weniger Arbeit ;-)

Schönen Abend,
Falk
P.S.: "Real Hackers don't do backups. They upload their sources and let 
the others do backups." Frei nach Linus Torwalds

EDIT: Hoffentlich hat's noch keiner gesehen...
EDIT2: Wie machst Du die RAM-Version? Könntest Du das ins Makefile 
einbauen?

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Stefan E. schrieb:
> Nach dem wir die einzigen momentan sind, nutze ich gleich mal die
> Chance...

Mhhh.... Wo sind meine Änderungen PC-comms.cpp aus r150 hin?

Falk

von Blue F. (blueflash)


Lesenswert?

Hi Jungs, noch ein Vorschlag zur Aufteilung der Sourcen: Ich würde das 
gesamte Signalprocessing in eine eigene Klasse auslagern - als da wären:

Die Hauptsignalprozessorroutine, die Mathfunktionen, FFT, Interpolation, 
Filterroutinen und USTB-Routinen.

Dann wird die Display-Klasse etwas schlanker.

Hayo

von rowue (Gast)


Lesenswert?

Just btw:

Das trac welches auf dem Sourcefrosch angeboten wird, lässt sich auch
sehr gut zum Projektmanagement (Bugs, Features, etc) nutzen und spielt
auch sehr nett mit svn (subversion). Ein Beispiel ist (neben anderen):
http://trac.macports.org

@Hayo: Kommst Du aus HH? Dann könnten wir ggf. auch mal eine direkte 
Einführung in Subversion/Trac machen ;)

Grüße,

   Danke für die tolle Arbeit!


    rowue

von Stefan E. (stefan_e)


Lesenswert?

Wollte die Dateien gerade nachtragen. Warst ne Minute schneller. Ich 
habe irgendwie den falschen Status kopiert. Vielleicht hat ein "svn 
updte" gefehlt.
Sorry...

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Stefan E. schrieb:
> Wollte die Dateien gerade nachtragen. Warst ne Minute schneller. Ich
> habe irgendwie den falschen Status kopiert. Vielleicht hat ein "svn
> updte" gefehlt.
> Sorry...

Passiert.... Mit
1
svn checkout https://welecw2000a.svn.sourceforge.net/svnroot/welecw2000a/fpga/nios/oss/ -r 151
 hatte ich sie wieder und nach nochmaligem commit sind sie jetzt wieder 
da. EDIT: Im Trunk, wo die hingehören.

Zum editieren meines Beitrages war es schon zu spät.

Manchmal wäre IRC nicht schlecht ;-)

Falk

von branadic (Gast)


Lesenswert?

Hallo Zusammen,

ich hatte gerade wieder ein Gespräch mit Crazor, um das neue FPGA-Design 
weiter voran zu treiben. Dabei haben wir uns auch kurz über den 
aktuellen Code von euch unterhalten.
Daniel hatte da kurz erwähnt, dass es vielleicht hilfreich sein könnte, 
den Code komplett auf C anstatt C++ umzustellen. Besteht hier vielleicht 
noch Potential für Geschwindigkeitsoptimierungen?

Beste Grüße, branadic

von Guido (Gast)


Lesenswert?

@ Hayo: damit das hier nicht untergeht:

Schönen Urlaub, ich bin sehr, sehr neidisch!
Und das Notebook ist doch sicher dabei?

Gruß, Guido

von Wolle (Gast)


Lesenswert?

..und nicht vergessen, das Oszi mit in die Tasche zu schmuggeln .....

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

branadic schrieb:
> Hallo Zusammen,
...
> Daniel hatte da kurz erwähnt, dass es vielleicht hilfreich sein könnte,
> den Code komplett auf C anstatt C++ umzustellen. Besteht hier vielleicht
> noch Potential für Geschwindigkeitsoptimierungen?

Im Grunde ist das doch reinrassiges C zuzüglich Klassen.

Ob es einen Vorteil brächte, alles auf C-Syntax umzuschreiben, 
bezweifele ich. Die zeitkritischen Sachen sind sowieso schon ziemlich 
optimiert.

Mir würde es eher helfen, wenn ich einen Überblick hätte, welche 
Variablentypen und Operationen wieviel Zeit kosten.

Falk

von Cra Z. (crazor)


Lesenswert?

branadic schrieb:
> ich hatte gerade wieder ein Gespräch mit Crazor, um das neue FPGA-Design
> weiter voran zu treiben. Dabei haben wir uns auch kurz über den
> aktuellen Code von euch unterhalten.
> Daniel hatte da kurz erwähnt, dass es vielleicht hilfreich sein könnte,
> den Code komplett auf C anstatt C++ umzustellen. Besteht hier vielleicht
> noch Potential für Geschwindigkeitsoptimierungen?

Vielleicht nicht der Riesenbringer in Sachen Geschwindigkeit, aber da 
der Code ohnehin offenbar 95% C ist, könnte man sich zumindest die 
Laufzeitbibliothek von C++ schenken, was sicher einigen Gewinn in Sachen 
Codegröße bringen könnte. Eventuell werden Funktionen wie printf() oder 
so auch schneller, wenn kein C++-Quatsch mehr unterstützt werden muss...

von Blue F. (blueflash)


Lesenswert?

Guido schrieb:
> @ Hayo: damit das hier nicht untergeht:
>
> Schönen Urlaub, ich bin sehr, sehr neidisch!
> Und das Notebook ist doch sicher dabei?

Also Urlaub geht erst in 2 Wochen los - dann aber für 3 Wochen in die 
Toskana. Notebook ist natürlich dabei, kann ich locker damit 
rechtfertigen dass wir die Urlaubsbilder Abends ansehen können ;-). 
Vielleicht finde ich ja den einen oder anderen WLAN-Spot, dann melde ich 
mich mal und schau mal was so abgeht...

@Wolle
> ..und nicht vergessen, das Oszi mit in die Tasche zu schmuggeln .....

Das wird schon schwieriger, ist mir aber auch schon durch den Kopf 
gegangen...


@rowue

> Kommst Du aus HH?
Jupp!

> Dann könnten wir ggf. auch mal eine direkte Einführung in
> Subversion/Trac machen ;)

Nettes Angebot. Ich wollte mir das jetzt mal in der Zwischenzeit zu 
Gemüte führen. Ich hab gesehen, dass es auch eine KDE-Version gibt, die 
wollte ich mal ausprobieren. Ansonsten komme ich gerne auf das Angebot 
zurück.

Hayo

von Blue F. (blueflash)


Lesenswert?

@Falk

In der aktuellen c't ist eine Einsteigeranleitung für Qt drin, die hab 
ich heute morgen auf dem Weg zur Arbeit mal angelesen. Ich werde das mal 
ausprobieren, dann kann ich da PC-seitig auch mit behilflich sein. Wär 
ja ganz nett wenn wir irgendwann vom Kommandozeilengewerkel wegkämen 
(auch wenn es bislang schon echt hilfreich ist). Ab einem bestimmten 
Alter legt man halt Wert auf Komfort ;-)...

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> @Falk
>
> In der aktuellen c't ist eine Einsteigeranleitung für Qt drin, die hab
> ich heute morgen auf dem Weg zur Arbeit mal angelesen.
> Ich werde das mal
> ausprobieren, dann kann ich da PC-seitig auch mit behilflich sein. Wär
> ja ganz nett wenn wir irgendwann vom Kommandozeilengewerkel wegkämen
> (auch wenn es bislang schon echt hilfreich ist). Ab einem bestimmten
> Alter legt man halt Wert auf Komfort ;-)...

Naja, ich finde bspw. svn auf der Kommandozeile sehr komfortabel.

Aber ich finde die Möglichkeit angenehm, alle Funktionen des DSOs am PC 
steuern zu können.

Und mit Qt kann man das auch für Windows kompilieren.

Eine Frage: Wie veranlasse ich das Scope dazu, eine neue Zeitbasis auch 
anzuzeigen? Ändern tue ich die mit
1
Display_Timebase = Selected_Timebase=(int)rxbuffer[1];
2
TimebaseChanged = 1;

Die Timebase ändert sich auch, aber die Statusanzeige nicht.

Sobald dieser erste Punkt funktioniert, werde ich einen commit im trunk 
machen.

Gruß,
Falk

von Blue F. (blueflash)


Lesenswert?

Hi Falk,

setzen der Timebaseeinstellung geht so:

timebase_reg = tb_value[Selected_Timebase];
Display_Timebase = Selected_Timebase + SIGNALFaktor_idx;

if (Selected_Timebase > 7)
{ adc_change12_reg |= 0x01000000; }
else
{ adc_change12_reg &= 0xFEFFFFFF; }

ändern der Anzeige geht so:

Display::StatusUpdate();


Wie sieht es denn jetzt mit der Aufteilung aus? Entwickelst Du schon 
wieder? Oder teilst Du noch auf? Eine Info über den Stand der Dinge wäre 
ganz hilfreich. Desweiteren, macht dann jemand ein neues Build mit 
angepasstem Makefile und den neuen Sourcen, oder bleibt das jedem selbst 
überlassen?

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> Hi Falk,
>
> setzen der Timebaseeinstellung geht so:
>
> timebase_reg = tb_value[Selected_Timebase];
> Display_Timebase = Selected_Timebase + SIGNALFaktor_idx;
>
> if (Selected_Timebase > 7)
> { adc_change12_reg |= 0x01000000; }
> else
> { adc_change12_reg &= 0xFEFFFFFF; }
>
> ändern der Anzeige geht so:
>
> Display::StatusUpdate();

Ok, werde ich mir mal ansehen.

> Wie sieht es denn jetzt mit der Aufteilung aus? Entwickelst Du schon
> wieder? Oder teilst Du noch auf?

Ich hatte zunächst den Teil für die PC-Kommunikation in eine neue 
Klasse/Datei verlagert.

Daran bastele ich auch gerade. (Und am GUI)

> Eine Info über den Stand der Dinge wäre
> ganz hilfreich. Desweiteren, macht dann jemand ein neues Build mit
> angepasstem Makefile und den neuen Sourcen, oder bleibt das jedem selbst
> überlassen?

Ich werde meine Änderungen committen, sobald die Änderung der Timebase 
funktioniert, damit auch andere Qt-Spezialisten einen Ansatz haben.

Dann werde ich weiter aufteilen. Dazu werde ich mit Sicherheit einige 
Fragen haben. Bevor ich damit anfange, gebe ich Laut.

Falk

von Blue F. (blueflash)


Lesenswert?

Ok, hattest Du meinen Vorschlag von gestern zur Auslagerung des 
Signalprocessing zur Kenntnis genommen?

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> Ok, hattest Du meinen Vorschlag von gestern zur Auslagerung des
> Signalprocessing zur Kenntnis genommen?

Ja, damit könnte ich anfangen.

Falk

von Blue F. (blueflash)


Lesenswert?

Übrigens, ich weiß nicht ob Du das bemerkt hast, es gibt zwei 
Steuervariablen für die Timebase

- Selected_Timebase ist die führende Variable und läuft nicht linear 
hoch, sondern macht Sprünge! Die Werte kann man meiner Timebasetabelle 
entnehmen.

- Display_Timebase dient nur als Index bei Arrayzugriffen und Ähnlichem, 
läuft aber linear hoch.

Wozu diese inhomogenität gut ist? Keine Ahnung! Da sollte man lieber 
nicht allzulange drüber nachgrübeln. Das wollte ich beizeiten auch mal 
vernünftig implementieren, ist allerdings recht aufwändig, da die 
Variablen in diversen Berechnungen mit drinstecken.

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> Übrigens, ich weiß nicht ob Du das bemerkt hast, es gibt zwei
> Steuervariablen für die Timebase
>
> - Selected_Timebase ist die führende Variable und läuft nicht linear
> hoch, sondern macht Sprünge! Die Werte kann man meiner Timebasetabelle
> entnehmen.

Danke für den Tip...

Jetzt tritt mir die langsame Verarbeitungsgeschwindigkeit des Teils auf 
die Füße: Mal eben sechs Bytes mit 115200 Baud zu schicken, geht einfach 
nicht. Dazu müßte diese Verarbeitung in der ISR stecken, und die wollte 
ich nicht anfassen.
Ich werde aber wohl nicht drumherumkommen.
Jetzt probiere ich erstmal mit einem ACK, das das Scope nach jedem 
empfangenen Zeichen nach Erkennung eines GUI-Kommandos sendet.

Jetzt weiß ich auch wieder, warum ich das GUI damals hingeschissen hatte 
;-)

Keine Atempause, es geht voran,
Falk

von Wolle (Gast)


Lesenswert?

> GUI damals hingeschissen hatte


Wie sagte schon mein Opa:

Was ist das wichtigste beim schweißen?? - das W!!!!

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Wolle schrieb:
>> GUI damals hingeschissen hatte
>
>
> Wie sagte schon mein Opa:
>
> Was ist das wichtigste beim schweißen?? - das W!!!!

Naja, das war ein echter Freud'scher Verbrecher. Erst habe ich es 
hingesch^Wzusammengestoppelt, dann hingeschmissen.

@Hayo:
Ich werde das doch über die ISR machen. Da wird ein kleiner 
Kommandopuffer gefüllt und ein Flag gesetzt, wenn der richtig gefüllt 
ist.

Die übrigen Funktionen wird das nicht beeinflussen.

Jetzt fange ich mal an, aufzuräumen. Alles im Trunk, mit Deinem 
Vorschlag werde ich anfangen.

Falk

von Blue F. (blueflash)


Lesenswert?

Ach ja, noch ein kleiner Nachschlag zum Setzen der Timebase, ich hatte 
da noch was vergessen:

Setzen der Variablen:

  timebase_reg = tb_value[Selected_Timebase];
      Display_Timebase = Selected_Timebase + SIGNALFaktor_idx;

  if (Selected_Timebase > 7)
  { adc_change12_reg |= 0x01000000; }
  else
  { adc_change12_reg &= 0xFEFFFFFF; }

Neuberechnung der abhängigen Variablen:

    Recalc_Vars();
  config_changed = 1;

Setzen der Hardwareregister:

    SetupADC();

Danach ist dann die neue Timebase angeschaltet. Du solltest aber 
berücksichtigen das je nach aktuellen Einstellungen noch weitere 
Konfigurationen nötig sind.

Zum Beispiel die automatische Aktivierung des USTB-Modus, bei 
FFT-Betrieb, bei aktivierten Cursor.

Das findest Du alles im Timebasehandler ON_Timebase()

Am besten einfach nach der Umstellung den Timebasehandler aufrufen, dann 
must Du das nicht neu programmieren.

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

So, ich habe display_t.cpp mal aufgeteilt. Ich habe keine neue Klasse 
angelegt, nur .cpp-Dateien und das Makefile entsprechend angepasst.

Ich habe versucht, das möglichst sinnvoll aufzuteilen. In den Fällen, in 
denen das nicht passt, ist es aber kein Problem, die entsprechende 
Funktion in die passendere Datei zu schieben.

Das Verzeichnis sieht jetzt so aus:
1
      7 src/display_t.cpp
2
     45 src/floatprintf.cpp
3
     65 src/CALCPRETRIGGER.cpp
4
     66 src/TomCat.cpp
5
    123 src/USTB.cpp
6
    172 src/RenderText.cpp
7
    297 src/PC-comms.cpp
8
    347 src/floatstr_t.cpp
9
    364 src/zmodem.cpp
10
    505 src/Display-misc.cpp
11
    587 src/TestAndDemo.cpp
12
    788 src/FFT.cpp
13
    797 src/Calculations.cpp
14
   1078 src/DrawSignals.cpp
15
   1381 src/BasicDrawing.cpp
16
   2715 src/flash_t.cpp
17
   2813 src/Measure.cpp
18
   3402 src/DrawMenusFunctions.cpp
19
   3403 src/Drawing.cpp
20
   4865 src/tc_vars.cpp
21
  15801 src/display_t_bak.cpp
22
  15927 src/display_t_bitop.cpp
23
  24157 src/hardware_t.cpp

Gruß,
Falk

von Blue F. (blueflash)


Lesenswert?

Falk Willberg schrieb:
> So, ich habe display_t.cpp mal aufgeteilt. Ich habe keine neue Klasse
> angelegt, nur .cpp-Dateien und das Makefile entsprechend angepasst.
>
> Ich habe versucht, das möglichst sinnvoll aufzuteilen. In den Fällen, in
> denen das nicht passt, ist es aber kein Problem, die entsprechende
> Funktion in die passendere Datei zu schieben.

Ich weiß ja nicht so genau auf welcher Basis die Sachen entstanden sind, 
aber das sieht mir so aus als wäre da eines meiner Builds die Vorlage 
gewesen. Da waren aber einige Sachen drin die nicht hier in die Struktur 
gehören.


> Das Verzeichnis sieht jetzt so aus:
1
 
2
>      src/display_t.cpp
3
>      src/floatprintf.cpp
4
War nur eine Datei für die verröffentlichung einer Erweiterung
5
-> kann weg
6
7
>      src/CALCPRETRIGGER.cpp
8
War nur eine Veröffentlichung einer frühen Fehlerkorrektur. Die aktuelle Version ist in display.cpp und auf einem neueren Stand
9
-> kann weg
10
11
>      src/TomCat.cpp
12
>     src/USTB.cpp
13
>     src/RenderText.cpp
14
War nur eine Veröffentlichung einer frühen Fehlerkorrektur. Die aktuelle Version ist in floatstr_t.cpp und auf einem neueren Stand
15
-> kann weg
16
17
>     src/PC-comms.cpp
18
>     src/floatstr_t.cpp
19
>     src/zmodem.cpp
20
>     src/Display-misc.cpp
21
>     src/TestAndDemo.cpp
22
>     src/FFT.cpp
23
>     src/Calculations.cpp
24
>    src/DrawSignals.cpp
25
>    src/BasicDrawing.cpp
26
>    src/flash_t.cpp
27
>    src/Measure.cpp
28
>    src/DrawMenusFunctions.cpp
29
>    src/Drawing.cpp
30
>    src/tc_vars.cpp
31
>   src/display_t_bak.cpp
32
Ist nur ein altes Backup -> kann weg
33
34
>   src/display_t_bitop.cpp
35
Ist nur ein altes Backup -> kann weg
36
37
>   src/hardware_t.cpp
38
>
>
> Gruß,
> Falk

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Hayo W. schrieb:
> Falk Willberg schrieb:

> Ich weiß ja nicht so genau auf welcher Basis die Sachen entstanden sind,
> aber das sieht mir so aus als wäre da eines meiner Builds die Vorlage
> gewesen. Da waren aber einige Sachen drin die nicht hier in die Struktur
> gehören.

>> Das Verzeichnis sieht jetzt so aus:
>> src/floatprintf.cpp
>> src/CALCPRETRIGGER.cpp
>> src/RenderText.cpp
>> src/display_t_bak.cpp
>> src/display_t_bitop.cpp

Sind weg.

Dann werde ich man die UART-Sachen aus der hardware_t.cpp auslagern.

Falk

von Sebastian B. (sebbra)


Lesenswert?

Ich würde es begrüßen, wenn auch der Nios-Compiler im SVN abgelegt 
werden würde. Ich schffe es gerade leider nicht den von google groups zu 
laden...
Es wäre dann möglich die ganze Buildumgebung aus dem Projektarchiv zu 
beziehen.

Gruß
Sebastian

von Cra Z. (crazor)


Lesenswert?

Sebastian B. schrieb:
> Ich würde es begrüßen, wenn auch der Nios-Compiler im SVN abgelegt
> werden würde. Ich schffe es gerade leider nicht den von google groups zu
> laden...

Sowas gehört in die Download-Sektion. Überhaupt sind glaube ich noch 
einige sinnvolle Daten von GGroups zu "retten"...

von Blue F. (blueflash)


Angehängte Dateien:

Lesenswert?

Nimmst Du den!

Ist der aktuellste Build vor der Aufteilung. Wenn Du das SDK installiert 
hast reicht ein "make all" und alles geht von selbst.

Kann meinetwegen auch ins SFN Repository falls das Sinn macht.

Hayo

von Sebastian B. (sebbra)


Lesenswert?

Danke! Ich binn der Meinung, dass die Build-Umgebung genauso in die 
Versionsverwaltung gehört, um auf einen definierten Stand umschalten zu 
können. der Compiler könnte ja auch im laufe der Zeit geändert werden.
Sebastian

von Blue F. (blueflash)


Lesenswert?

Die eigentliche Entwicklungsumgebung gibt es in unterschiedlichen 
Varianten für die einzelnen Distributionen. Ich hab hier die 
Suse-Version, ist aber etwas zu groß um es hier reinzustellen (10 MB). 
Must also auf Google warten,  da hab ich das auch alles reingestellt.

Hayo

von Blue F. (blueflash)


Lesenswert?

@Sebastian

Sehe ich auch so. Es muß für Neueinsteiger möglichst leicht sein sich 
das einzurichten und die ersten Schritte zu machen. So kriegen wir eine 
größere Menge an Mitentwicklern und Interessierten.

Hayo

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Daniel H. schrieb:
> Sebastian B. schrieb:
>> Ich würde es begrüßen, wenn auch der Nios-Compiler im SVN abgelegt
>> werden würde. Ich schffe es gerade leider nicht den von google groups zu
>> laden...
>
> Sowas gehört in die Download-Sektion. Überhaupt sind glaube ich noch
> einige sinnvolle Daten von GGroups zu "retten"...

Ich habe vorerst nicht vor, die Gruppe zu löschen. Nur als weitere 
Diskussionsplattform war sie überzählig.

Falk

von Rolf W. (rowue)


Lesenswert?

Hayo W. schrieb:
> Guido schrieb:
>> @ Hayo: damit das hier nicht untergeht:
>>
>> [...]
>
> @rowue
>
>> Kommst Du aus HH?
> Jupp!
Jarrestadt/Kampnagel ;)
>
>> Dann könnten wir ggf. auch mal eine direkte Einführung in
>> Subversion/Trac machen ;)
>
> Nettes Angebot. Ich wollte mir das jetzt mal in der Zwischenzeit zu
> Gemüte führen. Ich hab gesehen, dass es auch eine KDE-Version gibt, die
> wollte ich mal ausprobieren. Ansonsten komme ich gerne auf das Angebot
> zurück.

Ack - ich persönliche bevorzuge RapidSVN/svnX (OS X), aber da hat jeder 
seine Präferenz (http://subversion.tigris.org/links.html#clients hat 
eine
nette Übersicht)

Wenn Du möchtest, setzte ich Dir 'nen Repository auf meiner Kiste auf. 
Mit dem kannst Du dann "rumspielen" ohne auf SourceForge "Rücksicht 
nehmen" zu müssen ;)

>
> Hayo

Grüße,

   schönen Urlaub,

         rowue

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Ich habe gerade eine Firmware und die erste Version des GUI committed, 
mit der zumindest die Timebase verändert werden kann.

Freue mich über jede Kritik.

Damit sind meine größeren Änderungen vorläufig abgschlossen.

Jetzt werde ich ein wenig am GUI und an PCComms.cpp schrauben.

Falk

von xCometz (Gast)


Lesenswert?

Für alle die noch kein Nios compiler haben, hab ich den Compiler (unter 
Windows) als portable gepackt (cygwin + nios-gnupro + Hayo .86beta). Auf 
rar file 25MB. Er kann auch direkt in einer USB-Stick laufen.

Weis jemand wo ich hochladen könnte ohne Registrierung?

Gruß, Ben

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

xCometz schrieb:
> Für alle die noch kein Nios compiler haben, hab ich den Compiler (unter
> Windows) als portable gepackt (cygwin + nios-gnupro + Hayo .86beta).

Welche Variante von Hayos 0.86 ist das? Aus dem SVN oder eine ältere?

> Auf
> rar file 25MB. Er kann auch direkt in einer USB-Stick laufen.
>
> Weis jemand wo ich hochladen könnte ohne Registrierung?

Ich weiß nicht, ob ich ausführbare Programm da herunterladen würde, wo 
das ohne jede Registrierung hochzuladen geht...

Falk

von Stefan E. (stefan_e)


Lesenswert?

Den Stand er 0.84er hab ich mal als Tag hinzugefügt, damit das 
professionell aussieht ;-)

Gruß,
Stefan

von Blue F. (blueflash)


Lesenswert?

xCometz schrieb:
> Für alle die noch kein Nios compiler haben, hab ich den Compiler (unter
> Windows) als portable gepackt (cygwin + nios-gnupro + Hayo .86beta). Auf
> rar file 25MB. Er kann auch direkt in einer USB-Stick laufen.
>
> Weis jemand wo ich hochladen könnte ohne Registrierung?
>
> Gruß, Ben

Das ist nicht übel, wäre was für meinen Urlaubsrechner! Wo Du allerdings 
25MB so einfach hochladen kannst weiß ich auch nicht. Eine Registrierung 
braucht man eigentlich immer. Notfalls könnte ich meinen Server 
anwerfen, da könntest Du das dann draufspielen und ich reiche das dann 
weiter.

Hayo

von Blue F. (blueflash)


Lesenswert?

@rowue

Nördlicher Balkan (Harburger Berge)

Hayo

von xCometz (Gast)


Lesenswert?


von Blue F. (blueflash)


Lesenswert?

Ok, danke!

Download hat geklappt. Wenn ich das richtig sehe gehen aber beide Links 
auf die selbe Datei, oder?

Hayo

von xCometz (Gast)


Lesenswert?

Ja richtig, ich hab 2 mal hochgeladen falls ein error hätte.
Hat funktioniert?

Ben

von Falk W. (dl3daz) Benutzerseite


Angehängte Dateien:

Lesenswert?

xCometz schrieb:
> @Falk
> von
> http://www.mikrocontroller.net/attachment/54374/FW1.2.BF.0.86beta.zip

Die ist nicht mehr aktuell! Bitte nicht an diesen Sourcen weitermachen.

Aktuell ist derzeit 
https://welecw2000a.svn.sourceforge.net/svnroot/welecw2000a/fpga/nios/oss/tags/FW1.2.BF.087beta 
oder der Anhang.

Falk

von Blue F. (blueflash)


Lesenswert?

xCometz schrieb:
> Ja richtig, ich hab 2 mal hochgeladen falls ein error hätte.
> Hat funktioniert?
>
> Ben

Hi Ben,

hat hervorragend funktioniert. Prima Beschreibung. Auspacken, zweimal 
klicken, fertig. Echt super!

Man muß nur drauf achten das nicht in ein Verzeichnis mit Sonderzeichen 
im Namen zu kopieren.

Danke

Hayo

von Rolf W. (rowue)


Lesenswert?

Falk Willberg schrieb:
> xCometz schrieb:
>> @Falk
>> [...]
> 
https://welecw2000a.svn.sourceforge.net/svnroot/welecw2000a/fpga/nios/oss/tags/FW1.2.BF.087beta
> oder der Anhang.
>

Hi Falk, (@all)

es wäre nett, wenn bei einer Release ein Compilat bei wäre ;)
das Nios-CDK mag z.B. amd64 (Linux, 64Bit) nicht.


> Falk

Grüße,

   rowue

von Falk W. (dl3daz) Benutzerseite


Angehängte Dateien:

Lesenswert?

Rolf Würdemann schrieb:

> Hi Falk, (@all)
>
> es wäre nett, wenn bei einer Release ein Compilat bei wäre ;)

Kein problem: make; gzip TomCat.flash; svn add TomCat.flash
"svn: This client is too old to work with working copy '.'; please get a 
newer Subversion client"
Watt? Die Version des Versionshandlingtools passt nicht zur aktuellen 
Version des Versionshandlingtools? Was eine %$&%@€&§$ !!

Während ich also die Sourcen hole und mir ein neues svn baue, verschicke 
ich's mal im Anhang.

> das Nios-CDK mag z.B. amd64 (Linux, 64Bit) nicht.

Geht hier. Seltsam. Im Moment sitze ich am Notebook mit i586 unter'm 
Sonnenschirm, (dafür geht subversion nicht) aber auf dem Büro-PC ist 
SuSE 11.0 x86_64 (AMD) installiert und da läuft das NIOS-CDK.

Gruß,
Falk
P.S.: Du kannst nicht zufällig QT ;-)
P.P.S.: Die Version für's RAM kann ich nicht kompilieren, da fehlt mir 
das Makefile. Wenn Hayo wieder im Lande ist, kann er das ja mal 
schicken.

von Armin D. (ardiehl)


Lesenswert?

die Makefile mit ram support steht weiter oben in diesem Thread


Autor: Günter Jung (gjung)
Datum: 16.05.2009 00:28
Dateianhang: Makefile.zip (3,9 KB, 52 Downloads)

eventuell geht auch: 
http://www.mikrocontroller.net/attachment/50963/Makefile.zip

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Armin Diehl schrieb:
> die Makefile mit ram support steht weiter oben in diesem Thread

...

> http://www.mikrocontroller.net/attachment/50963/Makefile.zip

Danke, das war ja einfach ;-)
1
https://welecw2000a.svn.sourceforge.net/svnroot/welecw2000a/fpga/nios/oss/tags/FW1.2.BF.087beta/
hat jetzt das angepasste Makefile, TomCat.flash.gz und TomCat.ram.gz.

Falk
P.S.: Falls es jemanden interessiert: Subversion lies sich nicht 
übersetzen, weil es irgendeine Indianer-Lib (Apache Portable Runtime) 
haben wollte.
Ein Tritt in den Allerwertesten (rm -rf FW1.2.BF.087beta; svn co ...; vi 
Makefile; make; svn add ....; svn commit) hat subversion dazu gebracht, 
ein commit zu machen.

von Cra Z. (crazor)


Lesenswert?

Falk Willberg schrieb:
> P.S.: Falls es jemanden interessiert: Subversion lies sich nicht
> übersetzen, weil es irgendeine Indianer-Lib (Apache Portable Runtime)
> haben wollte.
> Ein Tritt in den Allerwertesten (rm -rf FW1.2.BF.087beta; svn co ...; vi
> Makefile; make; svn add ....; svn commit) hat subversion dazu gebracht,
> ein commit zu machen.

Deine Meldung von oben deutet auf ein Downgrade deines SVN-Clients hin 
oder zumindest auf das Vorhandensein mehrerer Versionen auf deinem 
System. Ich würde mal eventuelle grafische Clients durchchecken, ob die 
nicht in der Lage sind, den Standard-Client deines Systems zu verwenden 
anstatt ihrer eigenen Executables.

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Daniel H. schrieb:

...

"svn: This client is too old to work with working copy '.'"

> Deine Meldung von oben deutet auf ein Downgrade deines SVN-Clients hin
> oder zumindest auf das Vorhandensein mehrerer Versionen auf deinem
> System.

Ich habe zwei Systeme. Einen PC im Büro und ein Notebook im Garten. 
Subversion-Versionen 1.4 und 1.5. (OpenSuSE 10.3 bzw. 11.0)

> Ich würde mal eventuelle grafische Clients durchchecken...

Ich mag die "Kommandozeile" lieber. Die Klickerei in GUIs ist nicht so 
mein Ding.

Ich müßte nur SuSE 10.3 auf 11.0 updaten.

Falk

von Odic X. (odic)


Angehängte Dateien:

Lesenswert?

Hallo Falk,

ich habe mal ein paar Ideen zu den Sourcen der aktuellen FW 
aufgeschrieben. Sieh es einfach als Anregungen und übernimm, was dir 
sinnvoll erscheint....

- Ich nehme an, das die Aufteilung der Sourcen noch weiter betrieben 
wird. Der Übersichtlichkeit halber würde ich *.cpp und *.h auf zwei 
Verzeichnisse aufteilen. /inc und /src bieten sich an. Wenn man für die 
Dateinamen der Scope-FW noch einen Prefix (z.B. ala 'TC_') einführt, 
könnte eine übersichtliche Aufteilung z.B. wie in der angehängten Datei 
dargestellt aussehen.
(/lib beinhaltet ja keine libraries und könnte daher auch aufgelöst 
werden.)

- Die Versionsnummer in 'Screenshot_0.4' widerspricht dem Gedanke, der 
hinter einem Versionsverwaltungssystem steht.

- Die History sowie die netten Orginalkommentare von Wittig Technologies 
würde ich aus 'tc_vars.cpp' rausnehmen und z.B. in eine /changelog.txt 
auslagern.

Wenn man das Verschieben bzw. Umbenennen in Verbindung mit Subversion 
richtig macht, bleibt auch die Historie der Dateien erhalten. Falls ich 
irgendwo aktiv werden soll, bitte Bescheid sagen.

Beste Grüße,
Odic


PS: Zu deinem Subversion-Problem: ich nehme an, dass du versuchst, ein 
und die selbe working-copy mit unterschiedlichen Clients zu bearbeiten. 
Da sind leider alle SVN-Clients die ich kenne nicht sonderlich 
kompatibel in sich. Einfach auf beiden Systemen getrennt auschecken, 
dann funktioniert es auch ohne ein Update.

von Cra Z. (crazor)


Lesenswert?

@Falk: Ok, ich hatte irgendwie im Hinterkopf, dass du auf Windows 
unterwegs bist. Da ist das gern mal etwas unübersichtlich mit SVN.

@Hayo: Bei der 0.85 ist mir aufgefallen, dass der Status im 
A(c)quire-Menü nicht über einen Neustart des Systems hinweg gerettet 
wird. Stellt man also z.B. auf Denoising, schaltet das Gerät aus und 
wieder an, dann ist Denoising zwar aktiv (kann man schön an der leichten 
Schräglage der Flanken das Comp-Signals sehen), aber im Menü ist Normal 
mit einem Haken versehen. Man muss dann auch schon auf Averaging oder 
Denoising und dann wieder auf Normal drücken, um wirklich auf Normal zu 
kommen.

von Rolf W. (rowue)


Lesenswert?

Falk Willberg schrieb:
> Rolf Würdemann schrieb:
>
>> Hi Falk, (@all)
>>
>> es wäre nett, wenn bei einer Release ein Compilat bei wäre ;)
>
> Kein problem: make; gzip TomCat.flash; svn add TomCat.flash
> "svn: This client is too old to work with working copy '.'; please get a
> newer Subversion client"
> Watt? Die Version des Versionshandlingtools passt nicht zur aktuellen
> Version des Versionshandlingtools? Was eine %$&%@€&§$ !!

Das reicht danach, als ob da einmal mit einer aktuelleren Version
ausgecheckt wurde. Sprich: entweder bearbeitest Du den gleichen 
Check-Out von zwei Seiten aus, oder Du hattest einmal ein aktuelleres 
Svn auf dem System (kenne ich z.B. von OS X (10.5) und MacPorts, wo 
letzteres aktueller ist)

>
> Während ich also die Sourcen hole und mir ein neues svn baue, verschicke
> ich's mal im Anhang.
>
>> das Nios-CDK mag z.B. amd64 (Linux, 64Bit) nicht.
>
> Geht hier. Seltsam. Im Moment sitze ich am Notebook mit i586 unter'm
> Sonnenschirm, (dafür geht subversion nicht) aber auf dem Büro-PC ist
> SuSE 11.0 x86_64 (AMD) installiert und da läuft das NIOS-CDK.

o.k. - dann versuche ich es mal mit "-f" ;)
>
> Gruß,
> Falk

Grüße,

   rowue
> P.S.: Du kannst nicht zufällig QT ;-)

Ne (habe mal etwas unter perl mit gtk gespielt), aber a) kann ich es mir 
mal ansehen und b) kenne ich Leute (http://qucs.sourceforge.net/) die 
schon länger was mit Qt (3) machen (und die mensch mal fragen kann
wenn es Probleme gibt ;)

> P.P.S.: Die Version für's RAM kann ich nicht kompilieren, da fehlt mir
> das Makefile. Wenn Hayo wieder im Lande ist, kann er das ja mal
> schicken.

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Rolf Würdemann schrieb:
> Falk Willberg schrieb:

...

>>> das Nios-CDK mag z.B. amd64 (Linux, 64Bit) nicht.
>>
>> Geht hier.
...
> o.k. - dann versuche ich es mal mit "-f" ;)

Bei mir ist
1
cdk-nios-binutils-3.1-20040329
2
cdk-nios-libstdc++-3.1-20040329
3
cdk-nios-gcc-c++-3.1-20040329
4
cdk-nios-base-0.3-20031111
5
cdk-nios-libgloss-3.1-20040329
6
cdk-nios-newlib-3.1-20040329
7
cdk-nios-gcc-3.1-20040329
8
cdk-nios-related-tools-3.1-20040329
 installiert. OpenSuSE 11.0 x86_64. Die NIOS-binaries sind aber für 
32-Bit kompiliert.

Falk

von Rolf W. (rowue)


Lesenswert?

Falk Willberg schrieb:
> Rolf Würdemann schrieb:
>> Falk Willberg schrieb:
>
> ...
>
>>>> das Nios-CDK mag z.B. amd64 (Linux, 64Bit) nicht.
>>>
>>> Geht hier.
> ...
>> o.k. - dann versuche ich es mal mit "-f" ;)
>
> Bei mir ist[c]cdk-nios-binutils-3.1-20040329
> [...]

Das Problem lag zwischen den Ohren - ich hätte einfach

     dpkg --force-architecture -i PACKET

aufrufen müssen - so hat er (natürlich) rumgenörgelt, dass
die Packete nicht zu meinem System (Debian Lenny) passen.
Installiert, compiliert sauber durch ;)

Evtl. 'nen kleinen Kommentar in's Readme für die Debian
Packete (dann stolpert kein anderer drüber ;)

Btw: Könntest Du die Änderung des Makefiles (für das
RAM Image) noch in den Trunk übernehmen? Dann braucht
beim nächsten Release keiner dran zu denken ;)

>
> Falk


rowue

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Rolf Würdemann schrieb:
> Falk Willberg schrieb:

> Evtl. 'nen kleinen Kommentar in's Readme für die Debian
> Packete (dann stolpert kein anderer drüber ;)

Nur zu ;-)

> Btw: Könntest Du die Änderung des Makefiles (für das
> RAM Image) noch in den Trunk übernehmen? Dann braucht
> beim nächsten Release keiner dran zu denken ;)

Erledigt. Dabei habe ich auch die angezeigt Version auf 0.87 gesetzt. 
Dabei fällt mir ein, daß der Trunk ja mal eine 0.88 wird.

Falk

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Odic X. schrieb:
> Hallo Falk,
>
> ich habe mal ein paar Ideen zu den Sourcen der aktuellen FW
> aufgeschrieben. Sieh es einfach als Anregungen und übernimm, was dir
> sinnvoll erscheint....

Danke für die Anregungen. Vorläufig beschäftige ich mich mit der 
PC-Kommunikation, wenn Zeit ist.

> - Ich nehme an, das die Aufteilung der Sourcen noch weiter betrieben
> wird. Der Übersichtlichkeit halber würde ich *.cpp und *.h auf zwei
> Verzeichnisse aufteilen. /inc und /src bieten sich an. Wenn man für die
> Dateinamen der Scope-FW noch einen Prefix (z.B. ala 'TC_') einführt,
> könnte eine übersichtliche Aufteilung z.B. wie in der angehängten Datei
> dargestellt aussehen.
> (/lib beinhaltet ja keine libraries und könnte daher auch aufgelöst
> werden.)



> - Die Versionsnummer in 'Screenshot_0.4' widerspricht dem Gedanke, der
> hinter einem Versionsverwaltungssystem steht.

Ich weiß. Ich meine aber, daß irgendwo ein Stand gespeichert werden 
sollte, bei dem die PC-Clients mit der zugehörigen Firmware 
zusammenspielen.

> - Die History sowie die netten Orginalkommentare von Wittig Technologies
> würde ich aus 'tc_vars.cpp' rausnehmen und z.B. in eine /changelog.txt
> auslagern.

Ok.

> Wenn man das Verschieben bzw. Umbenennen in Verbindung mit Subversion
> richtig macht, bleibt auch die Historie der Dateien erhalten. Falls ich
> irgendwo aktiv werden soll, bitte Bescheid sagen.

Bescheid ;-) Ich erhebe keinen Anspruch auf ein Monopol auf 
Hausmeistertätigkeiten im Repository.

Ich hoffe nur, daß niemand größere Änderungen an veralteten Sourcen aus 
irgendwelchen .zip-Files vornimmt.

Falk

von Cra Z. (crazor)


Lesenswert?

Daniel H. schrieb:
> @Hayo: Bei der 0.85 ist mir aufgefallen, dass der Status im
> A(c)quire-Menü nicht über einen Neustart des Systems hinweg gerettet
> wird. Stellt man also z.B. auf Denoising, schaltet das Gerät aus und
> wieder an, dann ist Denoising zwar aktiv (kann man schön an der leichten
> Schräglage der Flanken das Comp-Signals sehen), aber im Menü ist Normal
> mit einem Haken versehen. Man muss dann auch schon auf Averaging oder
> Denoising und dann wieder auf Normal drücken, um wirklich auf Normal zu
> kommen.

Passiert auch bei der 0.86. Die lag noch aufm Desktop herum, ganz 
vergessen einzuspielen schäm

von Odic X. (odic)


Lesenswert?

Hmmm.... was muss ich anstellen, um aufs Repository commiten zu können?? 
(SF-Account habe ich)

von Rolf W. (rowue)


Lesenswert?

Odic X. schrieb:
> Hmmm.... was muss ich anstellen, um aufs Repository commiten zu können??
> (SF-Account habe ich)

Theoretisch: einfach bei Deinem SVN-Client "commit" sagen (svn ci) und 
Dir eine möglichst kurze und passende Beschreibung dessen, was Du getan 
hast überlegen und diese eingeben.

Praktisch kann es aber sein, dass Du erstmal die Write-Permissions auf 
das Repository brauchst ;)

Ansonsten gäbe es noch die Möglichkeit (wäre aber vorher zu 
diskutieren), ob Du mit svn diff einen Diff erstellst und dieses an 
ein Ticket im Trac hängst. So wird das z.B. bei MacPorts gemacht, wo 
nicht alle Port-Maintainer auf das Repository committen können. (Die, 
die es können, machen das dann direkt ;)

Grüße,

  rowue

PS: Der Diff kann dann mit "patch" einfach eingefügt und von berufener 
Seite committed werden ;)

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

Rolf Würdemann schrieb:
> Odic X. schrieb:
>> Hmmm.... was muss ich anstellen, um aufs Repository commiten zu können??
>> (SF-Account habe ich)

Mit dem subversion-Cli (Linux):
In das künftige Arbeitsverzeichnis wechseln,
1
svn checkout https://welecw2000a.svn.sourceforge.net/svnroot/welecw2000a/fpga/nios/oss/ # Firmware
2
svn checkout https://welecw2000a.svn.sourceforge.net/svnroot/welecw2000a/pc/w2000a-qtgui/ #GUI
3
svn checkout https://welecw2000a.svn.sourceforge.net/svnroot/welecw2000a/pc/w2000a-screenshot/ #Screenshot


> Theoretisch: einfach bei Deinem SVN-Client "commit" sagen (svn ci) und
> Dir eine möglichst kurze und passende Beschreibung dessen, was Du getan
> hast überlegen und diese eingeben.
>
> Praktisch kann es aber sein, dass Du erstmal die Write-Permissions auf
> das Repository brauchst ;)

Hat die nicht jeder?

Ich fand http://svnbook.red-bean.com/nightly/de/index.html hilfreich.

Falk

von Cra Z. (crazor)


Lesenswert?

Checkout ist anonym möglich, aber checkin nur mit SF.net Account und 
Freischaltung der Schreibrechte. Wenn einer der Oberbastler grünes Licht 
gibt (und ich den SF.net handle von Odic X. erfahre), kann ich das 
entsprechend einrichten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.