Zurück zum DSO-USB-Tool.

Neuigkeiten

Programm 2015-01-02

Code und Programme 2013-09-27

Code und Programme 2013-02-24

Programme 2013-02-23

Code und Programme 2013-02-16

Code und Programme 2013-02-08

Code und Programme 2013-02-07

Code und Programme 2012-07-17

Code und Programme 2012-06-10

Code und Programme 2012-06-09

Code und Programme 2012-04-27

Mac OS X App vom 2012-04-24b

Code und Exe vom 2012-04-24

- Das DSO-USB-Tool kann auch unter Windows mit der libusb-win32-DLL und Treiber auf das DSO zugreifen. Vorteil gibt es keinen, außer das ich damit noch keinen Bluescreen produziert habe und die Zugriffe auf das DSO mit einem Zeitlimit erfolgen, das DSO-USB-Tool friert damit nicht mehr ein. Wenn keine Daten vom DSO gelesen werden können, muss man die USB-Verbindung trennen und das DSO neu starten.

Mac OS X App vom 2012-04-23

- Die erste Version für Mac OS X bereitgestellt. Es funktioniert alles gleich wie bei der Windows-Version, es fehlt nur die Vollbildanzeige bei der Bildschirmkopie. Nach dem Start muss das Hakerl bei 'Use LibUSB0' händisch gesetzt werden. In der Ausgabe sollte dann die Zeile 'Gerät gefunden - Vendor-ID 0x49F - Product-ID 0x505A' erscheinen.
Bei der 'Wave'-Darstellung hat sich nichts gebessert, das Programm bleibt oft hängen wenn man am DSO gleichzeitig Einstellungen ändert.
Vor dem erstenmal Abholen der Bildschirmkopie, die 'Settings' einlesen oder einen Shell-Befehl ausführen, ansonst funktioniert es noch nicht.
HINWEIS: Das Programm frisst Speicher bei 'Screencopy' und 'Wave', wenn man die Maus bewegt wird der Speicher wieder freigegeben!?

Code und Exe vom 2012-04-17

- Anzeigefehler bei der Seite 'Settings' korrigiert, betrifft das Handheld-DSO.
- Die Prozedur 'USBRead' testweise für den Empfang von zwei Datenpaketen geändert, betrifft das Handheld-DSO. Die unveränderte Prozedur ist noch mit dem Namen 'USBRead_Original' vorhanden.
- Bei der Seite 'Other' das Schreiben eines FPGA-Registers hinzugefügt.
- Bei der Seite 'Settings' eine neue Spalte eingefügt, mit der Hex-Darstellung der Sys-Daten.
- Bei der Seite 'Other' das Lesen eines FPGA-Registers hinzugefügt.

Code und Exe vom 2012-04-14

- Einige Änderungen für die Handheld-DSOs eingefügt, auf Anregung und Tests von Thomas R. Wenn in Real Studio alle Warnings aktiviert sind "Project -> Warnings..." findet man nach "Analyze Project" die Hinweise "#Pragma Warning "Temporär: Handheld - 20120414" und kann sie leicht anspringen. Bei den normalen Bench-DSOs wirken sich die Änderungen bei meinen Tests nicht aus.

Code und Exe vom 2012-04-13

- Die Kanäle werden jetzt mitverschoben wenn das DSO gestoppt ist und man die Position ändert.
- Die Triggereinstellung bei der Kurvendarstellung hinzugefügt.
- Die Kanaleinstellungen bei der Kurvendarstellung hinzugefügt.

Code und Exe vom 2012-04-12

- Das ständige Einlesen der DSO-Einstellungen wurde entfernt, dafür wird vor den einmaligen Befehlen die neue Prozedur 'DSOIdle' aufgerufen. Das Tool bleibt bei der Kurvendarstellung leider noch hängen wenn die Kanäle verschoben werden.
- Die Daten für Bildschirmkopie, Sample-Daten, Datei schreiben und lesen sowie der Kurvendarstellung, werden vom DSO mit Hilfe von Threads gelesen, damit bleibt die Oberfläche gut bedienbar.
- Im Module 'ModuleDSO' fast jede Prozedur überarbeitet, kontrolliert und getestet, sowie Ungereimtheiten bei den Rückgabewerten beseitigt, z.B. von Integer 0 auf Boolean True/False geändert. Und bei fast allen DSO-Prozeduren wird als Parameter jetzt eine Fehlermeldung zurückgegeben wenn notwendig. Auch alle Rückgaben vom DSO werden ausgewertet wo es möglich ist.
- Der USB-Worker wurde entfernt, es wird nur mehr direkt mit dem USB-Treiber kommuniziert.

