DifDap
ein Datenübertragungsprogramm / Protokolldebugger



Download DifDap - klick hier (zip, 26 KB)

DifDap ist Freeware unter GNU Lizenz.
Darf aber als Freeware nicht kommerziell genutzt werden.

Im oberen Teil des Programmfensters werden Bytefolgen, die gesendet werden sollen, eingetragen.
Im unteren Teil des Programmfensters wird ein Protokoll geführt. Hier werden auch die empfangenen Daten ausgegeben.

Aber, der Reihe nach:
Als erster Schritt muss das Device, mit dem Daten ausgetauscht werden sollen, über das Menü Device/Device wählen festgelegt werden.


Über <Registry öffnen> lässt sich RegEdit öffnen und man kann das Device dann dort direkt suchen / auslesen.

Im Block <Schreiben> und <Lesen> lassen sich hier noch Optionen für die Datenübertragung setzen.
Schreiben / Präfix: dieses Byte wird jeder Sendung vorn angehängt.
Schreiben / Suffix: dieses Byte wird jeder Sendung hinten angehängt.
Beim Lesen wird eine Bytesequenz erwartet. Nach Empfang des 1. Bytes wird ein Timer gestartet. Die Empfangssequenz gilt als beendet, wenn <Timeout> abgelaufen ist, oder <max Blocklänge> gelesen wurde oder das <Blockende Byte> empfangen wurde.

Ob der Datenaustausch mit dem Device klappt, hängt auch vom Treiber und ggf. der gewählten Zugriffsstelle in einer Treiberkette ab.
Difdap verwendet CreateFile();,  WriteFileEx();, ReadFileEx(); und dabei teilweise Overlapped Zugriffe. Es wird nicht mit DeviceIoControl(); gearbeitet.

Der zweite Schritt sollte dann die Eingabe der Sendesequenzen sein (Menü Bearbeiten / Kommando zufügen).

Die Bytes des Kommandos müssen als Hexwerte eingegeben werden. Pro Sendeblock sind 8 Byte + Präfix + Suffix möglich.
Kommandos werden im Hauptfenster zeilenweise ggf. mit Präfix und/oder Suffix angezeigt und können von dort dann mit der Maus zum Senden ausgewählt werden.

Als dritter Schritt muss dann das ausgewählte Device geöffnet werden. Geht über das Menü  Device/Device öffnen.
DifDap ist damit arbeitsbereit und gibt empfangene Daten im Protokollfenster zeilenweise aus.
Sollen Daten gesendet werden, muss das gewünschte Kommando markiert werden und dann: Bearbeiten / Kommando senden.

Komplette Sätze von Kommandos lassen sich auch speichern / einlesen. DifDap stellt dazu die Funktionen <Befehlsdatei öffnen> und <Befehlsdatei speichern> im Menü, Option Datei zur Verfügung. 

Zu guter letzt:
Die meisten Funktionen lassen sich auch über die Buttonleiste direkt ansprechen.
Doppelklick links im Kommandofenster auf eine Zeile sendet die entsprechende Bytefolge.
Rechtsklick auf ein Kommando öffnet den Kommando-Bearbeitungs-Dialog.
Die Protokollzeilen haben als 1. Zeichen ein Symbol, das anzeigt, was passiert ist.
< = Daten gesendet
> = Daten empfangen
+ = sonstiges Ereignis
? = irgend was anderes
Die Ausgaben im Protokollfenster können via Menü/Datei/Ausgaben speichern  in eine Textdatei geschrieben werden.

Wenn DifDap im Protokollfenster sagt, eine Bytefolge sei "successful" gesendet, aber am angeschlossenen Gerät nichts ankommt, kann es sein, dass die Daten irgendwo in der Treiberkette in einem Pufferspeicher hängen und trotzdem "gesendet erledigt" an DifDap zurückgemeldet wurde.

DifDap = Device Interface For Debugging And Pleasure
Bugreports und sonstiges:
E-Mail an hu(dot)stocker(at)stocker-hl(dot)de

TRY IT - ENJOY

DifDap besteht aus einer einzigen Datei und wird nur aufkopiert. Benötigt werden direk folgende Standard-Windows-Supportdateien: