Ich habe mir (nach der Lektüre aller Kommentare hier) ein W2022A zugelegt. Da die PC-Software unter Linux nicht läuft, habe ich ein wenig am USB-Bus "geschnüffelt". Die Resultate habe ich mit libusb recht gut reproduzieren können. Ein paar Sachen, wie AC/DC-Kopplung umschalten gehen schon. Auch das Downloaden der Daten klappt, an die Interpretation gehe ich gerade heran. Nun die Frage: Hat schon jemand mehr Informationen über das USB-Protokoll? Gruß, Falk
Hi, vielleicht, falls nicht schon bekannt, es gibt ein QtDSO-Projekt (http://www.mtoussaint.de/qtdso.html), das für irgend (d.h. glaube eines, das es auch beim großen C gibt) DSO aktuell funktioniert. Aber wenn Du das Protokoll dafür hast, müßte es möglich sein, dieses an QtDSO anschließen zu können. Dann gäbe es dafür eine Oberfläche. Schönen Tag noch, Thomas
tom wrote: > Hi, > > vielleicht, falls nicht schon bekannt, es gibt ein QtDSO-Projekt > (http://www.mtoussaint.de/qtdso.html), Danke, kannte ich noch nicht. Das macht einen sehr guten Eindruck. Es funktioniert: - Tastendrücke simulieren (ohne SAVE/RECALL) - Horizontaltiming einstellen - Gitternetz in Farbe und Helligkeit ändern - Vertikalverschiebung und (teilw.) Triggerpegel einstellen - Empfindlichkeit einstellen - Download der gesampelten Daten. Abfrage der Einstellung geht teilweise. Damit kann ich schon mehr, als die zugehörige Software :-) Ich habe Welec/Wittig mal nach der Protokollbeschreibung gefragt. Falk
Hallo, ich würde gerne an diesem Projekt mitarbeiten, hab selber ein W2022A. Wirst du den Quelltext zur Verfügung stellen, oder muss ich von vorne anfangen? :) Gruß rme
rme wrote: > Hallo, > > ich würde gerne an diesem Projekt mitarbeiten, hab selber ein W2022A. > > Wirst du den Quelltext zur Verfügung stellen, oder muss ich von vorne > anfangen? :) Kein Problem. Ich warte nur noch, ob Wittig mir die Dokumentation zukommen läßt. Falschen USB-Kommandos können das Ding mächtig verwirren und beinahe unbrauchbar machen. Ich hatte schon das "Vergnügen" mir ein perl-script schreiben zu dürfen, um die Firmware via RS232 upzuloaden. Bisher habe ich nur das W2022A als weiteres Scope hinzugefügt. Der Download der Daten klappt zwar, dauert aber ca. 20 Sekunden.... Ich melde mich hier wieder. Gruß, Falk
Falk Willberg wrote: > Ich habe mir (nach der Lektüre aller Kommentare hier) ein W2022A > zugelegt. Dass Wittig pleite ist und sich moeglicherweise bald in Rauch aufloest haste dabei aber nicht ueberlesen, oder? Was gab es sonst fuer einen Grund?
Michael G. wrote: > Falk Willberg wrote: >> Ich habe mir (nach der Lektüre aller Kommentare hier) ein W2022A >> zugelegt. > > Dass Wittig pleite ist und sich moeglicherweise bald in Rauch aufloest > haste dabei aber nicht ueberlesen, oder? Nein > Was gab es sonst fuer einen Grund? Ich brauchte etwas besseres als das 20MHz-Gerät vom blauen Klaus. Einschließlich gebrauchten ebay-Krams hatte das W2022A für meine Zwecke das beste Preis-Leistungsverhältnis. Falk P.S.: "Your IP XXX is listed on the tor blacklist." You are not allowed to post kann ich zwar verstehen, schade finde ich es dennoch, daß ein TOR-Node, der kein Exit->Node ist, geblockt ist :-(
So, habe mir jetzt auch so ein Gerät über Ebay zugelegt. Bei dem Preis kann man wirklich kaum meckern. :-) Gerät läuft soweit auch. Scheint auf jeden Fall benutzbar zu sein. Firmware-Fehler hat es allerdings immer noch. Da bei mir auch nur Linux auf dem Rechner läuft, bin ich auch sehr an Deinem Fortschritt interessiert. Gibt es was neues? Ich probier auch gerne selber ein wenig aus. Kenne mich allerdings nur mit libusb aus. Schöne Grüsse Michael P.S.: Wenn Wittig die Firmware OpenSource machen würde, könnten sie wahrscheinlich sofort den doppelten Preis für das Gerät verlangen. Laut einigen Fotos im Netz scheint die "Denkarbeit" im Gerät ein Cyclone II zu übernehmen. Da sonst auf den Bildern kein weiterer Prozessor zu finden war, wird wohl ein Soft-Core-Prozessor im FPGA implementiert sein. Wäre schon nett, wenn man da selber was entwickeln könnte...
Michael wrote: > So, habe mir jetzt auch so ein Gerät über Ebay zugelegt. Bei dem Preis > kann man wirklich kaum meckern. :-) > > Gerät läuft soweit auch. Scheint auf jeden Fall benutzbar zu sein. > Firmware-Fehler hat es allerdings immer noch. Tja, ich benutze es ;-) > Da bei mir auch nur Linux auf dem Rechner läuft, bin ich auch sehr an > Deinem Fortschritt interessiert. Gibt es was neues? > > Ich probier auch gerne selber ein wenig aus. Kenne mich allerdings nur > mit libusb aus. Vorsicht! Mit der libusb kann man das Scope leicht ins Nirvana schicken. Dann hilft nur noch ein FW-Update via RS-232. Ich habe Herrn Wittig nochmal angeschrieben.... Gruß, Falk
>> So, habe mir jetzt auch so ein Gerät über Ebay zugelegt. Bei dem Preis >> kann man wirklich kaum meckern. :-) >> >> Gerät läuft soweit auch. Scheint auf jeden Fall benutzbar zu sein. >> Firmware-Fehler hat es allerdings immer noch. > >Tja, ich benutze es ;-) Und wie sind so Deine Erfahrungen? Ich habe es erst seit gestern (sehr schneller Versand übrigens) und habe nur ein paar Kleinigkeiten testen können. >Vorsicht! Mit der libusb kann man das Scope leicht ins Nirvana schicken. >Dann hilft nur noch ein FW-Update via RS-232. > >Ich habe Herrn Wittig nochmal angeschrieben.... Falk, was verwendest Du denn momentan zur Datenübertragung an einen Linux-Rechner? Ob Du was von Herrn Wittig kriegst, ist leider unwahrscheinlich. Laut Berichten im Netz sind die nur an den Verkäufen interessiert. Hast Du eine Webseite, wo Du ein paar Infos aus Deinen Experimenten zusammengestellt hast? Schöne Grüsse Michael
Michael wrote: >>> So, habe mir jetzt auch so ein Gerät über Ebay zugelegt. Bei dem Preis >>> kann man wirklich kaum meckern. :-) >>> >>> Gerät läuft soweit auch. Scheint auf jeden Fall benutzbar zu sein. >>> Firmware-Fehler hat es allerdings immer noch. >> >>Tja, ich benutze es ;-) > > Und wie sind so Deine Erfahrungen? Ich habe es erst seit gestern (sehr > schneller Versand übrigens) und habe nur ein paar Kleinigkeiten testen > können. Schwer zu sagen. Ich habe den Vergleich mit einem LG2020 2x20MHz analog... >>Vorsicht! Mit der libusb kann man das Scope leicht ins Nirvana schicken. >>Dann hilft nur noch ein FW-Update via RS-232. >> >>Ich habe Herrn Wittig nochmal angeschrieben.... > > Falk, was verwendest Du denn momentan zur Datenübertragung an einen > Linux-Rechner? RS232 mit 115200 funktioniert. "h" gibt eine Hilfe aus, "v" listet ein paar "Variablen" auf. (Wenn Du mir diese Ausgabe Deines Scopes mal zusenden könntest, könnte ich evtl. die Kalibrierung wieder hinbekommen) Wenn Du die linken zwei Softkeys gleichzeitig drückst, kommst Du in eine Art Monitor des Controllers. So habe ich das Firmware-Update über RS232 machen können. Die USB-Kommunikation habe ich mit usbmonitor unter Linux und der Wittig-Software in VMWare geloggt. Mit der libusb sollte man alles ein/verstellen können. > Ob Du was von Herrn Wittig kriegst, ist leider unwahrscheinlich. Laut > Berichten im Netz sind die nur an den Verkäufen interessiert. Er hat mir mindestens einmal geantwortet. > Hast Du eine Webseite, wo Du ein paar Infos aus Deinen Experimenten > zusammengestellt hast? Nein, denn die Experimente können eben schnell zu größeren Problemen führen. Ich kann Dir aber gerne den Datenwust zukommen lassen. Wenn Du das alles ausprobiert hast, wird Dein Scope allerdings krumm und schief sein ;-) Gruß, Falk
Danke für die Infos, Falk! Werde mir heute abend mal den Monitor-Modus anschauen, zudem mal die RS232 testen. Wenn ich die Ausgabe der Variablen habe, poste ich sie. Bezüglich USB ausprobieren: Habe früher auch schon einmal ein paar Dinge geloggt und dadurch Teile eines Protokolls entziffert. War nicht gerade simpel, aber wenn es eben kein offizielles Protokoll gibt... Danke übrigens für die Warnung. Werde erstmal vorsichtig sein. Brauche das Oszilloskop noch, wenn möglich, nicht krumm und schief. Habe nämlich kein zweites. Hast Du schon ein paar Ergebnisse aus den Logs lesen können? Grüsse Michael
Michael wrote:
...
> Hast Du schon ein paar Ergebnisse aus den Logs lesen können?
Ja, einiges.
Beispiel:
... S Io:3:016:1 -115:1 64 = 250e0901 (und 7 mal) 00000000 ...
aus dem Log bedeutet, daß das Kommando 0x250e0901 die Daten aus dem
Speicher lädt.
Es wird jeweils ein 32-Bit-Wort als Kommando, und sieben 32-Bit-Worte
als Parameter geschickt.
Timebase-Einstellung: 0x250301nn, wobei nn=0x02 10ns, 0x03=20ns ...
0x20:100s bedeutet. Hierbei scheinen die restlichen sieben Worte ohne
Bedeutung zu sein.
0x2506xxnn: Tastendruck
xx 01-06: Softkey 1..6
07:Kanal1 nn?
08:Math
09:Kanal2 nn?
0a:Kanal2 nn?
0b:Kanal2 nn?
und so weiter...
Du kannst das alles von mir zur freien Verwendung bekommen.
Vielleicht richte ich am Wochenende mal ein Forum zum Gedankenaustausch
ein.
Gruß,
Falk
Hallo Falk Hatte heute abend nur kurz Zeit. Der Trick mit den zwei linken Softkeys scheint bei mir nicht den gleichen Effekt zu haben. Bei mir wird nur der Bildschirm weiss und dann schwarz, sobald man die Tasten wieder loslässt. Danach leuchten einige der Tasten rechts auf, scheinbar ohne Sinn. Wenn man dann eine Taste drückt, gibt es einen Neustart. Hmm, werde morgen mal schauen, ob ich das RS232 testen kann. Wenn Du ein Forum einrichten könntest, wäre das nicht schlecht. Weiss zwar nicht, wie hoch das Interesse ist, aber ich glaube, das Potential für das Gerät wäre eigentlich nicht schlecht. Grüsse Michael
Michael wrote: > Hallo Falk > > Hatte heute abend nur kurz Zeit. Der Trick mit den zwei linken Softkeys > scheint bei mir nicht den gleichen Effekt zu haben. Bei mir wird nur der > Bildschirm weiss und dann schwarz, sobald man die Tasten wieder > loslässt. Danach leuchten einige der Tasten rechts auf, scheinbar ohne > Sinn. Wenn man dann eine Taste drückt, gibt es einen Neustart. In diesem Zustand erscheint auf der RS232 ein Prompt. Manchmal nicht beim ersten Versuch. Gute Nacht, Falk
Also generell scheint es zu funktionieren. Zwar ist es bei mir der Key ",", der die Variablen ausdruckt, aber sonst kriege ich die Werte. Wie man Werte ändert, geschweige denn ein Firmware-Update macht, habe ich aber noch nicht herausgefunden. Auch der Monitor-Modus ist ein wenig seltsam. Je nach Terminal-Programm kann ich entweder gar nichts machen, oder ich kriege bei jedem Return nur so etwas wie ein Speicher-Dump (fortlaufende Hexadresse und dann lauter FF). Naja, aber schon einmal ein Anfang. Hier der Ausdruck der Variablen. Hoffe, Du kannst was anfangen damit: ************************************************************************ ***** Variables * ************************************************************************ ***** * Selected_Timebase : 4 * Debug Mode : 0 * * SIGNALFaktor_idx : 0 * ADC Debug Mode : 0 * * Timebase_Offset_Pos : -300 * Command Debug Mode : 0 * * SIGNAL_OFFSET : 0 * Calc Mode : 0 * * correction : 18 * ExtraTrg Mode : 0 * * Signal Start : 7892 * Search Mode : 0 * * Signal Stop : 8492 * Search Auto : 1 * * Signal Start Calc : 1 * Connect Vals : 1 * * Signal Stop Calc : 601 * Continius : 1 * * Zoom Faktor : 1.000 * SingleMode : 0 * * Offset Faktor : 26.307 * Single Restart : 0 * * Multiplier Enabled : 1 * adc started : 0 * * ADC_Data_Available : 0 * VSync Needed : 1 * * Keyboard_Changed : 0 * ZFT_float : 1.000000 * * Triggering : 1 * DrawSignals Needed : 0 * * SelectedTriggerSource : 1 * SelectedTriggerSourceOld : 1 * * UserIface_active : 0 * OneShotRestart : 0 * * ctrl_reg : 47 * adc_ctrl_reg : 81c1 * * pre_reg : 6e * channel_Adr_add : 5f02 * * trg_val_CHI_reg : a6 * trg_val_CHII_reg : a0 * * trg_val_CHIII_reg : a0 * trg_val_CHIV_reg : a0 * * trig_range_reg : 0 * trig_holdoff_reg : 0 * * trig_width_reg : 0 * * * adc_change12_reg : 2020800 * adc_change34_reg : 0 * * adc_ctr12_reg : 0 * adc_ctr34_reg : 0 * * Selected_Timebase : 4 * SIGNALFaktor_idx : 0 * * SIGNAL_StartFr_idx : 0 * timebase_reg : ffffffff * * Display_Timebase : 4 * dmode_Selected_Timebase : 1 * * dmode_SIGNALFaktor_idx : 0 * dmode_factor : 0 * * dmode_SIGNAL_StartFr_idx: 0 * Cursor_Delayed_1 : 188 * * Cursor_Delayed_2 : 248 * Cursor_Delayed_Size : 60 * * ROLLMODE_TB : 3 * ROLLMODE_OFFSET : 600 * * dmode_Window_Offset_Pos : -82 * * * SelectedEdgeExtern : 0 * TriggerWay : 1 * * Trigger_Pos_CH1 : 78 * Trigger_Pos_CH2 : 288 * * Trigger_Pos_CH3 : 278 * Trigger_Pos_CH4 : 170 * * Trigger_Pos_CHE : 15 * FirStartCH_delayed : 290 * * Selected_Voltage_CH1 : 8 * CH1_DAC_Offset : 8283 * * Selected_Voltage_CH2 : 5 * CH2_DAC_Offset : 8597 * * Selected_Voltage_CH3 : 9 * CH3_DAC_Offset : 8192 * * Selected_Voltage_CH4 : 9 * CH4_DAC_Offset : 8192 * * Virtual_ZeroLevelCH1 : 0 * ZeroLevelCH1 : 192 * * Virtual_ZeroLevelCH2 : 96 * ZeroLevelCH2 : 288 * * Virtual_ZeroLevelCH3 : 50 * ZeroLevelCH3 : 278 * * Virtual_ZeroLevelCH4 : 120 * ZeroLevelCH4 : 170 * * CH1_Zero_Offset : 0 * signal_zoomed1 : 0 * * Ch1_Zero_Sign_Offset_1 : 62 * Ch1_Zero_Sign_Offset_2 : 121 * * Ch1_Zero_Sign_Offset_3 : 91 * FirStartCH : 5 * * CH1_DAC_1 : 0 * CH1_DAC_2 : 0 * * CH1_DAC_3 : 0 * CH1_DAC_4 : 0 * * SwitchesCH1 : 201 * SwitchesCH2 : 197 * * SwitchesCH3 : 213 * SwitchesCH4 : 213 * * SwitchesTB : 0 * Trigger_Offset_Pos : 162 * * HoldOff_Value : 0 * trig_holdoff_reg : 0 * * CVP_Real1 : 103 * CVP_Real2 : 203 * * CVP_RealXY1 : 103 * CVP_RealXY2 : 203 * * CHP_Real1 : 103 * CHP_Real1 : 203 * * m2k_filter_Mode : 0 * kill_adc : 0 * * zeros_filter_Mode : 0 * tc_hw_version : 8c7 * * draw_dm_ixstart : 0 * draw_dm_ixstop : 0 * * draw_dm_ixfactor : 0 * draw_dm_ixoffset : 0 * * dmode_Window_Offset_Pos : -82 * dmode_Zoom_Index_Table : 1 * * dmode_SIG_Start_Stop : 7892 * dmode_Offset_Faktor_Tab : 26.306660 * * ZFT_float : 1.000 * ZFT_float_dmode : 1.000 * * ZIT_short : 1 * ZIT_short_dmode : 1 * * Trig_Pos_Mem : 300 * Trig_Pos_Display : 200 * * Trig_Pos_Zoom : 1.000 * Trig_Mem_Pos : 100 * * Trig_Pos_Mem_old : 300 * Trig_Pos_Display_old : 220 * * Trig_Pos_Zoom_old : 1.000 * Trig_Mem_Pos_old : -300 * * OFT_float : 26.307 * OFT_float_old : 26.307 * ************************************************************************ ***** Schöne Grüsse Michael
Michael wrote: > Also generell scheint es zu funktionieren. Zwar ist es bei mir der Key > ",", der die Variablen ausdruckt, aber sonst kriege ich die Werte. Stimmt, da habe ich mich vertan.... > Wie man Werte ändert, geschweige denn ein Firmware-Update macht, habe > ich aber noch nicht herausgefunden. Im wesentlichen wird das Firmware-File W2000.flash auf die serielle gesendet. > Auch der Monitor-Modus ist ein wenig > seltsam. Je nach Terminal-Programm kann ich entweder gar nichts machen, > oder ich kriege bei jedem Return nur so etwas wie ein Speicher-Dump > (fortlaufende Hexadresse und dann lauter FF). Ich glaube, hier müßte ich damals den Einstieg gefunden haben: http://www.altera.com/support/ip/processors/nios2/ips-nios2_support.html > Naja, aber schon einmal ein Anfang. > > Hier der Ausdruck der Variablen. Hoffe, Du kannst was anfangen damit: Vielen Dank. Mal sehen, ob den Unterschieden zu meinen Daten etwas bzgl. der Kalibrierung zu entnehmen ist. Gruß, Falk
Also, wenn Du Deine Infos (z.T.) von der NIOSII-Seite hast, dann hätte sich ja auch die Frage geklärt nach dem Soft-Core Prozessor :-) Ich muss mich da mal einlesen. Ist mir immer noch recht unklar, wo die Firmware überhaupt gespeichert wird. Habe auf den Bildern von Kurts Werkstatt nur das Konfigurations-Flash für den FPGA gesehen. Schöne Grüsse Michael P.S.: Wie willst Du denn die Variablen verändern?
Michael wrote:
> P.S.: Wie willst Du denn die Variablen verändern?
Über USB. Ich sende 8x8 Byte mit libusb.
Ein Beispiel aus meiner Liste:
0x25030cLL ist das Kommando (in LL ist schon ein Parameter)
Data1..7 sind die sieben folgenden Bytes, die teilw. Parameter
enthalten.
Ich habe meine Liste mal angehängt.
VORSICHT Jedes Kommando kann unbekannte Nebeneffekte haben!
1 | 0x25030cLL: Kanal1 LL: 01:2mV, 3:10mV, 4:20mV...b:5V |
2 | Data1: 0xNA000000, A: Probe 0:0.1:1..7:20:1, Probe PDF,Field 2 m2k_filter_Mode 0/1 (0) |
3 | 0xAABBCCDD: BBCC SwitchesCH1+0300 DD Virtual_ZeroLevelCH1-8192 L (0096) |
4 | Data2: 0xAABBCCDD: AA: Virtual_ZeroLevelCH1-8192 H, BB:CH1_DAC_1(00), CC: SwitchesCH1 |
5 | DD: CH1_DAC_2 (00) |
6 | Data3: 0x00NN00MM CH1_DAC_3=NN(00) CH1_DAC_4=MM(00) |
7 | Data4: 0xAABBCCDD BB: FirStartCH CCDD: Ch1_Zero_Sign_Offset_1(126) |
8 | Data5: 0xAABBCCDD: |
9 | +-------- Bit0: Multiplier |
10 | Data6: 0xHHLLhhll: Ch1_Zero_Sign_Offset_3=HHLL(143), Ch1_Zero_Sign_Offset_2=hhll(106) |
11 | Data7: 0xnLnnnnnn: kill_adc=L |
12 | 0xFnnnnnnn: Probe "PDF" |
13 | 0x1nnnnnnn: Probe "Field 2" |
14 | |
15 | 0xnn3Xnnnn: ??? |
16 | 0xnn3nXnnn: ??? (Schaltet relais um) |
17 | 0xnn3nnXnn: ??? |
Gruß, Falk
Wow, da hast Du ja schon einiges rausgefunden!!! Mit dem NIOS kenn ich mich überhaupt nicht aus. Wird wohl was dauern, bis ich ein paar interessante Punkte rausfinden kann... Schöne Grüsse Michael
Michael wrote: ... > Wenn Du ein Forum einrichten könntest, wäre das nicht schlecht. http://groups.google.com/group/welec-dso Alle Interessenten, Bastler, Besserwisser, Wirklichwisser, etc. sind eingeladen, sich konstruktiv zu beteiligen. Falk
Hallo zusammen, wie im "Wittig konkurs"-Thread schon geschrieben. Ich hab jetzt meinen versprochenen Source-Code für eine Windows-DLL, eine Labview-Bibliothek (sehr rudimentär) und das Kommunikationsprotokoll online gestellt. Der Umstieg auf libusb sollte sich nicht allzu schwierig gestalten, hierzu fehlt mir aber die Zeit. Wer also Lust hat findet den Source-Code (GPLv3) auf meiner Homepage: http://schaeuble.info/category/jochen/w2000a Es wäre nett, wenn mir Änderungen wieder zurückgespielt würden. Dann kann ich sie in das "offizielle" Repository übernehmen. Viele Grüße, Jochen
Hallo, habe mir im Oktober 2008 ein W2012A zugelegt und ich bin sehr zufrieden. Für den Preis von 300€ kann man die kleinen Mängel vernachlässigen. Allerdings ist das Gerät mit der Softwareversion 1.4 ausgestattet. Gruß Egon125
Watt bist Du denn fürn Vogel - hier in 10 Threads denselben Text posten...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.