Code und Exe vom 2012-04-10b

- Bei den Prozeduren 'DSOWriteFile' und 'DSOUpdateFile' wurde nicht komplett die Kommunikation mit dem DSO geändert, wenn zwischen USB-Worker und Direct-USB im Log-Fenster gewechselt wurde.

Code und Exe vom 2012-04-10

- Das wird die letzte Version sein die mit Hilfe des USB-Workers im Hintergrund mit dem DSO kommuniziert. Mehr dazu bei der Neuigkeit vom 2012-04-09c.
- Einige Prozeduren beschleunigt, wirkt sich in der Summe aber nicht aus.
- Die Prozedur 'GetDSOPaketChecksum' gibt jetzt die Prüfsumme in Abhängigkeit der Protokollangaben zurück, und nicht immer nur das letzte Byte vom DSO-Paket.

Code und Exe vom 2012-04-09c

- Bei dem Log-Fenster gibt es eine neue Option 'Use USB-Worker'. Aktiviert wird wie bis jetzt, der USB-Worker im Hintergrund zur Kommunikation mit dem USB-Treiber benutzt. Deaktiviert kommuniziert das Programm direkt mit dem USB-Treiber, es geht alles flotter, aber es kann auch leichter zum Einfrieren des Programm kommen. Es genügt dann meist die USB-Verbindung zu unterbrechen, dann geht es weiter.

Code und Exe vom 2012-04-09b

- Die Darstellung der Kurven stabiler gemacht wenn nicht der passende Triggerstatus vorhanden ist. Die Kurven werden dann mit den alten Daten grau bzw. der ausgewählten Farbe dargestellt. 'Wave Options' -> 'Channel has old Data'. Betrifft vorallem 8 bis 40 ms/DIV.
- Die Update-Rate der Kurvendarstellung etwas erhöht, und die Pause beim Verschieben des Trigger-Kanals entfernt.
- Kommentare im Code aktualisiert.

Code und Exe vom 2012-04-09

- Kleine Korrekturen, wie Alt+F4 geht jetzt, der 'Wave Options'-Dialog läßt sich mit 'Esc' beenden.
- Änderung beim Auslesen der Sample-Daten und der gleichzeitigen Kurvendarstellung.
- Es wird jede halbe Sekunde die DSO-Einstellungen gelesen um das DSO bei Laune zu halten. Es muss deswegen manchmal mehrmals auf die Schaltflächen geklickt werden bis sie reagieren. Das wird noch geändert wenn sich das so bewährt.
- Überarbeitung der zwei Prozeduren für die Verarbeitung der DSO-Datenpakete, die halten sich jetzt an das Protokoll.

Code und Exe vom 2012-04-07b

- Es wird eine Pause beim Abholen der Sample-Daten eingefügt wenn der Trigger-Kanal bewegt wird. Jetzt kann man fast gefahrlos am DSO kurbeln, während die Kurvendarstellung aktiv ist.

Code und Exe vom 2012-04-07

- Das Programm ist bei der Funktion 'Wave' jetzt stabiler, es wird der Triggerstatus berücksichtigt. Man kann jetzt mehr am DSO umstellen ohne das es sofort einen Timeout im Programm gibt.
- Die Darstellung der Kurven von Kanal 1 und 2 funktioniert jetzt vollständig.
- Bei 'Settings' die Menünamen zu '[CONTROL-MENUID]' eingefügt, und die Spalte 'SysData' ebenfalls editierbar gemacht, ansonst konnte man keine eigenen Werte bei einer Auswahlliste eingeben.
- Bei den 'Settings' wird die ausgewählte Zeile in den sichtbaren Bereich gescrollt wenn die Einstellungen erneut gelesen werden.
- Die Darstellung der Kurven funktioniert schon wenn mehr Samples als Pixel vorhanden sind.
- Bei der 'Wave'-Darstellung funktioniert jetzt die Positionsanzeige der beiden Kanäle und der vertikale Trigger.
- Bei der Prozedur 'DSOCalcFineTuningVolt' und den'DSOGetSettingsParameter...'-Prozeduren die Übergabe- und Rückgabewerte auf Double umgestellt.

