@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
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.
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.
Gast
#1331183
@Alexis Sch. (seraptin): Nicht vergessen, wenn alles passt die Zeitbasis verstellen. Erst dann werden die Korrekturwerte im Flash gespeichert.
@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.
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??
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
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
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
@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
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
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
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.
@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?
@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
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.)
@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
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
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
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
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
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
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
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
Ah, zu 2. hab ich gerade gesehen dass mit der Option -l wie gehabt gewartet wird. Hayo
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
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
@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
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 | |
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
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
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...
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
> 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
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
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
Gast
#1332622
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
@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
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
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
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.
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
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?
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.
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
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
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 | |
2 | |
3 | |
4 | |
. Das könnte ein Hinweis sein, daß im FPGA ein fester Teiler ist. Im USB-UART ist fixed_baud übrigens "0"... Falk
Gast
#1333158
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
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
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
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
Gast
#1333208
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
@Roberto Ja ich weiß - default Setup hilft in dem Fall. -> Ist in Arbeit Gruß Hayo
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
Gast
#1333603
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
Wie schon gesagt, ist noch in Arbeit! Gruß Hayo
@ Roberto: Danke, ich dachte schon, mein Scope ist defekt. Vor .83 hatte ich solche Probleme mit geänderten Einstellungen nicht... Michel
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
Gast
#1334664
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 ;-)
Geht nicht - Frauchen sitzt auch am Computer und braucht meinen Support. Hayo
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
Ja wie geil ist das denn?? Wie mit dem Lineal gezogen! Super! Lothar
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
Gast
#1334777
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...
Nix da, hier wird kein Sample verschenkt! :-D /Hannes
@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
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.
@Robert Danke für den Hinweis, hatte ich mit der heißen Nadel gestrickt und nicht geprüft. Beim nächste Release ;-) Hayo
Gast
#1334845
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
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
Gast
#1334868
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
@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
@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
@Lothar Ich war selbst überrascht als ich das Ergebnis sah. Deshalb auch noch das spontane neue Release. Hayo
Gast
#1335003
Wäre jemand so freundlich bei Gelegenheit einen Screenshot mit/ohne Mittelwertbildung im Vergleich einzustellen. Ich würde diese Verbesserung auch gerne sehen.
@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
Ohne Mittelwert
Mit Mittelwert
@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
Einmal ohne Rauschunterdrückung...
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!
Oh da läuft wohl was beim Screenshot etwas schief - also das war mit Rauschunterdrückung und hier ohne. Hayo
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
Scheint die zweistufige Logik zu sein, anscheinend ist das Timing noch nicht ganz optimal. Hayo
@Falk Da hast du scheinbar eine bevorzugte Behandlung! Ich warte seit dem 1.7.2009 auf das bei Ebay erworbene W2024A! Martin
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
Gast
#1335122
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
@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
Gast
#1335145
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
Hallo, kann mir einer die 0.85 hier reinstellen? SF liefert gerade einen Fehler beim Download. Danke
0.85 hat Hayo schon oben reingestellt: Beitrag "Re: Wittig(welec) DSO W20xxA Open Source Firmware"
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
Gast
#1335277
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
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.
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
@ 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
@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
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
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
@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
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
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
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...) ;-)
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
@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
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
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
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...
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
Gast
#1335589
wird wahrscheinlich als HID angemeldet und mit was handgefrickeltem ausgelesen....
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
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
Gast
#1335658
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.
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
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
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.
Gast
#1335762
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
Gast
#1335804
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
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
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 ;)
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
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
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
hab mal Nägel mit Köpfen gemacht und das angepasst. Langsam werde ich war mit subversion
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 | |
2 | |
3 | |
4 | |
anzulegen. In hardware_t.cpp habe ich (möglichst wenig) geändert. Ich würde gerne alles zwischen
1 | |
2 | |
3 | |
4 | |
5 | |
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
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
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 | |
2 | |
3 | |
4 | |
??
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.
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
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
Das siehst du richtig. Bis zu dem Kapitel bin ich noch nicht gekommen ;-)
Was ist eigentlich der Ordner "fft"? Ist das ein branch?
Hallo Stefan, > Was ist eigentlich der Ordner "fft"? Ist das ein branch? Nein, siehe: Beitrag "Re: Wittig(welec) DSO W20xxA Open Source Firmware" Niklas
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?
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
Nach dem wir die einzigen momentan sind, nutze ich gleich mal die Chance...
Stefan E. schrieb: > Nach dem wir die einzigen momentan sind, nutze ich gleich mal die > Chance... Ich versuche das auch mit w2000a-qtgui. Falk
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
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?
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
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
Gast
#1336219
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
Wollte die Dateien gerade nachtragen. Warst ne Minute schneller. Ich habe irgendwie den falschen Status kopiert. Vielleicht hat ein "svn updte" gefehlt. Sorry...
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 | |
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
Gast
#1336243
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
Gast
#1336285
@ Hayo: damit das hier nicht untergeht: Schönen Urlaub, ich bin sehr, sehr neidisch! Und das Notebook ist doch sicher dabei? Gruß, Guido
Gast
#1336509
..und nicht vergessen, das Oszi mit in die Tasche zu schmuggeln .....
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
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...
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
@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
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 | |
2 | |
Die Timebase ändert sich auch, aber die Statusanzeige nicht. Sobald dieser erste Punkt funktioniert, werde ich einen commit im trunk machen. Gruß, Falk
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
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
Ok, hattest Du meinen Vorschlag von gestern zur Auslagerung des Signalprocessing zur Kenntnis genommen? Hayo
Hayo W. schrieb: > Ok, hattest Du meinen Vorschlag von gestern zur Auslagerung des > Signalprocessing zur Kenntnis genommen? Ja, damit könnte ich anfangen. Falk
Ü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
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
Gast
#1336947
> GUI damals hingeschissen hatte
Wie sagte schon mein Opa:
Was ist das wichtigste beim schweißen?? - das W!!!!
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
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
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 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
Gruß, Falk
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 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
> > Gruß, > Falk Hayo
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
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
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"...
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
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
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
@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
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
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
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
Gast
#1337421
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
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
Den Stand er 0.84er hab ich mal als Tag hinzugefügt, damit das professionell aussieht ;-) Gruß, Stefan
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
@rowue Nördlicher Balkan (Harburger Berge) Hayo
Gast
#1337611
@Falk von http://www.mikrocontroller.net/attachment/54374/FW1.2.BF.0.86beta.zip Ich hab uploadserver ohne Anmeldung gefunden, hat bißschen gedauert weil ich nur 550kbps upload rate hab: http://www.file-upload.net/download-1767284/Nios-Cygwin-W2000A.rar.html http://www.file-upload.net/download-1767520/Nios-Cygwin-W2000A.rar.html Gruß, Ben
Ok, danke! Download hat geklappt. Wenn ich das richtig sehe gehen aber beide Links auf die selbe Datei, oder? Hayo
Gast
#1337622
Ja richtig, ich hab 2 mal hochgeladen falls ein error hätte. Hat funktioniert? Ben
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
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
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
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.
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
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 | |
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.
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.
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
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.
@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.
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.
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 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
installiert. OpenSuSE 11.0 x86_64. Die NIOS-binaries sind aber für 32-Bit kompiliert. Falk
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
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
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
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
Hmmm.... was muss ich anstellen, um aufs Repository commiten zu können?? (SF-Account habe ich)
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 ;)
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 | |
2 | |
3 | |
> 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
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.