Code und Exe vom 2012-04-05

- Ein paar Fehler behoben, habe mich durch den RealBasic-Bug verwirren lassen und dadurch einen Fehler bei der Berechnung der Sample-Daten als CSV eingbaut.

Code und Exe vom 2012-04-04

- Die Funktion 'Wave' kann den horizontalen Trigger live darstellen, passt sich an die Fenstergröße an und berücksichtigt das Menü am DSO, ob es ein- oder ausgeblendet ist.
- Ein paar Fehler bei der Anzeige der 'Settings' ausgebessert, RealBasic hat Bugs bei Int64 und der Str()-Funktion unter 32-Bit Systemen.

Code und Exe vom 2012-04-02

- Der Titel der Fenster war falsch, es wurde der Konstantenname statt dessen Inhalt angezeigt.

Code und Exe vom 2012-04-01

- Die Berechnung der CSV-Sample-Daten wurde geändert. Ich vermute die Sample-Daten sind auf 10,2 DIVs bzw. 510 Pixel interne Bildschirmhöhe bezogen. Damit ergeben sich 'gerade' Werte der umgerechneten Spannungen für die Sample-Daten.
- Modul 'ModuleDSO' komplett von Zugriffen auf Fenster usw. bereinigt, ist jetzt eigenständig.

Code und Exe vom 2012-03-31

- Die Prozeduren 'DSOWriteFile' und 'DSOUpdateFile' überarbeitet. 'DSOUpdateFile' sollte nicht benutzt werden, funktioniert im Moment auch nicht.
- Bei der Funktion 'Log' ein Option für den USB-Worker hinzugefügt, ist nur für einen Test was besser funktioniert. Bei einem Timeout wird der USB-Worker entweder beendet und neu gestartet, was aber auch nicht immer funktioniert. Oder es wird nur die USB-Verbindung sozusagen geleert, hilft natürlich auch nicht immer, es ist ein Krampf mit dem USB-Treiber :-(

Code und Exe vom 2012-03-30b

- Die Funktion 'Read File' heißt jetzt 'Read/Write File', eine entsprechende Prozedur 'DSOWriteFile' gibt es auch.
- Die Funktion 'Other' um den Signalton erweitert, die Prozedur 'DSOBuzzer' gibt es dafür.

Code und Exe vom 2012-03-30

- Einige Fehler beim Speichern der Sample-Daten als CSV entdeckt, jetzt sollte alles richtig sein. Bitte beachten, die Sample-Daten sind die gefilterten Samples für das 'Window-Timebase'-Fenster.
- Die Kanaleinstellung 'Fine Tuning' wird jetzt berücksichtigt.

Code und Exe vom 2012-03-29b

- Die Fortschrittsanzeige beim Speichern der Sample-Daten war falsch wenn mehr als 64K Daten gespeichert wurden. Das Programm arbeitete noch, man sah aber keine Änderung mehr bis es fertig war.

Code und Exe vom 2012-03-29

- Die Funktion 'Sample Data' um das Speichern der Sample-Daten erweitert. Gehört noch richtig getestet!
- Parameter für 'DSOGetSettingsParameter' geändert, von UInt64 auf Int64, damit werden auch negative Werte in den 'Settings' richtig dargestellt.
- Neue Prozedur 'DSOGetSettingsParameterBaseValue'.

Code und Exe vom 2012-03-27b

- Auswertung und Änderung der DSO-Einstellungen mit leserlicher Beschreibung, z.B. '6' ist dann '200 mV'. Passende DSO-Prozeduren dazu erstellt.

Code und Exe vom 2012-03-27

- Die Prozedur 'DSOInitialise' korrigiert, funktioniert jetzt.

Code und Exe vom 2012-03-26b

- Der USB-Worker wird bei einem Timeout wieder per TerminateProcess beendet, siehe 'SendDataToUSBWorker'.
- neue Prozedur 'DSOInitialise' erstellt. Das Kommando funktioniert aber nicht, zumindest sendet das DSO nichts zurück, es gibt einen Timeout. Ist auch bei der Funktion 'Other' dabei.

Code und Exe vom 2012-03-26

- Bei der Funktion 'Other' werden die Tastencodes ausgelesen und können gesendet werden.
- Neue Funktion 'Sample Data' in die Oberfläche integriert, Sample-Daten lesen funktioniert, das Speichern geht noch nicht, da fehlt mir noch der Durchblick.
- Die Bedienung besser abgesichert, es dürfen keine Funktionen gleichzeitig ausgeführt werden.

Code und Exe vom 2012-03-25

- Bei der Bildschirmkopie die Option 'Handheld' eingefügt, ist für 640 x 480 Pixel Bildschirmgröße der Handhelds.
- neue Funktion 'Other' im Programm erstellt, enthält verschiedene DSO-Funktionen, wie Sperren/Entsperren, Echo senden, Zeiteinstellung ändern.
- Prozedur für das Lesen und Schreiben der Zeiteinstellung am DSO erstellt.
- Prozedur für das Einlesen der Sample-Daten erstellt.

Code und Exe vom 2012-03-24b

- Funktion 'Settings', das Speichern und Laden der DSO-Einstellungen am PC ist fertig.
- alle 'DSO'-Funktionen im Modul 'ModuleDSO' unabhängig von den Daten gemacht. Es wird alles per Referenz übergeben, es können somit gleiche Daten parallel benutzt werden. Ausnahme sind die Flags und DSOPaket-Daten, die auch nicht parallel benutzt werden können. Siehe neues 'ModuleDSOData' für die verwendeten Datenstrukturen, ist abhängig von den benutzen Funktionen.
- Funktions 'Settings' - ein leerer Wert wird nicht mehr zugelassen, er wird dann auf '0' gesetzt. Die Log-Ausgabe dazu wurde ebenfalls geändert.

Code und Exe vom 2012-03-24

- Die Liste bei der Funktion 'Settings' wurde verbessert, es gibt mehr und sortierbare Spalten und die Eingabe wird auf Ziffern beschränkt.

Code und Exe vom 2012-03-23

- Neue Funktion 'Settings', damit kann die aktuelle DSO-Einstellung gelesen, verändert und wieder geschrieben werden. Beim Lesen wird jedesmal die 'protocol.inf'-Datei gelesen und ausgewertet, das wird noch geändert.

Code und Exe vom 2012-03-22

- Prozedur für das Sperren/Entsperren des Bedienfelds erstellt.
- Prozedur für das DSO-Kommando 'Echo' erstellt.
- Bei der Seite 'Read File' muss immer ein Slash am Anfang vom Pfad mit angegeben werden. Da war ein kleiner Fehler im Protokoll, ist ausgebessert.
- Bei der Bildschirmkopie kann die Option für automatisches RUN/STOP gewählt werden.
- Neue Funktion 'Datei lesen'. Die Gesamtprüfsumme über alle DSO-Pakete wird überprüft.
- Zwei neue allgemeine Prozeduren zum Lesen der DSO-Daten erstellt, für Kommandos mit und ohne Sub-Kommandos.

Code und Exe vom 2012-03-21

- Neue 'DSOScreenCopy'-Prozedur geschrieben, das Abholen der Bildschirmkopien funktioniert jetzt wunderbar.
- Speicherzugriffsfehler beim Start behoben, ein MemoryBlock war manchmal 'Nil'.
- Kommunikation von Programm und USB-Worker verbessert, es gab unnötige Übertragungsfehler.

Code und Exe vom 2012-03-19

- die Skalierung der Bildschirmkopie ist jetzt in Ordnung.
- es wurde oft der Befehl zum Sperren des DSOs gesendet, ich dachte der Befehl bedeutet etwas anderes, er wird jetzt nicht mehr gesendet.
- die Prozedur 'DSOScreenCopy' wurde überarbeitet, ist jetzt übersichtlicher und hält sich mehr an das DSO-Protokoll. Wobei noch nicht klar ist, wie die Prüfsumme über alle Bilddaten berechnet wird. Die empfangene Prüfsumme stimmt nie mit der berechneten überein. Die Überprüfung wurde zwischenzeitlich auskommentiert.
- Der Start des Bildschirmschoners wird im Vollbildmodus verhindert, außer es ist ein Kennwort gesetzt.

Code und Exe vom 2012-03-17

- Erste halbwegs taugliche Version bereitgestellt.

 

Zurück zum DSO-USB-Tool.