Forum: PC-Programmierung Neues Terminal-Programm für Windows


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tobi (Gast)


Lesenswert?

Hi,

ich hab mein neues Terminal-Programm so weit fertig, dass man es der
Öffentlichkeit zeigen kann.
Die Besonderheiten sind die Ausgabe und Eingabe(!) in Hexadezimal,
Binär, Dezimal und Ascii.
Ausserdem kann man die ganzen Standardwerte für die Oberfläche in
Config Dateien speichern

Ist zwar noch eine Beta aber sollte schon recht fehlerfrei laufen.

Hier gibts einen Download
http://www.der-hammer.info/terminal/index.htm

Eine Hilfe kommt demnächst noch

PS:
Danke an Rufus für die vielen Tips bezüglich der Oberfläche!

von Tobi (Gast)


Lesenswert?

jetzt gibts noch eine hilfe dazu (zusammen mit der exe im zipfile) und
durchs packen ist das ganze auf ansehnliche 600k geschrumpft :)

von Tobi (Gast)


Lesenswert?

what exactly happens?

von Alex (Gast)


Lesenswert?

Eben nichts, es sollte sich doch ein Fenster öffnen? (BS XP SP2)

von Tobi (Gast)


Lesenswert?

da scheint der server wohl beim letzten abschmieren ein paar beiträge
verloren zu haben...

das 'send file' funktioniert nur, wenn die verbindung zu einem
comport schon steht, sonst reagiert der button nicht. werd ich mal
ändern, dass der dann ausgegraut ist...

liegt es daran, oder bist du verbunden und es klappt trotzdem nicht?

von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Tobi,

tolles Programm, habs gleich mal gezogen und ausprobiert. Ich würde
gerne auf zwei Dinge hinweisen. Das erste kann man im Screenshot im
Anhang sehen. Wenn nur auf ASCII gestellt ist, werden #CR und #LF als
zwei Kästchen dargestellt. Ist das so beabsichtigt? Ich denke eher es
wäre besser, diese beiden Zeichen zu ignorieren. Das zweite ist
folgendes: wenn man das Fenster rechts unten mit der Maus ganz
verkleinert, daß außer dem Fenstertitel nichts mehr zu sehen ist und
dann das Fenster wieder vergrößert, ist nur noch das Input-Fenster.

Ich hoffe, daß hilft dir. Weiter so!!

Gruß
Thorsten

von Alex (Gast)


Lesenswert?

Hast natürlich recht, könntest du aber ruhig abändern.

Ansonsten muss ich sagen, dass es in Ordnung ist. Optimierungen fallen
mir auch nicht weiter ein.

von Tobi (Gast)


Lesenswert?

danke für die infos an euch beide.

@alex
du hast ja recht aber das sind halt die kleinen details die man selber
nie finden würde aber anderen sofort ins auge fallen. ist bei mir jetzt
schon ausgebessert und wird in der nächsten version dann drin sein

@thorsten
den bug mit dem verkleinern kann ich bei mir reproduzieren und hab auch
schon den fehler gefunden. das programm bekommt eine minimale
fenstergrösse die erlaubt ist und dann klappts

das mit den sonderzeichen war eigentlich so gewollt. wenn, dann müsste
man alle sonder/steuerzeichen im nur ascii modus ausschalten (alles
kleiner 32 und die 173). ich werd mit mal überlegen was ich da mache:
entweder komplett unterdrücken wie du meintest oder irgendwo eine
option um das anzupassen

von HSB (Gast)


Lesenswert?

Super Programm! Ich habe es getestet und es ist genau das was ein
Controllerprogrammierer benötigt um seine Kommunikationsschnittstelle
testen zu können. Genial!
Beim Entpacken der zip-Datei entsteht aber ein Abbild deiner
Verzeichnisstruktur. Das ist etwas unschön.

von Tobi (Gast)


Lesenswert?

danke für den hinweis, werde ich korrigieren. morgen wird
voraussichtlich auch die neue version online gestellt mit ein paar
kleinen verbesserungen und bugfixes

von Tobi (Gast)


Lesenswert?

So, v0.5 ist fertig.
Hauptsächlich Detailverbesserungen und Bugfixes. das genaue Changelog
gibts hier einzusehen:
http://www.der-hammer.info/terminal

Verbersserungsvorschläge oder Bugs könnt ihr gerne hier posten.

Dann mal viel Spaß beim ausprobieren!

von Werner (Gast)


Lesenswert?

Hi,
ich hab die Soft gerade auch mal ausprobiert. Nen paar Sachen sind mir
aufgefallen, wären vielleicht zu verbessern.
- der Connectstatus wird beim neustart nicht wieder hergestellt
- der Pfad wo der Output gespeichert wurde, wird nicht gesichert
- die Fensterposition wird nicht gespeichert (da ich nur 800x600 fahre
muss ich das Fenster zunächst in die richtige Position schieben)

Ansonsten Toll geworden, DANKE

Werner

von Tobi (Gast)


Lesenswert?

pfad und fensterposition speichern werde ich noch in den nächsten tagen
hinzufügen. danke für den hinweis!

was meinst du genau mit connectstatus wiederherstellen?

von Werner (Gast)


Lesenswert?

Hi Tobi,
ich hab die Option "Autosave on exit" für das Ini-File aktiviert.
Wenn ich connected war, die Software beende und wieder starte muss ich
erst wieder Connect drücken. Ich fände es ganz praktisch, wenn die Soft
automatisch den Status wieder herstellen würde.

Werner

von Tobi (Gast)


Lesenswert?

ok, sollte kein problem sein, diese funktion einzubauen.

die anderen beiden von dir genannten funktionen laufen schon so weit
und werd ich voraussichtlich morgen nach ein paar weiteren test online
stellen

von Martin (Gast)


Lesenswert?

Moin, moin,

ich würde gerne etwas mehr flexibilität beim CR@ haben. Also zu den
Auswahlen CR/LF, LF, CR noch ein Zeichen (Zeichenfolge) selber
definieren können.
In meinem persönlichen Fall bräuchte ich z.B. das NULL-Byte als
Trennzeichen.

'Save Output' ist eine schöne Funktion, aber ein 'Laod Output' um
sich die Daten später nochmal anschauen zu können, wäre eine nette
Ergänzung.

Ein langfristiger Wunsch wären Buttons, mit denen vorgefertigte
Nachrichten versendet werden können.

Ist aber schon ein nettes kompaktes und trotzdem übersichtliches
Programm geworden, weiter so...

 Martin

von Tobi (Gast)


Lesenswert?

so, es gibt wieder eine neue version mit so ziemlich allen
vorgeschlagenen verbesserungen!

- pfad wird mitgespeichert

- fenstergrösse/position wird gespeichert

- der verbindungstatus wird gespeichert
(besonderheit: wird nur beim beenden mit 'autosave on exit' aktiv
gespeichert, NICHT beim normalen config speichern. ist so gewollt,
falls ihr es für nicht so gut haltet immer her mit der kritik ;)

- man kann jetzt eine datei ins output fenster laden (optionen menü)

- man kann jetzt selber cr@ strings definieren. genaueres steht in der
hilfe (@martin: die 0x00 ist aber jetzt schon standardmässig in der
liste drin)

- und natürlich wurde wieder die hilfe auf den aktuellen stand
gebracht

eine funktion für textbausteine ist schon geplant aber wird noch etwas
dauern, da ich dafür noch einiges erweitern muss, um das ordentlich
einzubauen

link zur download-seite findet sich ganz oben im thread!

von Thorsten (Gast)


Lesenswert?

Ich vermisse eine "always stay on top" Funktion.

von Hans (Gast)


Lesenswert?

ich hab mir mal ein lustiges prog geschrieben, dass dir die rs232
durchschleift.. ist ungemein praktisch für leute die z.b am uc
irgendwelche perepherie am uart hängen haben und schaun wolln was da an
daten herumgurken...

problem..braucht 2 serielle (eine rein, eine raus)

ist hin und wieder ganz nett... sollte ich mal wieder auskramen und
auch veröffentlichen ;) oder hast du lust das bei dir einzubaun????

73

von Tobi (Gast)


Lesenswert?

@hans
interessante idee. ich werd mal ein bisschen rumbasteln ob das bei mir
irgendwie reinzubasteln ist.

@thorsten
schau mal mails nach

von Hans (Gast)


Lesenswert?

btw in welcher sprache hast du das geschrieben ?

und hast du lust das ding open source zu machen ??? es gäbe da sicher
unzählige funktionen die es noch zu ergänzen gebe ... und open source
kann dann jeder nach herzenslust basteln ;)

73

von Tobi (Gast)


Lesenswert?

das ganze ist komplett in c++ mit wxWidgets als framework geschrieben

derzeit hab ich noch nicht vor das ganze als open source zu
veröffentlichen, weil ich erstmal die grundfunktionalität, so wie ich
sie mir vorstelle fertig haben möchte. danach hatte ich auch schon
überlegt, dass zu machen und evtl auch bei sourceforge reinzustellen

von Werner (Gast)


Lesenswert?

Hi Tobi,
mir ist gerade aufgefallen, das der Status von DTR und RTS nicht wieder
hergestellt wird.
Könntest Du außerdem mal erklären was für Funktionen hinter den
Befehlen im Count/Log Bereich stecken?
Rx ist die Anzahl der empfangenen Zeichen, das ist ja noch klar.
Aber der Rest ...

Werner

von Tobi (Gast)


Lesenswert?

DTR und RTS speichern wird eingebaut.

Die Optionen bedeuten:
======================
Count: Das Zeichen in der Box (Ascii-Wert) wird gezählt

Delete on: Wenn das Zeichen in der Box auftritt, wird alles incl. dem
Zeichen selber gelöscht (Die Checkbox muss markiert sein, damit diese
Funktion aktiv ist)

Show last....: Gibt an wieviele Zeichen angezeigt werden sollen. Bei
vielen Zeichen kann sonst das umschalten des Formats, von CR@ oder ein
Resize des Fensters sehr lange (einige dutzend Sekunden) dauern.

Die Infos stehen auch alle (in Englisch) in der Hilfe-Datei drin

von Stefan (Gast)


Lesenswert?

Schickes Tool

Bei mir ist leider die Schaltfläche "Autosave on exit" gegrayed.
Woran liegt das denn.

Echt super, dass man auch ander Baudraten eintragen kann.
Könnte man vielleicht ne User-Defined Box einbauen.

von Werner (Gast)


Lesenswert?

Du musst vorher das Setup einmal mit einem Namen speichern, dann direkt
wieder laden. Dann ist autosave on exit aktiviert.

Werner

von Tobi (Gast)


Lesenswert?

@stefan
es ist genau wie werner gesagt hat. liegt daran, dass das program mit
ini dateien arbeitet und nicht mit der registry. dadurch hat man den
vorteil, dass man für unterschiedliche projekte auch unterschiedliche
konfigurationen benutzen kann.

man kann eine ini-datei direkt beim start als 1. kommandozeilen
parameter angeben.

Man kann alle baudraten (und auch com-ports) selber definieren. schau
dir mal die gespeicherte config datei an, dann sieht man die struktur,
wie das auszusehen hat recht gut. Sonst steht in der hilfe datei, die
mit im zip paket ist auch noch mal jede option ausführlich drin.

von Stefan (Gast)


Lesenswert?

Alles klar.

So haut die Sache hin.

Klasse!!!!!!!!!

von Tobi (Gast)


Lesenswert?

Neue Version 0.5.3:

- jetzt mit anständigem send file dialog mit abbrechen
- das programm verursacht einiges weniger last

Die restlichen Kleinigkeiten stehen wie immer im Changelog!
Sauglink steht oben auf der Seite!

von Fabian Greif (Gast)


Lesenswert?

Hi,

du könntest noch eine Funktion einbauen die entweder nur die vorhanden
COM Ports anzeigt oder überprüft welche vorhanden sind. Das wäre zum
Beispiel bei USB<>seriell Wandler hilfreich, da ich nie genau weiß auf
welchen COM Port sie jetzt angemeldet sind. Damit würde dann man den
Umweg über die Systemsteuerung sparen...

Ansonsten aber ein schönes Tool :-)

Grüße
Fabian

von Peter Loeffler (Gast)


Lesenswert?

Hallo Tobi,
gutes und nuetzliches Programm!
Trotzdem einige Bemerkungen:
1) Waere schoen wenn man ueber das Help-Menu direkt das
   mitgelieferte PDF oeffnen koennte.
2) Die Escape-Sequenz "\n" (backslash-n) in meinem C-Code
   kommt in HTerm als "\f" (backslash-f) raus.
3) Ich hab "CR@" auf "CR+LF" gestellt und lass nur ASCII anzeigen.
   Da passiert es trotzdem manchmal, das eine CR+LF Sequenz nicht
   als solche erkannt wird, also als <\r><\f> ausgegeben wird
   anstatt dass eine neue Zeile begonnen wird. Wenn ich dann das
   ASCII Knoepfchen aus- und wieder einschalte wir die Anzeige aber
   berichtigt.
   Wie gesagt, passiert nur manchmal, so etwa einmal in zwanzig
   Zeilen oder so. Komisch, nicht?

Gruss,
  Peter

von Tobi (Gast)


Lesenswert?

zu 1.
Das Problem ist, dass nicht sicher ist, wo sich das PDF befindet. Ich
werde aber eine Funktion einbauen, die es öffnet, wenn es sich im
gleichen Verzeichnis befindet.

zu 2.
Das ist zwar ungewohnt aber beabsichtigt, da das \n eigentlich ein \f
(line feed, #10) ist. Ich werd aber drüber Nachdenken, ob es nicht
besser ist das zu ändern, weil wohl die meisten ein \n erwarten

zu 3.
Den Fehler habe ich auch schon bemerkt aber bisher leider noch nicht
die ursache gefunden

  Tobi

von Tobi (Gast)


Lesenswert?

Es gibt mal wieder etwas neues (v0.5.5):

Die neuste Version unterstützt jetzt belibig gemischte Formate in der
Eingabezeile. Auch sonst wurden einige Bugs beseitigt und ein paar neue
Funktionen hinzugefügt. Details verrät wie immer das Changelog.

Falls jemand seine Vorschläge noch nicht wiederfindet: Einiges steht
noch auf meiner Todo Liste und wird in den kommenden Versionen
berücksichtigt. Weitere Verschläge können natürlich jederzeit gemacht
werden. Ich bin für alles offen.

http://www.der-hammer.info/terminal/index.htm

von Andreas (Gast)


Lesenswert?

Hi Tobi,

nettes Tool, dass ich gerade bei meinem aktuelem Projekt einsetzte!

Was mich stört, sind die etwas kleinen Buttons ("Clear Output",
"Reset",...). Ich arbeite mit einer Auflösung von 1400x1050, da muss
ich immer sehr zirkeln mit dem Mauszeiger. Bei meinen Projekten richte
ich mich immer nach dem MS GUI Guideline. Da sind solche Sachen
geregelt. Bei deinem Tool würde es schon helfen, wenn die Button.Heigh
so groß sein würde wie die Höhe der Eingabe- bzw. Auswahlfelder.

Andreas

von Benedikt (Gast)


Lesenswert?

In dem Programm sind noch ein paar (schlimme) Bugs:
Ich übertrage ein BMP über den normalen COM Port mit 115,2kBaud, aber
das empfangene Bitmap ist total verschoben, da einige kByte vom
Programm verschluckt werden. Mit dem Bray Terminal läuft es
einwandfrei.
Dieser Fehler ist irgendwie Baudratenabhängig: Mit einem FT232 tritt
dieser Fehler bei 375kbaud stark auf, bei 750kbaud läuft es aber
fehlerfrei, zumindest meinstens, bis plötzlich für einige Sekunden
langsam ein paar Daten verschluckt werden, danach läuft es wieder für
einige Minuten fehlerfrei.

Ein weiterer, aber eher unwichtigerer Bug:
Befinden sich im Sendefenster diese bunten Blöcke die die gesenden
Daten anzeigen ganz rechts, und man gibt nur Return (ohne ein Zeichen)
ein, dann zerstückeln sich die bisher gesendeten Blöcke langsam.

von Tobi (Gast)


Lesenswert?

@andreas
wer die buttons grösser machen

@benedikt
der bug scheint mir auch kritisch zu sein? deiner beschreibung nach
tritt er beim send file auf. war das auch in der vorherigen version
oder nur der neuen?

ich bin dabei die ausgabefenster sowieso komplett neu zu schreiben,
vondaher weiss ich nicht, ob das jetzt auf die schnelle noch korrigiert
wird... muss mal schaun wie kompliziert das ist

von Benedikt (Gast)


Lesenswert?

Genau, beim Senden einer Datei.
Das Problem hatte ich anscheinend schon seit der ersten Version die ich
ausprobiert hatte (damals wegen dem FT232). Nur damals konnte ich nicht
ausprobieren ob der Fehler am Programm oder meiner Hardware lag, da der
FT232 zusammen mit dem Bray Terminal nicht richtig funktioniert.

Der Fehler tritt bei der 0.5.3 und der 0.5.5 auf. Vorhergende Versionen
habe ich nicht ausprobiert.

von Benedikt (Gast)


Lesenswert?

Ich habe den Fehler gefunden: Es lag an meiner Software, die ein paar
Bytes verliert, wenn kontinuierlich Daten übertragen werden.
Das Bray Terminal sendet die Daten nicht kontinuierlich, schafft also
bei 115200Baud anderst als dein Programm keine 11,5kBytes/s, sondern
nur etwa 10kB/s.
Dafür habe ich aber einen anderen Fehler gefunden:
Wenn man größere Datenmengen ohne Pause empfängt, dann hängt sich das
Programm auf (zumindest lag nach ein paar Minuten die CPU Auslastung
immer noch bei 100% und das Programm reagierte nicht mehr).

von Tobi (Gast)


Lesenswert?

Gut, ein Fehler weniger zu suchen ;)

Hast du vor dem Aufhängen des Programms irgendeine Option betätigt? Bei
grossen Datenmengen kann ein Resize des Fensters oder ein Ändern des
Ausgabeformats das System für einige Minuten lang komplett auslasten.
Wenn du diese riesigen Datenmengen nicht alle sichten musst sondern sie
nur speichern willst, kannst du den Wert 'Show last...' auf einen
kleinen Wert (z.b 100) setzten. Dadurch bei Resize usw das System
entlastet aber die Daten gehen nicht verloren und können noch ganz
normal über Save gesichert werden.
Falls es das nicht war, um welche Datenmengen handelt es sich bei dir
(wieviele MB)?

von Matthias (Gast)


Lesenswert?

Hi

du solltest die grafische Oberfläche nie durch einen anderen Vorgang
blockieren. Irgendeine Hintergrundverarbeitung läßt man lieber einen
seperaten Thread machen und zeigt solange auf der GUI einen Hinweis auf
eine laufende Verarbeitung an. So bleibt die Oberfläche bediehnbar und
die Arbeit wird trotzdem erledigt.

Matthias

von Tobi (Gast)


Lesenswert?

Ja, ich weiss, dass es besser wäre. Hab mich bisher immer vor Threads
gedrückt aber ich glaub ich werd das doch mal machen müssen ;)

von Benedikt (Gast)


Lesenswert?

Und schon wieder habe ich mich geirrt:
Nachdem meine Software jetzt fehlerfrei läuft, habe ich gemerkt dass
HTerm doch Daten verschluckt. Nicht immer, sondern nur manchmal.
Ich habe ein 512x512 BMP übertragen (263222 Bytes). Davon kamen am
zweiten PC 254012 Bytes an. Diesmal bin ich mir absolut sicher, dass
der Fehler bei HTerm und nicht bei mir liegt.
Soweit ich es überprüft habe, haben bei jedem Fehler immer exakt
10Bytes gefehlt. Die Abstände zwischen den Fehlern sind unregelmäßig.

von Tobi (Gast)


Lesenswert?

Die 10Byte sind ein sehr sehr guter Hinweis. Das ist genau die Einheit,
die das Programm aufeinmal rüberschickt und danach die Anzeige
aktualisiert. Da geht wohl irgendwo entweder eine Schreib- oder
Lesefunktion schief. Ich werd mal danach suche, wahrscheinlich fehlt
bloss eine Fehlerabfrage irgendwo

von Tobi (Gast)


Lesenswert?

Hatte richtig vermutet. Ich konnte das Problem reproduzieren. Alleine
über 50 Aussetzer hatte ich in einer 56k Datei. Wird wahrscheinlich
heut oder morgen eine neue Version geben, die das behebt

von Benedikt (Gast)


Lesenswert?

Werden die 10Byte nur für den File Transfer verwendet ?
Wäre es möglich diesen Wert auf, sagen wir mal etwa 100 zu vergrößern,
oder verträgt sich das nicht, da der UART nur 16Byte FIFO Puffer hat ?

Die 10Byte sind vermutlich der Grund, wiso bei Baudraten über etwa
500kBaud die Geschwindigkeit gleich bleibt. Immerhin muss das Programm
dann 5000x pro Sekunde neue Daten laden und die Anzeige aktualisieren.

von Tobi (Gast)


Lesenswert?

Könnte man vergrössern. Werd ich in der nächsten Version mal machen. Ich
hab dir mal ne Mail geschickt mit einer Version, die keine Bytes
verschlucken sollte

von Benedikt (Gast)


Lesenswert?

Ich habe jetzt einige Daten übertragen, und hatte bisher keine Fehler
mehr.

von Simon Küppers (Gast)


Lesenswert?

Also das Programm ist zu langsam, ich Schicke fast in einer
Dauerschleife zeichen an den PC. Hyper-Terminal liest diese problemlos.
HTerm freezed solange ein, bis der komplette Buffer leer ist *schnarch
und Kaffepause mach*

von Thilo Wawrzik (Gast)


Lesenswert?

Hab Dein HTerm eben auch mal getestet und muss sagen,
es gefällt mir wirklich gut. Schön einfach und übersichtlich
mit (fast) allem, was ich so brauche. ABER Simon K. hat leider
recht! Bei hohen Datenraten ist es etwas lahm :-o Schade.
Vielleicht könntest Du Dir die Routinen nochmal vornehmen.

Vorschlag für neues Feature:
Interessant wäre für mich (und evtl. auch für andere?)
die Möglichkeit den I2C-Bus zu emulieren, um entsprechende
Bausteine vor der Programmierung des uC testen zu können
bzw. zur Fehlersuche.

von Tobi (Gast)


Lesenswert?

ja, ich weiss das noch einiges zu verbessern ist. Ich werd die Routinen
für den comport zugriff mal als nächstes angehen, dann sollte es besser
werden. danach ist noch das ausgabefenster dran; dann sind die gröbsten
mängel (meiner ansicht nach) beseitigt

@thilo
dein vorschlag ist sehr interessant aber lässt sich wohl nicht ohne
echten hardwarezugriff auf die schnitstelle machen. wäre aber bei
gelegenheit eine nette idee für ein neues projekt

von Jens123 (Gast)


Lesenswert?

Hallo
sieht sehr gut aus

evtl 2 erweiterungen..
das erste waere eine art History, dass man mit den courser tastan die
letzten 10 (oder mehr) gesendeten zeilen wieder aufrufen kann

das andere evtl einen button um spezielle Funktionen, wie LF oder TAB
in der anzeige untern einzuschalten, dass die zeichen auch etwas
formatiert werden koennen

Gruss Jens

von Tobi (Gast)


Lesenswert?

die history werd ich einbauen. die idee gefällt mir gut

die formatierungen mit tab wird nicht gehen allerdings kann man über
cr@ beliebige zeichen für zeilenumbrüche setzen. diese options gilt für
die obere und untere box gemeinsam. zu den standardzeichenketten kann
man per config file beliebige eigene für den zeilenumbruch definieren

von Mike (Gast)


Lesenswert?

Ja, History und Threads halte ich für am dringlichsten.

von Jens123 (Gast)


Lesenswert?

das mit dem Tab koenntest du machen...

du hast doch pro zeichen immer eine stelle
jedes zeichen ist in der schriftart gleich breit und hoch..

also uebertragen wurden 2 zeichen (ein tab ist meinetwegen 10 Zeichen
bei dir) dann sprinngst du eben an stelle 1, wenn ein tab gekommen ist

evtl ist es auch morglich diesen tab dann als tab in die zwichenablage
zu speichern nur eine idee

ich weiss, dass es im Br@y Terminal funktioniert


gruss Jens

von Tobi (Gast)


Lesenswert?

Also sollte ich einfach ein Tab, wenn es Auftritt in eine Lücke von
einer bestimmten Anzahl Zeichen umwandeln? Bin mir noch nicht sicher,
ob ich das ganz richtig verstanden habe ;)

So eine Funktion wäre meines Erachtens nach nur in der Ascii Only
Ansicht von Nutzen, in der Mehrformat-Ansicht würde es etwas seltsamer
Aussehen...

von Wirus! (Gast)


Lesenswert?

Hallo,

ein sehr schönes Programm. Werde es mal ausgiebig testen.

Aber da wir gerade bei der Featuritis sind: Ist es möglich, eine Art
von Checksumme zu implementieren?

Beispiel:
Bei Kommunikation über das MODBUS-Protokoll wird an eine Zeile immer
eine zweistellige Checksumme (CRC-16) angehängt. Wenn ich jetzt eine
Zeile eingebe und für die Checksumme nur noch auf eine Knopf drücken
müsste, wäre cooL ;-)

Meines Wissens sind CRC-8, CRC-16 und CRC-32 die gängisgsten Typen.

Schöne Grüße, der Wirus!

von Mike (Gast)


Lesenswert?

@Wirus

Dann mach es ihm doch nicht so schwer und liefere gleich in den
Algorithmus dafür in C-Syntax mit ...
Danach wäre es für ihn ein Klacks.

von Wirus! (Gast)


Lesenswert?


von Jens (Gast)


Lesenswert?

@Tobi
waere schonmal von vorteil,

wenn ich ein Programm ueber die RS232 debugge und nicht immer gleich
viele zeichen gesendet werden ist es von vorteil, dass man mit einem
TAB die sich zumindest im terminal zurechtsortieren kann..

evtl wenn man den inhalt einfach kopieren will eine funktion
dazueinbauen, diese das dann mit dem tab zeichen auch macht

Gruss Jens

von Tobi (Gast)


Lesenswert?

Danke für die ganzen Vorschläge!

Die Checksumme u.ä wird demnächst über einen weiteren Eingabemodus der
Eingabezeile hinzugefügt. Dann schreibt man einfach an den Anfang oder
ans Ende der Zeile im Modus cmd z.b cr16, dann wird das ganze
eingefügt. So sieht zumindest die Planung aus ;)

@jens
Ich werd die Ausgabeboxen demnächst mal komplett neu schreiben und dann
mal schaun, ob man etwas dementsprechendes implementieren kann. Wenn es
irgendwie mit annehmbaren Aufwand machbar ist kommt das auf jeden Fall
mit rein

von Tobi (Gast)


Lesenswert?

Es gibt mal wieder was neues!
Zwar noch keine Checksumme aber immerhin eine History Funktion für die
Eingabezeile. Lässt sich mit den Hoch/Runter Tasten Auswählen; die
aktuelle Position steht in der Statuszeile.

Weitere Vorschläge sind natürlich immer willkommen.

http://www.der-hammer.info/terminal/index.htm

von Uwe (Gast)


Angehängte Dateien:

Lesenswert?

Hi Tobi!
Habe mir das Progr. jetzt mal runtergeladen, getestet und für sehr gut
befunden, bis ich die Config speichern wollte. Da gab,gibt es dann ein
sehr unschönes Bild.(siehe Anhang) Ist das nur bei mir so oder hat sich
da irgendwo ein Fehler eingeschlichen?
Achso! Win98se, direkt beim abspeichern der Config egal ob auto oder
mit Hand

MFG Uwe

von Tobi (Gast)


Lesenswert?

Danke für den Hinweis! Der Fehler scheint nicht nur unter Win98
aufzutreten. Ich werd so schnell wie möglich einen patch dafür
erstellen

Solang sollten alle lieber bei der alten Version bleiben!

von Tobi (Gast)


Lesenswert?

Problem sollte jetzt behoben sein. Neue Version steht online

von Uwe (Gast)


Lesenswert?

Hi!
Ok, .cfg speichern geht jetzt. Aber:
1.Beim Starten des Programms werden alle anderen Schnittstellen
totgelegt(auch mein analoges Modem war plötzlich weg)
2.Wenn die Schnittstelle mit vielen Zeichen bombardiert wird(zum Test
habe ich eine Mouse drann)verschwinden sackweise Zeichen und das Progr.
wird teilweise unbedienbar(das geht bis zum Affengriff)
Kann es sein das die Int.-bearbeiteung zu langsam ist?(Ok. Ist auch nur
ein K6/III/500, aber auch da sollte es gehen)

MFG Uwe

von Tobi (Gast)


Lesenswert?

zu 1.
Liegt wohl an der automatischen Erkennung der Comports. Werd ich
ändern

zu 2.
das liegt leider an dem prinzipiellen aufbau der darstellung des
programms, dass das ganze langsam ist. :/
Das wird erst behoben sein, wenn die ausgabeboxen neu geschrieben sind
und das dauert leider noch ein wenig. zur geschwindigkeitssteigung,
wenn man z.b nicht die mehrformatausgabe braucht hilft es, nur die
ascii ausgabe einzuschalten und im menü unter optionen/default style on
ascii zu aktivieren

kannst du das programm nocheinmal neu runterladen und probieren, ob das
totlegen aller schnittstellen jetzt beseitigt ist?

von Uwe (Gast)


Angehängte Dateien:

Lesenswert?

Hi!
Programm geladen und gestartet. Ich bin noch online. Sehr schön!
Hmm, nur ASCII geht wirklich schnell, nur wenn ich von HEX+ASCII auf
nur ASCII zurückschalte, werden Minutenlang keine Zeichen empfangen.
Das hält sogar an wenn das Progr. geschlossen und neu gestartet wird.
Ämmm nochwas, .cfg kann ich zwar laden und es wird auch alles
eingetragen nur es ist nicht wirksam.(lade .cfg mit nur ASCII-Haken
aber es erscheint alles kunterbunt, oder eben andersrumm. Ich hänge es
am besten mal an.

Vollen Erfolg, Uwe

von Boris (Gast)


Lesenswert?

Hi,

finde super dass Du so etwas geschrieben hast!
Kann ich das Programm auch nutzen um die Daten die in einem
Mikrocontrollerspeicher geschrieben werden (Bsp. Logbuchdaten) am PC
auszugeben und löschen?

Gruß,
Boris

von Mike (Gast)


Lesenswert?

Ja, die Kommunikation musst du jedoch selber auf dem MC implementieren.

von Frankl (Gast)


Lesenswert?

Tolles Programm, ich würde mir noch eine Terminal Emulation wünschen z.B
VT100 oder ähnlich. Da ich eine formatierte Ausgabe als Daten-Monitor
benutze.

von Tobi (Gast)


Lesenswert?

Wo finden sich Infos dazu, wie so etwas umzusetzen wäre. Hab noch nie
mit Terminalemulation gearbeitet.

Im Moment dauerts auch noch etwas, bis ich wieder was mehr am Programm
machen kann. Leider kaum Zeit :/

von Frankl (Gast)


Lesenswert?

Google nach VT100 Befehlssatz oder ähnlich.

von Benedikt (Gast)


Lesenswert?

Seit kurzem gehen bei Datenübertragungen mit alter (DOS-)Software Daten
verloren.
Es werden beim Senden einfach ein paar Bytes weggelassen.

Nach 2 Tagen hatte ich den Grund gefunden: HTerm

Irgendwie verstellt das Programm die serielle Schnittstellen.
Wenn ich das Bray Terminal verwende, dann funktionieren danach die DOS
Programme problemlos, verwende ich dagegen HTerm gehen danach mit etwa
30% Warscheinlichkeit diese Programme nicht mehr.

von Tobi (Gast)


Lesenswert?

Das hört sich nicht gut an...

Ich bin im Moment schon dabei, die komplette Ansteuerung der
Schnitstelle neu zu schreiben, da da an einigen Ecken und enden Murks
war. Damit sollte dann einiges besser werden.

Hast du denn die neuste Version? Zwischenzeichtlich gab es eine
Version, die wohl anderen Programmen die Schnittstelle gekillt hat.
Dafür gabs aber keine neue Versionsnummer. Also falls deine Version
schon von irgendwann Mitte/Anfang des letzten Monats ist nochmal die
neuste ausprobieren. Ansonsten kommt, wie gesagt, demnächst eine
komplett überabreitete Version raus.

von Tobi (Gast)


Lesenswert?

Noch was:
Falls du das Programm ohne cfg's benutzt, kannst du mal ausprobieren,
ob der Fehler auch auftritt, wenn du eine config zum laden angibst? Ich
Vermute die automatische Erkennung der Comports immer noch als
Schuldigen..

von Benedikt (Gast)


Lesenswert?

Ich habe mir gestern die neueste Version runtergeladen.
Das mit der cfg werde ich ausprobieren.

Öffne ich mit einem anderen Programm den COM Port, dann funktionieren
die DOS Programme wieder, zumindest kurzzeitig.

von Benedikt (Gast)


Lesenswert?

Auch mit der cfg tritt das Problem auf. Zwar nicht immer, sondern nur
manchmal, aber er stört trotzdem...

von Tobi (Gast)


Lesenswert?

Ok, die Chancen stehen aber ganz gut, dass das mit der neuen Version
beseitigt ist. Das neue Interface für die Serielle ist mitlerweile
fertig (mit threads und alles non-blocking) und von den wichtigen
Funktionen fehlt nur noch SendFile, dann kann ich dir mal eine
Vorab-Version zuschicken.

von Tobi (Gast)


Lesenswert?

Es gibt mal wieder nach langem eine neue Version! (v0.5.8)

Die kompletten Interface-Routinen für die Serielle sind neu, dadurch
ist das Programm beim Senden von grossen Datenmengen (via SendFile) nun
wesentlich schneller. Ausserdem gibts keine Probleme mehr damit, dass
andere Anwendungen in irgendeiner Weise blockiert werden.
Weiteres im Changelog.

Download wie immer hier:
http://www.der-hammer.info/terminal/

von marco (Gast)


Lesenswert?

Wie wärs mit einem Refresh-Button für die Auflistung der verfügbaren
COM-Ports? Ich denke dabei an USB-Serial-Converter, die sich als
COM-Port einblenden.

von Tobi (Gast)


Lesenswert?

Die Idee ist gut, danke für den Hinweis

von faust (Gast)


Lesenswert?

kleiner bug:

Ich habe ein Config gespeichert in dem unter anderem das Format zum
Senden auf dezimal gesetzt ist. Wenn ich diese Config lade, dann zeigt
er mir auch DEC an, schicke ich jedoch ein Datum mittels Enter-Taste
ab, dann verschickt er es als ASCII und schaltet die Anzeige auf ASC
um. Wenn ich dann per Hand auf DEC zurückgehe, dann ist alles OK.

Meine Vermutung: Du lädst nur das Label zurück, aber übermittelst nicht
das Zahlenformat an die Software?

Gruß

faust

von Tobi (Gast)


Lesenswert?

Da hat sich wohl ein Fehler eingeschlichen. Deine Vermutung ist korrekt.
Ich werd das korrigieren, danke für den Hinweis.

von Tobi (Gast)


Lesenswert?

Ein kleiner Ausblick auf die kommende Version:
Die neuen Ausgabe-Boxen verarbeiten bis zu (getesteten) 500mb(!) an
Daten. Bei Datenmengen bis zu mehreren dutzend MB geht ein Ändern der
Fenstergrösse oder Umschalten der Ausgabeformate innerhalb von wenigen
Millisekunden bis Sekunden. Auch in der Ansicht mit allen Formaten ist
die Ausgabe dann nicht mehr langsamer.
Damit wäre dann das letzte grosse Defizit beseitigt. Es wird noch ein
bisschen dauern aber ich hoffe, dass, wenn es so weit ist, sich viele
interessenten finden ;)

von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

Version 0.6 ist fertig - mit vielen, vielen Neuerungen!

Wie schon erwähnt sind die Ausgabefenster komplett neu geschrieben.
Dadurch gibts eine ganze Reihe an Verbesserungen:

- Die Ausgabeboxen können jetzt problemlos mehrere Dutzend MB Daten
verarbeiten, ohne spürbare Verzögerung beim Ändern des Ausgabeformats
oder der Grösse. Ausserdem gibt es eine verbesserte Kopier-Möglichkeit

- Bei grossen Datenmengen wird das Programm nicht mehr ausgebremst. Die
oben erwähnten Kaffepausen gehören damit der Vergangenheit an

- Die eingehenden Daten können jetzt auf Parity- und Frame-Fehler
geprüft werden. Diese werden dann rot hervorgehoben

- Mit der neuen Autoscroll Option kann das Scrollen beim Empfangen
jetzt individuell aktiviert oder deaktiviert werden

Sonstige kleinere Neuerungen: Refresh Button für die Comports,
Ausmaskieren der oberen Bits im Ausgabefenster und einiges an Bugs
behoben.
Genaueres wie immer im Changelog.

Download gibts hier:
http://www.der-hammer.info/terminal/

Fehlermeldungen oder Vorschläge sind auch weiterhin gern gesehen, hier
oder auch per Mail.

Im Anhang ein Bild mit dem aktuellen 'Look'

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Gibt mal wieder ein kleines Update auf v0.6.1.

Neu ist ein Lineal, Zeilenumbrüche nach x Zeichen und versteckbare
Toolleisten.

von Kurt Krenn (Gast)


Lesenswert?

Hi,

echt ein sehr gelungenes Terminal. Toll wäre noch wenn man den Output
mitloggen könnte. Zur Zeit ist es ja nur möglich den Output in
Ascii-Format abzuspeichern. Ich zB würde eine .log Datei mit zB
wahlweise Hex oder Ascii oder Bin oder ... Werten sehr begrüßen. Think
about it.

von Mike Schultz (Gast)


Lesenswert?

Moin,

hab noch einen kleinen Vorschlag zu deinem Programm, das mir ansonsten
sehr gut gefällt.

Du speicherst zwar die Fenstergröße, aber leider nicht die Aufteilung.
Das Outputfenster nimmt immer den gleichen Platz ein, während der Input
den REst bekommt. Schön wäre es, wenn die Aufteilung beim Start
auc hin der Inidatei abgelegt wird.

Mike

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Sorry für die späte Antwort. Gab kleine Probleme mit meinem
Inet-Anschluss

@Kurt
Sowas wird noch kommen. Als Workaround könnte man den gesamten
Fensterinhalt markieren (Ctrl-A) und dann per Rechtklick im gewünschten
Format kopieren und in eine beliebige Datei einfügen.

@Mike
Guter Vorschlag. Wird gemacht

von Benedikt (Gast)


Lesenswert?

Könntest du beim nächsten Update noch eine Unterstützung für ein paar
Handshakes einbauen ?
Vor allem CTS wäre hilfreich, denn das wird ab und zu genutzt um den
Datentransfer abzubremsen.

von leif (Gast)


Lesenswert?

hi tobi,

danke für deine mühen, sieht wirklich gut aus - lassen sich CTS & Co
auch manuell ein/ausschalten?
Ich habe eine kleine parasitäre Schaltung, bei der sowas zum einstellen
außerordentlich hilfreich wäre.

die leds finde ich persönlich nicht so schick, ein einfacher kreis der
aufleuchtet passt evtl. besser zum rest des
interfaces..geschmackssache

und lässt sich das programm dank wxwidgets eigentlich einfach auf linux
portieren (würde auch gerne was damit machen, blicke aber durch die
möglichkeiten nicht durch)?

In about.. critics bedeutet kritiker, ich glaube du meinst criticism
oder allgemein suggestions ;-)

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@benedikt
Wird gemacht. Steht auch schon länger auf meiner todo Liste aber bisher
hatte noch niemand gefragt ;)

@leif
CTS und Co sind eingehende Signale, diese können nur von der anderen
Seite beeinflusst werden. Von dem PC aus, auf dem das Terminal läuft
kann nur DTR und RTS gesteuert werden.

ich werd mal ausprobieren, wie ein schwarz/grauer Kreis aussieht.

Ich habe zwar wx benutzt aber leider gibt es dort keine Unterstützung
für die serielle Schnittstelle (man hätte die ctb-lib nehmen
können...), so dass alle diese Routinen extra portiert werden müssten.
Das ganze GUI liesse sich aber Problemlos ohne Änderung auf Linux/Mac
kompilieren.

Die Schreibfehler werd ich ganz schnell beseitigen :)

von NetRunner (Gast)


Lesenswert?

Hallo Tobi!

Auch von mir: herzlichen Glückwunsch zu dem sehr gelungenen Wurf für
Controllerprogrammierer!

2 Sachen sind meiner Meinung nach noch leicht zu ergänzen:

- Autoload Config on Start, &
- Autoload inkl. Auto Load Output

Vielleicht jeweils als Option, daß man bei Schwierigkeiten wieder
abwählen kann.

Schöne Grüße
NR

von Stefan M. (Gast)


Lesenswert?

Jo ich verwend dein Programm auch sehr häufig.
Ein Autoload von ner Konfiguration bei Start wär echt sehr hilfreich.

von NetRunner (Gast)


Lesenswert?

Achja ... noch eine Frage, Tobi ... im Abschnitt "Rechtliches" steht
es etwas uneindeutig über die gewerbliche Nutzung deiner Software:
"... solange nicht mit dem Programm selber Geld zu verdienen".

Wie ist der Abschnitt zu verstehen? Wird nur der "Weiterverkauf" des
Programms untersagt? ... was ja mehr als verständlich ist! ... oder
auch jeglichen gewerblichen Einsatz? ... Das wäre ja schade! ;)

von Mike R. (thesealion)


Lesenswert?

Was meint ihr eignetlich mit einem Autoload?
Eine erstellte Config Datei läßt sich beim Start automatisch laden,
einfach als Parameter übergeben.
Oder ist damit noch etwas anderes gemeint?

Mike

von NetRunner (Gast)


Lesenswert?

@Mike: Ja, genau diese Funktionaltät! Nur, daß es beim Start die zuletzt
abgespeicherte Config-Datei automatisch laden soll, ohne die Command
Line Option benutzen zu müssen.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@NetRunner
Von einem automatischen Laden habe ich bisher abgesehen, da dafür
irgendwo Informationen gespeichert sein müssten, welche Datei geladen
werden. Bisher habe ich immer versucht, ohne weitere immer benötigte
Dateies auszukommen. Ich könnte es allerdings einbauen, dass eine
Cfg-Datei mit einem bestimmten Namen immer geladen wird, wenn sie denn
vorhanden ist (z.b hterm.cfg o.ä).

Was genau stellst du dir unter Auto Load Output vor?

Nur der Weiterverkauf bzw überhaupt der Verkauf des Programms ist
untersagt, der gewerbliche Nutzung steht absolut nichts im Weg. Ich
würde mich sogar sehr darüber freuen, wenn das Programm nicht nur
Hobby-Bastlern zugute kommt.
Ich werd den Text noch mal ein wenig überarbeiten, damit es deutlicher
wird.

von NetRunner (Gast)


Lesenswert?

@Tobi

- Auto Load Config: das kannst ja mit einer Art "ifdef" lösen: falls
es eine cfg-Datei existiert, wird sie automatisch geladen. Wenn nicht,
alles Defaultwerte. Somit ginge auch alles ohne Extrafiles.

- Auto Load Output: der zuletzt abgespeicherte Output-Inhalt wird beim
Start automatisch geladen, sodaß man leicht die neuen Daten mit den der
letzten Sitzung vergleichen kann. Der Windows-eigene HyperTerminal
arbeitet beispielsweise so. Und zwar mit einem Auto Save Output
zusammen, was hier natürlich auch als optionales Feature wünschenswert
wäre. :-)

- Rechtliches: sehr schön, dann kann es dir sicher sein, daß wenigstens
schon ein gewerblicher Nutzer unter den Fans ist! ;)

von NetRunner (Gast)


Lesenswert?

Nachtrag: solche Pfad/Dateinamen-Geschichten werden oft mit der Registry
gelöst ... was zwar nicht unbedingt portierungsfreundlich ist, aber nur
aus wenigen Angaben besteht.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ich bin kein grosser Freund der Registry und hab deshalb bisher so gut
wie möglich versucht drumherumzukommen ;)
Die Lösung mit der default-Datei, die geladen wird, wenn vorhanden
gefällt mir aber gut. Werd ich in den nächsten Tagen einbauen. Der Rest
kann noch ein wenig länger dauern.
Wofür benutzt du denn das Programm im gewerblichen Bereich?

von NetRunner (Gast)


Lesenswert?

Hehe ... das mit der Registry habe ich schon gemerkt ;) Das kann man dir
nicht verübeln. Wo damals die Registry doch ins Rennen geschickt worden,
um das ganz große Wirrwarr im Windowsverzeichnis zu lösen. Daraus
entstanden ist ein noch größeres Wirrwarr und dazu noch weniger
Portierungsfreundlichkeit.

Vielen Dank für Dein Arbeit! :-)

Ich arbeite an Embedded Controllers im FPGA.

von Sandro (Gast)


Lesenswert?

komplement, ist ne saubere zweckmässige sache...
leider keine fehler gefunden die ich dir mitteilen könnte :-)

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

"leider keine fehler gefunden die ich dir mitteilen könnte :-)"

Das ist aber schade (-;

Überigens wird die nächste Version Daten direkt als CSV speichern
können

von NetRunner (Gast)


Lesenswert?

darf ich noch einen kleinen wunsch äußern? ;-)

eine möglichkeit zur einstellung der fonts im output- und inputfenster
wäre auch sehr hilfsreich für die leserlichkeit bei individuellen
bildschirmauflösungen der nutzer. :-)

schöne grüße
NR

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Darfst du ;)

Das Einstellen von Fonts kann ich leider kaum einbauen, da die ganze
Darstellung darauf beruht, dass nur Fonts fester Breite verwendet
werden. Die Grösse sollte aber irgendwie machbar sein, werd ich mich
demnächst mal durchwurschteln

von NetRunner (Gast)


Lesenswert?

soweit es mir bekannt ist, unterscheiden sich auch unter den
truetype-fonts zwischen proportionalschrift und fix width fonts. aber
die einstellung der schriftgröße sollte fürs erste völlig ausreichen
:-)

vielen dank für deine arbeiten! :)

von NetRunner (Gast)


Lesenswert?

achja ... noch was ... sehr hilfreich wäre noch, daß das scrollrad der
maus im output-bereich scrollen könnte.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Hm.. bei mir klappt das.
Werde mal auf einem anderen System mit anderen Mäusen probieren

von NetRunner (Gast)


Lesenswert?

ok ... ich arbeite hier noch unter Win2k. die maus hat einen ganz
normalen logitech-treiber.

hier läuft noch etwas anderes außerplanmäßig: obwohl ich bei "CR" nur
"CR" ausgewählt habe und nicht "CR+LF", läuft die ausgabe weiter
nach unten in immer neuen zeilen. hyperterminal macht es aber richtig
bei der gleichen gelegenheit.

von Mario Grimm (Gast)


Lesenswert?

Hi Tobi,
ich hab mir dein Programm runtergeladen.
Das ist wirklich Super und hat mir weitergeholfen :o)) DANKE!

Ein Fehler ist mir aufgefallen.
Ich wollte manuell die Baudrate ändern, weil ich mal einen krummen Wert
zum testen eingeben wollte, da ist das Programm abgeschmiert.
Wäre so etwas möglich?

Etwas spezielles könnte ich noch gebrauchen, aber das passt wohl nicht
so gut in das Programm.
Zum Bsp. ein paar Tasten die man mit einer bestimmten Sequenz belegen
kann die bei Druck gesendet wird. Gibt es so etwas, oder siehst Du da
eine Möglichkeit?

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Kannst den den Absturz reproduzieren, bzw tritt er nur bei einer
bestimmten Eingabe auf? Bei mir lief mit ein paar zufälligen Zahlen
alles glatt.

Solch eine Funktion ist für das Senden von Zeichenketten ist geplant,
kann aber noch einiges dauern, da mir im Moment leider die Zeit dazu
fehlt.

von Mario Grimm (Gast)


Lesenswert?

Hi Tobi,
ich Denke das ist nicht so schlimm.
Der Port war verbunden, als ich einen Wert eingeben wollte.
Wenn ich zum BSP. 9605 Baud eingebe, kann ich nicht verbinden, aber das
funktioniert wohl eh nicht. So gut kenne ich mich damit leider nicht
aus. Ich wollte nur Prüfen, in wie weit mein Programm mit Tolleranzen
zurecht kommt.

Gruß Mario

von Marcel (Gast)


Lesenswert?

in der aboutbox steht was von "non commercial use".
Was soll ich jetzt darunter verstehen? Darf ich das Ding benutzen um
Commercial Anwendungen zu entwickeln oder nicht??

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ja, darfst du. Ist noch etwas missverständlich formuliert. Das Einzige,
das verboten ist, ist der Verkauf der Software als Einzelnes oder als
Bestandteil eines Pakets.

Der Text für die nächste Version ist schon entsprechend korrigiert,
damit das deutlicher wird.

von MrFrost (Gast)


Lesenswert?

Hi Tobi,

klasse Tool, ich möchte es zum auslesen eines Messgerätes (langzeit
Messung) benutzen, und bräuchte somit die möglichkeit zeitgesteuert
(alle x sekunden)ein zeichen zu senden um den Meßwert zu bekommen.

hoffe du kannst da was machen.

Gruß

MrFrost

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Eine richtige Sciptsteuerung ist vorerst nicht in Planung, aber das
kontinuierliche Senden einer Datei (alle x Sekunden) werde ich
demnächst versuchen einzubauen.

von MrFrost (Gast)


Lesenswert?

Hallo Tobi,

hab mich wohl etwas undeutlich ausgedrückt.
Ich will nicht eine datei senden sondern nur ein zeichen senden, dann
sendet mein Messgerät den gemessen wert zurück.

Hoffe es ist nun deutlich.

Gruß

MrFrost

von Dirk B. (dirk-)


Lesenswert?

Hi,

was ist den daran so schlimm in der datei nur das eine zeichen
zuspeichern?

Gruß,

Dirk

von MrFrost (Gast)


Lesenswert?

Stimmt kann man auch machen, hab ich nicht drann gedacht.

Gruß,

MrFrost

von Ich B. (ichbin)


Lesenswert?

Hi Tobi,

danke für Dein nettes Programm. Es wäre schön, wenn die Eingabezeile
auch Focus behielte, wenn man auf Buttons klickt.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Gute Idee und danke für den Hinweis. Ab in die Todo-Liste damit ;)

von Michael Werner (Gast)


Lesenswert?

Hallo,
eine graphische Ausgabe der Empfangenen Werte wäre nett, wobei man hier
bestimmte Bytefolgen rausfiltern könnte (Steuerzeichen etc.)

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Was genau meinst du mit grafischer Ausgabe? Ich kann mir da so direkt
nichts drunter vorstellen.

von Michael Werner (Gast)


Lesenswert?

Hi,
wenn ich zum Beispiel einen 8-Bit Wert von einem Mikrokontroller über
die serielle hereinbekomme, könnte man die eintrudelnden Meßwerte in
einem Graphen darstellen. Eben punkte in abhängigkeit der Wertigkeit
auf einem Koordinatenkreus zeichnen. Das kann man bestimmt noch
verfeinern, aber so hätte man eine Graphische Ansicht.
Es gibt ein Proggie das soetwas macht.
Ich gebe hier ma den Link an:
http://bray.velenje.cx/avr/terminal/

von Benedikt (Gast)


Lesenswert?

Ja, die grafische Anzeige wäre super.
Wenn man dann noch eine Bytesequenz einstellen könnte, die die
Zeichenlinie wieder an den Beginn des Bildes setzen würde (quasi eine
Synchronisation), dann wäre das ganze perfekt.

von Wolfram (Gast)


Lesenswert?

Endlich ein Programm in dem man alle Baudraten einstellen kann und auch
den Status der Leitungen angezeigt bekommt! Ideal zur
Mikrocontrollerentwicklung.

Ok. jetzt kommt die Wunschliste ;-)
Mit USB seriell Wandlern kann man auch 1 Mbit einstellen
(Kann man auch im Programm) Die Anzeige ist aber um eine Stelle zu
klein.
Sehr nützlich wäre auch eine Unterstützung der Handshaking Protokolle
RTS/CTS.
Insbesondere bei höheren Baudraten sollte ein Mikrocontroller auch zum
PC sagen können Stop jetzt erstmal. (CTS Leitung aktivieren)
Ich weiss nicht wie ihr sowas debuggt. Ich nehme vorgefertigte Pakete
in Dateien ,sende diese und schaue mir den Output an.
Praktisch fände ich wenn der Status der CTS Leitung bei der
Unterstützung des RTS/CTS Handshakings mit auftaucht evt. mit Zeit
die die CTS Leitung das Senden verboten hat. Da bekommt man eine Ahnung
wo es kritisch wird und wann man seine internen Puffer vergrößern
sollte.

von Michael Werner (Gast)


Lesenswert?

Hallo,
oh ja mir fällt auch so viel ein,....
Hier noch eine Spnnerei von mir:
Ich sende oft einzelne bytes über die serielle, mit der ein PWM Kanal
gesteuert wird.
Schön wäre es zum Beispiel, wenn man einen Schieber hätte, der
entsprechend seiner Stellung ein oder mehrere Bytes schickt.

Also schieber einstellen, druck auf einen Button, und der Wert wird
gesendet. Oder mit rechter Maustaste schieben, und beim loslassen
senden.

von NetRunner (Gast)


Lesenswert?

es wird wirklich zeit für eine skriptimplementation hier ;)
aber ich glaube, wir versuchen gerade den tobi restlos zu überlasten ;)

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Überlasten noch nicht, aber auslasten ganz sicher :)

Danke erstmal an alle für die Vorschläge, die meisten sollten sich
umsetzen lassen. Über eine Scriptsprache denke ich auch schon einige
Zeit nach (die Thematik interessiert mich auch so), vondaher werde ich,
wenn das nächste Update raus ist auch mal ein wenig damit
experimentieren. Ob das aber was wird kann ich bisher nicht sagen, ich
wälze gerade erst einmal die flex und bison manuels durch

von Markus (Gast)


Lesenswert?

Hallo zusammen,

gibt es eigentlich so ein Progrämmle auch für eine
Ehternetkommunikation? Ich versuche verzeifelt mit einem Gerät zu
kommunizieren, was über TCP/IP binär (CoLa B) angesprochen werden
will...

Das Programm werde ich aber auf jeden Fall mal mit einer seriellen
Kommunikation testen.

von Wolfram (Gast)


Lesenswert?

telnet IP-Adresse Port

Hyperterminal TCP/IP Verbindung

von Andreas W. (Gast)


Lesenswert?


von Markus (Gast)


Lesenswert?

schon getestet, aber wie stelle ich dar binäre oder hex-werte da?

von Ich B. (ichbin)


Lesenswert?

Hi Tobi, falls Du noch Anregungen brauchst:

 - fortlaufende Nummerierung der Empfangszeilen (und Sende~?)
 - führende Leerstellen bei empfangenen Zeichen anzeigen ( macht nur
Sinn, wenn Werte Dezimal als ASCII übertragen werden; aber in dem Fall
ist eine rechtsbündige Anzeige vielleicht sinnvoll, sonst bringt ein
Wert mit +- einer Stelle alles durcheinander).

Danke für's Programm!

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Die Zeilennummerierung haben schon mehrere vorgeschlagen, aber bisher
habe ich noch keinen Weg gefunden, auch längere Zahlen vor die Zeilen
zu schreiben. Bei mehreren Ausgabeformaten geht das ja noch, aber bei
z.B nur Ascii wird es doch arg schnell eng.

Was meinst du genau mit führende Leerstellen anzeigen? Wird bisher
irgendetwas nicht korrekt angezeigt? Rechtsbündig wäre nur für einen
sehr sehr eingeschränken Bereich sinnvoll, vondaher hat das erstmal
keine so hohe Prioriät.

Trotzdem Danke für die Vorschläge, ich bin immer für gute Ideen zu
haben :)

von Ich B. (ichbin)


Lesenswert?

Hi Tobi,

vergiß das zweite, dafür kann man schließlich CR senden. Ich hatte eine
Reihe von Werten mit dem Umbruch-Feature untereinander aufgelistet, aber
das ist natürlich bei einem Wert mit abweichender Stellen-Zahl heillos
durcheinandergeraten..

Das erste ist mir auch nur aufgefallen, weil mir das Autoscrollen mal
nicht aufgefallen ist, und ich dachte, der Wert hätte sich nicht
geändert. Vielleicht geht auch ein Farbverlauf, oder statt Zeilennummer
eine Farbklecks links, die dann mitscrollen..

Benutzt Du eigentlich die ctb Lib mit wxWidgets? Ich will demnächst ein
Steuerprogramm für eine µC-Schaltung schreiben, und muß mir noch eine
Plattform suchen. Qual. Es soll vor allem unter Linux laufen, aber das
angeeignete Können soll auch unter Win zu was nütze sein. Naja, mal
sehen.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Nein, die ctb-Lib verwende ich nicht. Ich habe mir den Code aber vorher
eingehend angeschaut, weil dort alles sehr schön ausführlich und gut
dokumentiert ist. Ich brauchte aber eine Klasse, die ereignisorientiert
und blockierend arbeitet (da in einem Thread). Deshalb war die ctb
sonderlich gut geeignet. Sonst hab ich aber bisher nur gutes von der
Lib gehört, scheint also empfehlenswert zu sein.

Wegen dem schlecht sichtbaren scrollen habe ich schon eine Lösung. Wenn
man die Maus über ein Zeichen hält wird seine Position (im Puffer)
angezeigt, und wenn diese sich ändert sieht man ja dann, dass das ganze
scrollt. Werd nachher oder morgen mal einen Screenshot von der neuen
version einstellen

von Ich B. (ichbin)


Lesenswert?

Alles klar, danke.
Ich könnte gerade gut gebrauchen, daß die Steuerzeichen-Optionen
(send-on-enter) als Checkboxen oder als Buttons zum Einzelversand
vorhanden wären.
brauchst nicht zu antworten.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Hier mal eine kleine Vorschau
Die wichtigsten Neuerungen:
- Neue Optionen beim Speichern
- komplett neue Eingabezeile mit einigen neuen Hotkeys
- neues Autosend für Dateien und die Eingabezeile (löst Sendfile ab)

von Tobi H. (tobi-) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ups, jetzt auch mit dem Bild, das eigentlich dazu sollte :)

von Matthias B. (fluchtpunkt)


Lesenswert?

Hiho,

erstmal, tolles Programm.

und nun ein kleiner Verbesserungsvorschlag; ich würde eine Art
timestamp am Anfang der Zeile toll finden. Entweder als absolute Zeit
oder, imho noch besser, als Zeit seit dem letzten Paket.


Matthias

von Tal U. (talumb)


Lesenswert?

Könntest du noch Schaltflächen hinzufügen mit denen man die Ausgangspins
direkt steuern kann?

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Die beiden ausgehenden Statusleitungen lassen sich mit DTR und RTS unter
Input Options direkt ansteuern. Für den TxD-Pin ist das leider
prinzipiell nicht möglich.

von sonst_wer (Gast)


Lesenswert?

wir waers hiermit:

if(TxD_Pin)
    EscapeCommFunction(com_h, SETBREAK);  // TxD_set
else
    EscapeCommFunction(com_h, CLRBREAK);  // TxD_reset

hiermit kannst du TxD setzen
ps.
Super Programm
hat mir schon einige Arbeit erleichtert

von Marcel (Gast)


Lesenswert?

abo

von *.* (Gast)


Lesenswert?

Aber Achtung: Wenn man sendet während Break an ist kommt die
WriteFile-Funktion nicht mehr zurück.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

So etwas hatte ich mir schon fast gedacht. Dann werde ich genau
kontrollieren müssen, ob wirklich alles gesendet wurde bevor break ran
darf.
Ich wusste bisher garnicht, dass das setzten von TxD mit Break geht.
Steht in der MS-Hilfe garnicht drin :|

von sonst_wer (Gast)


Lesenswert?

bin mal auf deine neuesten versionen gespannt :)

ach ja für bitbanging ist das allerdings weniger geeignet
seehr langsam
1,4 MB über SPI(-over-RS232) machen definitiv KEINEN Spaß

(Kein/e Sarkassmus/Ironie:
Bau noch ne routine für lpt ein und
wir nennen dich nicht mehr gott,
sondern root und verneigen uns in Ehrfurcht)

von *.* (Gast)


Lesenswert?

Hab ein Fehlerchen gefunden (0.6.1beta):

- RTS reindrücken
- Parity oder eine andere Option verstellen
-> RTS geht am Kabel aus obwohl der Knopf noch reingedrückt ist

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ist behoben. Das Schreiben des DCB killt äußerst sorgfältig alle
Einstellungen.

@sonst wer
Nein, für bitbang ist das sicherlich schlecht geeignet, dafür wird es
bei HTerm auch nie zu gbrauchen sein, es sei denn jmd hat Spaß an
BitBang per Button. Bin auch mal gespannt auf die nächste Version,
überigens Gott reicht mir voll und ganz (-:

von sonst_wer (Gast)


Lesenswert?

noch ein Vorschlag zur Verbesserung:
- Ein Button mit dem man das Autoscrollen des Outputfensters
  anhalten/fortsetzen kann
- Eine Funktion zum speichern der aktuellen Einstellungen
- Ändern des Output-Font zulassen, min. schriftgröße ändern lassen

von NetRunner (Gast)


Lesenswert?

es lohnt sich bald, für HTerm einen Wiki einzurichten.
die feature requirements fangen langsam an, sich zu wiederholen. ;)

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

"- Ein Button mit dem man das Autoscrollen des Outputfensters
  anhalten/fortsetzen kann"

Dieser Button heisst 'Autoscroll' und befindet sich in den Output
options neben den Statusleitungen-Anzeigen.

"- Eine Funktion zum speichern der aktuellen Einstellungen"

Im Menu File/Save config as. Wenn du diese Datei unter dem Namen
'hterm.cfg' im gleichen Verzeichnis speicherst, in dem die .exe-Datei
liegt, wird sie jedes mal beim Start automatisch geladen.

Ein Ändern der Fontgrösse fehlt bisher noch. Ist leider etwas
komplizierter Einzubauen, deshalb kann ich nicht sagen, wann das etwas
wird.


"es lohnt sich bald, für HTerm einen Wiki einzurichten."
Hier im mc.net-Wiki könnte man wirklich mal eine Seite dazu machen.
Vllt auch mit ein paar weiteren Erklärungen zur Bedienung. Oft ist ja
alles da, nur hab ich es wohl so konfus benannt, dass es keiner
findet.. (-:

von sonst wer (Gast)


Lesenswert?

Bitte zur Kenntnis nehmen:
! "sonst_wer" ungleich "sonst wer" !

@sonst_wer: lies dir bitte mal ne die (ausführliche) Anleitung durch

von NetRunner (Gast)


Lesenswert?

Hi Tobi!

Gibt es vielleicht inzwischen eine aktuelle "Nightly Build"? ;) Wenn
ja, magst Du sie vielleicht mal hochladen? :)

schöne Grüße
NR

von Christian (Gast)


Lesenswert?

Hey,

Dein Terminal-prog gefällt mir sehr gut!
Hat mir aber gerade einige Schwierigkeiten mit den AT-Kommandos für
mein Handy bereitet:

es fehlt die Möglichkeit z.B. ctrl+Z zu senden...
Also statt CR, LF Space...
Gäbe es nicht die Möglichkeit das in dein INI-File aufzunehmen wie beim
CR@ ?
das Wäre Opti !

Thx!

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Nach langer langer Zeit gibts mal wieder eine neue Version (0.6.3):

Neben einigen Detailsverbesserungen gibts jetzt eine Funktion zum
automatischen wiederholten Senden von Dateien oder der Eingabezeile.
Ausserdem ist das speichern in unterschiedlichen Formaten jetzt
möglich.
Eine Funktion, um einen selbstdefinierten Text bei 'Send on enter'
anzugeben gibts jetzt auch. Dabei kann man einen String angeben, der
vor die Eingabezeile gehöngt wird, und einen, der dahin angehängt wird.
Bisher allerdings nur per cfg-Datei konfigurierbar. Alles weiter verrät
die Hilfe (Stichwort: custom_prefix/postfix)

Da recht viel verändert wurde können sich auch gut ein paar Fehler
eingeschlichen haben, trotz sorgfältigem Testen (das passiert ja sogar
den grössten Softwareanbietern ;). Wer etwas findet, bitte hier oder
mit per Mail schreiben, damit ich das schnellstmöglich korrigieren
kann.

Ausserdem ist jetzt eine Datei License.txt mit im zip, in der
hoffentlich jetzt etwas eindeutiger steht, was mit dem Programm erlaubt
ist, und was nicht (und, dass ich nix dafür kann, wenn das Programm
irgendetwas kaputt macht :)

Viel Spass beim testen!
http://www.der-hammer.info/terminal/index.htm

Tobi

von irgendwer (Gast)


Lesenswert?

Typkonvertierung bei Eingabe 512 -> 02 00

von irgendwer (Gast)


Lesenswert?

Output wie in der Anzeige speichern (alle gewählten Formate, mit
Umbrüchen)

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

"Typkonvertierung bei Eingabe 512 -> 02 00"

Das passiert bei dezimaler Eingabe schon. Bei allen anderen Eingabemodi
bringt eine solche Konvertierung keinen Vorteil.
Dass eine dezimale Zahl als 2 Byte interpretiert wird erkennt man an
dem etwas dunkleren Rotton

"Output wie in der Anzeige speichern (alle gewählten Formate, mit
Umbrüchen)"

Etwas mehr Arbeit aber werd ich auch mal versuchen

von irgendwer (Gast)


Lesenswert?

cool!

von bastler (Gast)


Lesenswert?

Hallo Leute,
Ich habe mal eine Frage zur Verwendung des Mausrades:

Funktioniert das scrollen mittels Mausrad nur bei mir nicht
oder
gibt es damit ein echtes Problem ?

P.S.
währe echt super wenn man mit auch mit der Maus scrollen könnte,
wenn man nicht direkt auf dem Ausgabe-/Programmfenster ist.

Wie siehts eigentlich mit nem veränderlichen Font aus ?
(Größe, Schriftart, Farbe[Schrift- und Hintergrund-])

von NetRunner (Gast)


Lesenswert?

Hi Bastler!

Das Problem mit dem Mausrad habe ich schonmal angesprochen. Es ist in
der neuen v0.6.3 leider geblieben. Sowohl unter Win2k SP4 als auch
unter WinXP Pro SP2 und unabhängig davon, ob ich ins
Input/Output-Bereich geklickt habe, kann ich die Inhalte in beiden
Bereichen nicht mit dem Mausrad scrollen. Auf beiden Systemen bei mir
ist ein Logitech-Maustreiber installiert. In anderen Programmen habe
ich dieses Problem allerdings nicht.

Auch das mit der Fonteinstellung habe ich vor ein paar Monaten hier
angesprochen. Ich denke, Tobi arbeitet schon dran.

Ein Frühlingsgruß
an alle Bastler unter uns! ;)


P.S. der Wiki-Bedarf hier wird immer dringender! ;)

von Benedikt (Gast)


Lesenswert?

Also bei mir geht das Scrollen mit Mausrad wunderbar.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ob das scollen funktioniert liegt wohl an der verwendeten Maus (bzw dem
Treiber). Bei einigen wird das Drehen des Mausrades wohl automatisch in
scrollen umgesetzt, bei einigen nicht.
Ich werd versuchen, dass so umzuändern, dass es nicht mehr vom Treiber
abhängig ist.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Alle, die Probleme mit dem Scrollen hatten, die Datei noch einmal
herunter laden. Das sollte jetzt bei jedem klappen. Allerdings muss
dafür das Fenster markiert sein (blauer Rand).
Die Versionsnummer ist gleich geblieben, sonst sollte sich auch nichts
geändert haben.

von NetRunner (Gast)


Lesenswert?

Vielen Dank, Tobi! :-) Auch für die anderen neuen Funktionen in der
v0.6.3!

hehe ... auf die Gefahr hin, daß ich Dich wieder damit nerve ... ;-)
Kannst Du die Scrollgeschwindigkeit vielleicht auch vom System
übernehmen? Es scheint momentan so zu sein, daß sie im Output-Fenster
bei HTerm fest eingestellt ist bei genau einer Zeile pro
Mausrad-Schritt, egal ob ich 6, 10 Zeilen oder eine ganze Seite per
TweakUI einstelle.

Schöne Grüße :-)
NR

von Thomas (Gast)


Lesenswert?

ist es eigentlich auch irgendwie möglich mit dem Programm nur zu
lauschen, also den Datenverkehr eines COM Ports mitzuschneiden?
Sobald ich mich mit einem Port verbinde ist der ja für andere
Anwendungen nicht mehr verfügbar.

Ansonsten: Tolles Programm

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Das ist so ohne weiteres nicht möglich, da Windows standardmässig nur
den exklusiven Zugriff zulässt. Die Anwendungen, die ich bisher zum
belauschen gesehen habe umgehen das, indem sie einen eigenen
Comport-Treiber dazwischen hängen. Davon hab ich allerdings bisher
keinen blassen Schimmer ;)
Bei Sysinternels gibt es aber eine kostenloses Programm zum
mitschneiden

@NetRunner
Sollte möglich sein, ich werd mich mal schlau machen. Bisher ist das
auch alles hardcoded.

von TravelRec. (Gast)


Lesenswert?

Hi Tobi,

oft und gerne arbeite ich mit Deinem Programm. Nun habe ich mal aus
Versehen den "Show errors" Haken gesetzt und - siehe da, meine ganzen
Datensätze, die ich vom Controller sende, sind rot. Trotzdem stimmen die
Daten ausnahmslos. Hin und wieder erscheint im Datenstrom auch mal ein
grünes Byte, aber eben nur manchmal. Worauf gründet sich die
Error-Anzeige bzw. wann wird ein Byte rot markiert, obwohl es
eigentlich korrekt gelesen wurde?

Schöne Grüße!
TravelRec.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Die Funktion leitet direkt die Fehler weiter, die bei SetCommMask ein
EV_ERR auslösen. Das sind
CE_FRAME - framing error
CE_OVERRUN - rx buffer overrun
CE_RXPARITY - parity fehler beim empfang

Irgendeine dieser Bedingungen tritt wohl immer auf. Ich kann nächste
Woche mal eine Debug-Version fertig machen und dir schicken, die
genauer ausgibt, was für ein Fehler aufgetreten ist.
Noch eine Sache ist wichtig: Da man nicht genau feststellen kann,
welches Byte in einem kompletten Block eingelesener Daten falsch ist,
wird immer der ganze Block als falsch markiert. Dadurch kann bei
schneller Übertragung (=grössere Blöcke) auch bei vereinzelten Fehlern
recht viel Rot werden.

von TravelRec. (Gast)


Lesenswert?

Das wäre sehr schön, wenn man den Fehler genau sehen könnte. Vielen Dank
für Deine Mühe!

eMail: info@travelrec.de

Schönes Wochenende!

TravelRec.

von TravelRec. (Gast)


Lesenswert?

Hi Tobi nochmal,

Asche auf mein Haupt, Dein Programm macht alles richtig, mein USART war
falsch initialisiert (ein Bit verrutscht in UCSRB, dadurch ein Framebit
zu viel :-\ nicht gesehen in der Aufregung...). Mit der neuen Init
klappt dann wieder alles wie gewohnt.

Trotzdem schönes Wochenende!
TravelRec.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Gut, dann hat die Fehleranzeige doch schon einmal was gebracht:)
Auch ein schönes WE

von NetRunner (Gast)


Lesenswert?

Eine sehr geniale Debugginghilfe ist die neue TimeStamp-Funktion im
Output. Ich schätze mal, sie basiert auf die Systemticks der
Rechneruhr. Die aktuelle Lösung rechnet die Zeit auf Millisekunde genau
um. Wäre es möglich, die Genauigkeit noch eine oder 2 Stellen, oder
gleich auf Mikrosekunde weiter zu erhöhen?

Schöne Grüße
NR :)

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Intern wird die Zeit auf 100ns genau gemessen, allerdings dann auf
Millisekunden heruntergerechnet um Speicherplatz zu sparen. So kommt
man mit 32bit aus, ohne das es sonderlich oft/schnell einen Überlauf
gibt. Für höhere Genauigkeit müsste ich 64bit Speichern, dass wird bei
einigen MB im Ausgabefenster schon einiges mehr. Ich werd aber mal
schaun, ob sich noch ein oder zwei Stellen machen lassen.

von NetRunner (Gast)


Lesenswert?

hehe ... alles klar ... vielen dank! :) die kleinsten zeitabstände bei
mir sind im einstelligen mikrosekundenbereich. allerdings käme ich
schon mit 2 stelligen µs angaben sehr gut klar!

das mit einigen MB im ausgabefenster in der embedded-entwicklung würde
aber auch schon nach zwischenspeicherungen schreien! ;)
außer ... man versucht mit HTerm den download von WinXP SP2 vom
m$-server mitzuschneiden :D

schöne grüße
NR :)

von *.* (Gast)


Lesenswert?

Wie sinnvoll sind solche kleinen Zeitangaben eigentlich? Bis die Daten
vom UART durch den Windows-Kernel zum Anwendungsprogramm kommen geht ja
einiges ab im System.

von Wolfram (Gast)


Lesenswert?

Ich bin gerade über einen Fehler in Version 0.6.1 gestolpert.
Ich arbeite mit einem USB-seriell Adapter am MC. Wenn ich Connect mache
und zwischenzeitlich den Strom wegnehme wird der COM Port gelöscht und
wenn er der Strom wieder angeschaltet wird ist er wieder an dem
gleichen COM Port. Wenn wieder aus dem Terminal gesendet wird ohne
erneuten Connect geht ein warte Sendefenster auf. das nicht beendet
wird.
Ist ja auch klar da er zwar auf den gleichen COM Port zugreift aber auf
ein ungültiges Handle.
Ich weiss nicht ob es inzwischen behoben wurde, ich vermute nicht.
Für ein normales Terminalproggi ist die Situation vielleicht etwas weit
hergeholt, aber Hterm ist ein hervorragend geeignetes Programm zum
seriellen debuggen mit MC insbesondere mit USB-Seriell Adaptern und da
kommt sowas öfters vor.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ich habe die Situation mal nachgestellt. USB-seriell dran, connect,
abziehen und wieder neu anstecken. Sollte den gleichen Effekt haben wie
das von dir beschriebene. Senden funktioniert danach natürlich nicht
mehr, aber was für ein warte-Sendefenster meinst du? Was hast du genau
gemacht, damit es kam, oder kannst du einen Screenshot anhängen?

von Wolfram (Gast)


Angehängte Dateien:

Lesenswert?

>Sollte den gleichen Effekt haben wie das von dir beschriebene
genauso und es muss der gleiche COM-Port sein auf den erneut gesendet
wird. Dann kommt dieses Fenster

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ok, das Datei senden war der Schritt, der mir noch fehlte. Ich hab
schonmal was gesucht und ich denke es sollte machbar sein, dass, wenn
der Port nicht mehr vorhanden ist, automatisch disconnected wird. Das
werd ich mal einbauen müssen.
Danke für den Hinweis!

von Florian W. (flowe)


Lesenswert?

Hallo Tobi,

Has du evtl vor in deinem Programm XYZ-Modem zu implementieren?

Gruß Flow

von Wolfram (Gast)


Lesenswert?

Eigentlich sollte der Zugriff auf die Schnittstelle einen Fehler
liefern. Ich würde sowas wie
ERROR_INVALID_HANDLE The handle is invalid.  6 (aus winbase.h)
bei GetLastError erwarten.
Insoweit würde ich auch erst bei einem erneuten Zugriff prüfen ob die
Schnittstelle geschlossen wurde falls WriteFile keinen Fehler liefert.
Denn wenn du auf einen Disconnect prüfst schaffst du Dir ein Problem da
du ständig pollen müsstest und das Abziehen und Wiederanstecken oder
(Stromlos machen) kann sehr schnell gehen und dann ist der Port ja
wieder da aber du hast kein gültiges Handle mehr.

von René K. (king)


Lesenswert?

Das Pollen der Ports ist nicht nötig. Windows verschickt Nachrichten,
wenn sich die Konfiguration ändert. Abonnieren lassen sich die Messages
per RegisterDeviceNotification (DBT_DEVTYP_DEVICEINTERFACE), aufkündigen
lässt sich das Abo per UnregisterDeviceNotification.

Das Interface, das es zu überwachen gilt, hört auf den Namen
GUID_DEVINTERFACE_COMPORT (siehe WinIoCtl.h).

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@Florian
Von XYZ-Modem habe ich bisher noch nichts gehört. Wenn du eine gute
Seite mit Infos dazu hast werd ich mir das mal anschaun.

@Wolfram / Rene
Ich hab gerade mal ausprobiert ob WriteFile einen Fehler meldet, aber
da kommt leider garnichts bei raus. Die Funktion bleibt nur
kommentarlos hängen. Ich hatte die 'FindFirstChangeNotification' u.ä
Funktionen gefunden, mit denen man erkennen könnte, ob die
Schnittstelle nicht mehr vorhanden ist/sich verändert hat.
RegisterDeviceNotification sieht auch sehr interessant aus, da werd ich
mal etwas zu suchen. Damit sollte es auch möglich sein, automatisch die
Comport-Liste zu aktualisieren, wenn sich etwas verändert hat. Könnte
man nicht mit DBT_DEVTYP_PORT einfacher einen bestimmten Port
überwachen? Soweit ich das verstanden habe, informiert micht
DBT_DEVTYP_DEVICEINTERFACE über Änderungen an jedem Port. Ich rätsel
auch gerade noch, wie ich dann bei einer WM_DEVICECHANGE Message
herausfinde, welcher Port genau gemeint ist.

von Wolfram (Gast)


Lesenswert?

>Ich hab gerade mal ausprobiert ob WriteFile einen Fehler meldet, aber
>da kommt leider garnichts bei raus. Die Funktion bleibt nur
>kommentarlos hängen

Auch wenn du einen Timeout gesetzt hast?

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Writefile geht auch ohne Timeouts, hatte einen Denkfehler. Da ich
Overlapped IO benutz kommt immer ein Fehlercode, da hatte ich nicht
dran gedacht mal auf den Fehlertyp zu checken. Writefile liefert
korrekt ERROR_ACCESS_DENIED zurück. Da werd ich mal etwas basteln.

von René K. (king)


Lesenswert?

> Ich rätsel auch gerade noch, wie ich dann bei einer WM_DEVICECHANGE
> Message herausfinde, welcher Port genau gemeint ist.

In dbcc_name der DEV_BROADCAST_DEVICEINTERFACE Struktur steht der Name.

von Florian W. (flowe)


Lesenswert?

Hi Tobi,

Hier steht ein bischen was drüber:
http://en.wikipedia.org/wiki/XMODEM

oder mit genauen Ablauf (sogar in deutsch g):
http://www.embedded-os.de/index.html?proto-xmdm.htm

ich kämpf momentan damit Anständige c-files für XModem für eine
Embedded-Anwendung auf einem MSP430F449 zu bekommen. Gar nicht so
einfach. (Falls jemand zufällig da was hat oder drüber weiß bin ich
auch offen für Tipps)
Und zum testen währe so ein Terminal mit Unterstützung dieser
Protokolle eine feine Sache.

PS:Falls du noch Infos brauchst kann ich dir evtl. noch weiterhelfen.

Gruß Florian

von TravelRec. (Gast)


Lesenswert?

Hi Tobi,

wenn´s gerade um Anregungen geht:eine Flußkontrolle via RTS/CTS wäre
eine sehr geniale Sache - es ist schon sehr hilfreich, wenn
angeschlossene Hardware das Senden vom PC aussetzen kann, wenn sie
gerade viel zu tun hat. Der PC ist ja eigenlich schnell genug durch das
FIFO, auf dessen Sete sollte es eher selten Probleme geben... Ich
glaube, das wurde weiter oben schon mal angefragt.

Einen schönen Tag noch!
TravelRec.

von Wolfram (Gast)


Lesenswert?

Also zumindest zuschaltbare CTS Flusskontrolle wäre sehr wichtig, ich
benutze USB/Seriell mit 500KBit und wenn der interne Empfangspuffer des
Mikrocontrollers voll ist setze ich CTS. Daran scheitert es im Moment
noch mit HTerm, das zu Debuggen. Ist eigentlich nur eine Änderung in
der DCB(fOutxCtsFlow). Als Erweiterung könnte man darüber Nachdenken
die Sendezeiten zwischen den einzelnen Bytes anzugeben, da man dann
sehr schnell sieht wie schnell der Mikrocontroller Blöcke verarbeitet
und wie gross sein Inputbuffer ist.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@Florian
Danke, ich werd mir das mal durchlesen.

@Wolfram & TravelRec
RTS/CTS kommt auf jeden Fall rein.
Was meint ihr, sollte der User die Möglichkeit haben RTS per Hand zu
beeinflussen, wenn Flusskontrolle aktiviert ist oder sollte RTS fest
aktiviert sein?

Die Zeit zwischen bytes zu setzen geht glaub ich nicht ganz so einfach,
aber muss ich mal überlegen ob das machbar ist.

Als nächstes kommt an grösseren Änderungen erstmal Flow-Control und die
automatische Erkennung rein, ob der Port abhanden gekommen ist.

von NetRunner (Gast)


Lesenswert?

das klingt schon nach einer logic-analyzer-funktion mit triggerbedingung
für die RTS-aktivierung ;)

von Wolfram (Gast)


Lesenswert?

>RTS/CTS kommt auf jeden Fall rein.
Anwählbar
>Was meint ihr, sollte der User die Möglichkeit haben RTS per Hand zu
>beeinflussen, wenn Flusskontrolle aktiviert ist oder sollte RTS fest
>aktiviert sein?
Von Hand aktivierbar, allerdings würde ich RTS nicht unbedingt fest in
die Flusskontrolle einbinden. Ok man kann prüfen ob ein Gerät vorhanden
ist, allerdings habe ich dies auf Mikrocontrollerseite bisher noch nie
gemacht. Auf Mikrocontrollerseite damit zu rechnen das der PC sagt
"nein ich will jetzt keine Daten" damit würde ich nicht rechnen. Nur
wenn man die Kommunikation zwischen 2 Mikrocontrollern simulieren
will.
Insoweit ist es wahrscheinlich besser die RTS/CTS Flusskontrolle
jeweils einzeln zu behandeln/zuschaltbar zu machen. Vom DCB steht da ja
auch nichts entgegen.
>Die Zeit zwischen bytes zu setzen geht glaub ich nicht ganz so
>einfach,aber muss ich mal überlegen ob das machbar ist.
Zwischen den einzelnen Bytes ist es eigentlich nicht so interessant,
nur zwischen den Blöcken. Vielleicht gibt es eine Möglichkeit beim
Wechsel der Signalleitungen nachzuschauen wieviel des seriellen Puffers
schon übertragen wurde.
>Als nächstes kommt an grösseren Änderungen erstmal Flow-Control und
>die automatische Erkennung rein, ob der Port abhanden gekommen ist
Ich freu mich schon auf die nächste Version...

von TravelRec. (Gast)


Lesenswert?

>>Ich freu mich schon auf die nächste Version...

Ich auch!!! ;-)

von bani (Gast)


Angehängte Dateien:

Lesenswert?

Hi Tobi,
ein super Tool, DANKE!

Frage: Warum erfolgt die Trennung bei der DEC-Eingabe nicht bei 8 bit?

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Das ist absichtlich, denn es besteht die Möglichkeit auch 16bit Werte
einzugeben. Ob eine Zahl als 8 oder 16bit interpretiert wird erkennt
man an dem dunkleren Rotton. Die beiden Bytes werden einfach
hintereinander gesendet.

@all
Wenn jemand Probleme wegen einer fehlenden MSVCRTxyz.DLL hatte, bitte
noch einmal das Programm neu herunterladen. Der Fehler sollte behoben
sein.

von Ralf A. (warpnine)


Lesenswert?

Hi Tobias,

ich hab mir dein Prog gerade runtergeladen und mal angeschaut, macht
wirklich einen guten Eindruck.

Ich hätte auch gleich mal ne Frage dazu:
Gibt es eine Möglichkeit, zwischen einzelnen Zeichen bzw. Zeilen (die
vielleicht über einen einstellbaren "Separator" definiert werden)
eine Wartezeit einzufügen?

Ralf

von Benedikt (Gast)


Lesenswert?

Hab einen kleinen Bug gefunden, ist nicht schlimm aber wenn es keine
Mühe macht könnte man es bei einer der nächsten Versionen beheben:
Wenn man eine Datei gesendet hat, bleibt diese anscheinend noch
geöffnet.
Erst als ich erneut auf Datei senden gegangen bin, war der
Schreibzugriff auf diese Datei frei.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@Ralf
Das läßt sich sicherlich machen, aber bisher hab ich noch keine Idee
wie genau. Bräuchtest du das denn beim Datei-Senden oder beim Senden
der Eingabezeile?
Längerfristig habe ich geplant, in der Eingabezeile bestimmt
Steuersequenzen einzubauen

@Benedikt
Ich kann diesen Bug bei mir nicht reproduzieren. Ich habe eine Datei
erstellt und bin auf endlos senden gegangen. Während des Sendens konnte
ich die Datei verändern und speichern. Die Änderungen wurde sogar
korrekt sofort auch gesendet.
Kannst du mir eine genaue Beschreibung der Schritte geben, die bei dir
den Fehler verursachen?

von Ralf A. (warpnine)


Lesenswert?

Hi Tobias,

> Bräuchtest du das denn beim Datei-Senden oder beim Senden der
> Eingabezeile?

Ich weiss nicht, ob es auch in der Eingabezeile Sinn macht, ich muss
erstmal mit dem Prog spielen.

Ralf

von Benedikt (Gast)


Lesenswert?

Ich hatte ein BMP an einem uC geschickt, gemerkt dass es gedreht war,
daher habe ich die Datei in einem Bildbearbeitungsprogramm geöffnet,
die Datei um 90° gedreht und als die Übertragung in Hterm fertig war
auf Speichern gedrückt: Meldung: Auf die Datei kann nicht zugegriffen
werden.
Dann bin ich in Hterm auf Send File gegangen und nun ging das
speichern.

Das ganze kann ich reproduzieren.

von Ralf A. (warpnine)


Lesenswert?

@Tobias:

Mir ist noch ein "Feature" eingefallen, aber erst mal die Erklärung
zu meiner Frage mit dem Delay zwischen Zeichen/Zeilen:

Wenn ich beispielsweise eine Controller-Schaltung bastle, die ihre
Befehle vom PC bekommt, müsste ich immer den Befehl in der
Controller-Software implementieren, und direkt drauf in der
PC-Software, um den Befehl testen zu können.
Wenn ich das ganze manuell in einer Textdatei mache, kann ich mich voll
auf eine Software konzentrieren.
Der Knackpunkt wäre dann aber (als Beispiel) folgendes:
Wenn der Controller z.B. eine gewisse Zeit braucht, um den Befehl
abarbeiten zu können, würde ja beim Senden ohne Wartezeit der Puffer
überlaufen. Ich weiss, könnte ich mit Handshake erschlagen, aber wenns
in der endgültigen Version kein Handshake geben soll, bringts ja nix.
Deswegen die Sache mit dem Delay.

Zu dem "Feature":
Wie wäre es, wenn dein Terminal-Programm (aus dem gleichen Grund wie
oben) die nächste Zeile erst dann sendet, wenn z.B. vom Controller ein
ACK kommt?
Ob das in deiner Software Sinn macht, musst aber freilich du beurteilen
;-)

Ralf

von Georg (Gast)


Lesenswert?

@Tobias
Hallo,

Ich habe gerade dein Programm im Internet gefunden und nach ersten
Testläufen muss ish zugeben, dass es einfach super ist. :-)
Jedoch habe ich auch schon den ersten kleinen BUG gefunden.
Und zwar:
Wenn man versucht Zeichen zu senden, solange man NICHT mit einem
COM-Port verbunden ist kommt es zu einem Programmabsturz.

mfg Georg

von Hannes (Gast)


Lesenswert?

Hi Tobi!

Also das Programm ist wirklich im Vergleich zum Hyper Terminal genial!

Ich verwende dieses, um meinen uC über die UART-Schnittstelle, Daten in
den Datenbuffer zu schreiben.

Schicke ich nun jedes Zeichen mit dem custom send einzeln, funktioniert
alles wie geplant.

Schicke ich jetzt aber die komplette Zeichenkette, so werden die
einzelnen Zeichen zu schnell hinter einander geschickt.
=> meine UART-Schnittstelle kann diese nicht mehr in der richtigen
Reihenfolge abarbeiten, da einfach das Einlesen ein bisschen Zeit
benötigt.

Kann ich jetzt zum Bsp. ein ASCII-, dann ein paar HEX und dann ein paar
DEZ-"Zeichen" schicken und zwischen jedem eine Pause einbauen??

Bsp:
Send on Enter: Custom
Input: a(ASC), (HEX)AC,DE,48,AA,BB,CC, (DEZ)10,10,51,120   ASend

d.h. nach jedem Beistrich sollte eine EINSTELLBARE Pause vorhanden
sein. Funktioniert das mit deinem Programm?? Falls ja, wie??

Vielen dank im Voraus,
mfg Hannes

von Wolfram (Gast)


Lesenswert?

>Schicke ich jetzt aber die komplette Zeichenkette, so werden die
>einzelnen Zeichen zu schnell hinter einander geschickt.
Wenn ich das richtig verstehe, dein Programm auf dem Mikrocontroller
ist
zu langsam um die Zeichen, die über die UART reinkommen zu
verarbeiten?
Versuchst du das Problem nicht auf die falsche Art zu lösen?
Mir fielen da folgende Lösungsmöglichkeiten ein:
1. Verarbeitung beschleunigen z.B. Takt erhöhen oder Programmteile
verkürzen, umordnen
2. Baudrate runternehmen
3. Flusssteuerung (RTS/CTS)
4. erst Befehl einlesen ,dann verarbeiten
5. Interruptgesteuerter UART Betrieb
6. Empfangspuffer vergrößern

Nur so als Richtgrösse:
Ich habe derzeit kein Problem auf einem AVR mit 8MHz über die UART mit
500kBit zu empfangen und zu senden ohne das etwas verloren geht. Die
Routinen sind in C geschrieben.

von Hannes (Gast)


Lesenswert?

ahh du schon wieder Wolfram =)

1. Takt ist 32MHz
2. Baud hab ich zur Zeit auf 38400, werd ich mal runtersetzen
3. mit Flusssteuerung hab ich noch nie gearbeitet
=>muss diese auch am uC initialisiert werden, oder macht das nur das
Hterm Programm?
4. ....
5. verwende interruptgesteuerten UART Betrieb
6. wie vergrößer ich den Empfangsbuffer??

Hab einen Programmteil von mir angehängt, erklärt vielleicht den 4.
Punkt =)

mfg Hannes

von Hannes (Gast)


Angehängte Dateien:

Lesenswert?

doch nicht angehängt =)

von Wolfram (Gast)


Lesenswert?

zu 1.
32 MHz , das ist doch ein AVR? entweder hast du den sehr übertaktet
dann würde ich es als mutig bezeichnen die eeprom zu benutzen oder
einfach nur ein Schreibfehler
38400 Baud sind kein Problem
Flusssteuerung heisst du benutzt einen zusätzlichen Pin am
Mikrocontroller um zu signalisieren wenn du nichts mehr haben willst
das Terminalprogramm muss darüber informiert sein, google mal zu
RTS/CTS
Dein Programm
1. Fehler globale Variable Interrupt nicht volatile definiert
Ich weiss nicht was der Interrupthandler soll wenn du dann doch pollst
du liest ein Byte und schreibst/liest EEPROM ,kein Wunder das du
Timingprobleme bekommst. Entkopple das
Befehl einlesen in Puffer
dekodieren/gültigkeit des Puffer überprüfen
ausführen
evt. Bestätigung senden
löst dein aktuelles Problem ohne das du den Interruptbetrieb benutzen
musst. Ich empfehle dir aber dringend ihn zu benutzen da dann auch
weitere Befehle einlaufen können während du einen Befehl bearbeitest
(mit doppelpuffer)
Wenn du die Fragen ausführlicher diskutieren willst, nimm ein anderes
Forum (z.B. GCC) und mache einen neuen Thread auf,es passt nicht in
diesen Thread

von Hannes (Gast)


Lesenswert?


von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Zur Flusssteuerung: Wird von HTerm erst ab der nächsten Version
unterstützt.

von Wolfram (Gast)


Lesenswert?

Thread:
http://www.mikrocontroller.net/forum/read-8-160474.html#new
folgende Aussage:
>Wenn ich z.B 2 Rechner per Bluetooth über dem SPP(serial port profil)
>verbinde, dann wird eine viruelle Serielleschnittstelle vom Bluetooth
>Trieber angelegt. Wenn ich z.B. mit HTerm eine 3 MB grosse Datei über
>diese virtuelle Serielleschnitstelle(z.B COM10)schicke, wobei die
>Schnittstelle mit 115 kbaud geöffnet ist dann zeigt das HTerm ca. 60
>kbyte/s.

Kann das mal jemand überprüfen,
bei 115Kbaud muessten es eigentlich doch nur 11..12Kbyte/s sein

von Caruso (Gast)


Lesenswert?

Kennt jemand ein Programm mit dem man auch den TxD-Pin steuern kann?
(Ich brauche keine Terminal-Funktionalität, nur "BitBanging")

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@Wolfram:
Ich antwort mal direkt im anderen Thread

@Caruso
Wenn du ein wenig programmieren kannst, dann sollte sich das schnell
selber machen lassen. Die WinAPI bietet eine Funktion zum Setzen des
TxD-Pins.

von Sascha Füller (Gast)


Lesenswert?

Hallo Tobi,

dein Programm gefällt mir sehr gut.

Habe mich allerdings gleich besonders blöd angestellt und dabei einen
kleinen Schönheitsfehler gefunden.

Wenn man das Programm noch nicht mit einer Schnittstelle "connected"
hat, trotzdem in der Sendezeile was eingibt, den "ASend"- Button
betätigt und in dem Fenster "Start" anklickt, dann schmiert dein
Programm ab.

ansonsten wirkt das tool auf den ersten blick so, als wäre es genau das
was ich gesucht habe. Bleib am Ball!

P.S.
bin zu faul ;) den ganzen Thread durchzulesen und weiss deshalb nicht
ob es schonmal jemand erwähnt hat.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Hier hatte es noch keiner gschrieben, aber der Fehler ist mir schon
bekannt und in der nächsten Version schon beseitigt.

Trotzdem danke für den hinweis (-:

von chris (Gast)


Angehängte Dateien:

Lesenswert?

HAllo Tobi,

Martin hat am 04.03.05 geschrieben , das es sich buttons wünscht, mit
den man vorgefertigte Nachrichten abschicken kann.
Diesen wünsch würde ich jetzt gerne nochmal äußern, da mit das auch
sehr gut gefallen würde. z.b. ein zusätzliches Fenster in dem man
selbst buttons anlegen (rechte Maustaste -> add buttons). hinter diesen
Buttons könnte man dann strings ablegen (hex/ascii/bin/...), die bei
click gesendet werden. Eine "Benamung" des Buttons wäre auch cool.
Vieleicht könnte man in diesem Fenster auch mehrere "Tabs (Reiter)"
einfügen, das man verschiedene Buttons nach Funktion sortieren kann.
wäre einfach genial....

Beispiel siehe Dateianhang:

von chris (Gast)


Lesenswert?

Hi Tobi,,
bist du noch da?

cu

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ja, bin noch da :)
Dein Vorschlag ist gut, allerdings werd ich das wohl nicht mit Buttons
machen sondern als Listen. Du hast mich allerdings auf die Idee
gebracht, dass man sich aus einem grossen Pulk an Strings eigene Sets
zusammenstellen kann. Das werd ich denk ich mal einbauen. Namen werden
auf jeden Fall möglich sein. Ausserdem wird man den Strings noch
Hotkeys (F1-12) zuweisen können.
Wenn ich Zeit hab (hoffentlich bald) gibts erstmal die nächste Version,
bei der man immerhin 'Newline At' und 'Send on Enter' schon komplett
frei umbelegen kann.

von chris (Gast)


Lesenswert?

super, ich freu mich drauf...

PS: habe mir in letzter zeit viele Terminal Programme angeschaut, aber
muß sagen das deines, z.b. für die Entwicklung noch am besten ist.
weiter so

mfg.

chris

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Version 0.6.5 ist raus!

Es gibt ein neues Format für die Konfiguration, dass leider nicht
kompatibel ist. Ab sofort wird alles in XML gespeichert. Dafür gibt es
ein paar andere schöne Neuerungen:
CTS Flow-Control ist endlich eingebaut. 'Newline At' und 'Send on
Enter' lassen sich komplett frei konfigurieren. Bei Send on Enter kann
man angeben, welcher String davor und dahinter gehängt werden soll.
Das ganze lässt sich wieder kompfortabel in allen 4 Formaten angeben.
Zwar bisher nur direkt in der Cfg-Datei aber die Syntax ist
(hoffentlich) recht simpel. Genaue Erklärungen gibts wie immer in der
Hilfe.
Auch braucht die Comport-Liste nicht mehr von Hand gepflegt werden. Die
beim Start vorhandenen Ports werden automatisch übernommen und auch im
laufenden Betrieb eingesteckte oder entfernte Ports werden automatisch
in der Liste aktualisiert.

Dann mal wieder viel Spaß mit dem Programm
Tobi

von TravelRec. (Gast)


Lesenswert?

Hi Tobi,

fein daß die neue Version ´raus ist :-) Anfrage: ist es Absicht, daß
bei CTS-FlowControl trotz "nicht CTS" 128 Bytes versendet werden,
bevor der PC wartet? Oder liegt´s am Windoof?

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Eigentlich sollte Windows die Übertragung selbstständig sofort stoppen,
wenn CTS deaktiviert wird. Ich hab keinen Einfluss darauf, wie und wann
das geschieht aber es scheint so, als würde Win noch den Puffer
leersenden bevor es auf CTS reagiert. Fällt damit wohl unter
Windows-Bug


@All
Wenn jemand Probleme mit nicht korrekt funktionierendem 'Newline at'
hatte: Programm noch einmal neu herunterladen, dann läuft alles wie es
soll.

von TravelRec. (Gast)


Lesenswert?

>>Fällt damit wohl unter Windows-Bug

Ach, noch einer ?! ;-) Naja - mal gucken, wie sich das in der Praxis
auswirkt, weil die Ressourcen, mal eben noch schnell 128 Bytes
wegzubuffern, hat mein außenliegendes Gerät, für das das Handshake
wirken soll, gerade nicht mehr vorrätig. Ich kann mich erinnern, daß
das Handshake mal für jedes einzelne Byte funktioniert hat, muß aber in
einer früheren Windows-Version gewesen sein. Hmm, Dos vielleicht  ;-)
Danke für die Aufklärung.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ich könnt bei mir sonst die Möglichkeit einbauen, per Cfg-Datei die
größe der internen Sendeeineinheit beim Dateisenden anzupassen. Dann
wird es zwar langsamer aber im Gerät ist nur ein kleinerer Puffer nötig

von Benedikt (Gast)


Lesenswert?

Solange man die Puffergröße einstellen kann wäre das OK.

Die Probleme mit CTS waren an einem echten COM Port, oder ?
Beim FT232 weiß ich, dass dieser das Hardwaremäßig macht. Daher sollte
es bei diesem funktionieren.

von TravelRec. (Gast)


Lesenswert?

Nönö, ein echter Com-Port war´s, nix mit USB->Com. Ich würd´ die
Einstellbare Puffergröße auch sehr schön finden. Wie gesagt, jedes Byte
ist eines zu viel, wenn daer externe Controller "Halt" gesagt hat ;-)

von F.H. (Gast)


Lesenswert?

Nettes Programm , aber kennt vielleicht jemand ein Programm, welches
einen aktiven Comport mitloggert ?
Comlite 32 läuft bei mir nicht mehr unter Xp
mfg,f.H.

von René K. (king)


Lesenswert?

> einen aktiven Comport mitloggert ?

Portmon: http://www.sysinternals.com/Utilities/Portmon.html

von Dominik F. (forlix) Benutzerseite


Lesenswert?

Ich find das hier super
http://www.comp.lancs.ac.uk/~albrecht/sw/terminal/
Sehr klein und source gibts auch, einfach für eigene Sachen
abänderbar.

Gruß
Dominik

von Joline (Gast)


Lesenswert?

Hallo allerseits,

prinzipiell finde ich das Tool prima. Nur habe ich ein kleines Problem,
wenn ich Daten zu einem AVR Butterfly übertragen will. Das geht nämlich
(zumindest bei mir) nicht.

Mit Hyperterminal kann ich Daten übertragen, also z.B. den Namen
ändern. Dazu muss man 19200,8,n,1 einstellen und keine
Flusssteuerung. Aber mit HTerm gelingt mir das nicht.

Hatte vielleicht jemand das gleiche Problem und konnte es lösen?

Joline

von Joline (Gast)


Lesenswert?

Nachtrag: Mit "Tool" meine ich natürlich HTerm.

Ich habe gerade bemerkt, dass das bzgl. des Vorbeitrages nicht so klar
rauskommt.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Sind denn die Steuerleitungen am Butterfly angeschlossen? So weit ich
weiss, aktiviert Hyperterminal diese beim Verbinden. Vllt braucht das
Board das. Sonst sollte eigentlich kein Unterschied bestehen.

von Joline (Gast)


Lesenswert?

Nein. Einfache 3-Draht-Verbindung.

Ohne etwas an der Hardware zu ändern: Hyperterminal geht, HTerm nicht.
:o(

Stimmt aber nicht ganz. Inzwischen habe ich folgendes rausgefunden:
Wenn man beim Senden bei HTerm bei "Send on Enter" CR auswählt,
werden immerhin einige Zeichen übertragen. Also z.B. ich sende mit
HTerm "12345[CR]", dann kommt im Butterfly "125" an, oder "12",
oder ... Stelle ich ein anderes oder kein Endezeichen ein, kommt auch
nichts beim Butterfly an.

P.S. Ich versuche erstmal einfach nur den angezeigten Namen im
Butterfly zu ändern.
"Nicht beim Butterfly ankommen" heisst nicht, dass nicht wirklich
was ankommt, sondern nur, dass die SW im Butterfly die Daten nicht als
korrekt erkennt.

von Björn Simeth (Gast)


Lesenswert?

Hallo Thorsten,
soweit ein wunderschönes Programm. Allerdings wird leider ein einzelnes
Return (ohne dass weitere Zeichen davor sind) ignoriert. Gerade das wäre
für mich sinnvoll.

Ansonsten aber weiter so :-)

Gruß
Björn

von Quix01 (Gast)


Lesenswert?

Hallo Tobi,
sehr schickes Terminalprogramm. Ich habe da noch ein paar Anregungen:

- Für die neumodischen USB-Ports wären Baudraten >128000 wünschenswert
(230400, 460800, 921600 usw.).

- evtl auch frei progammierbare Baudraten.

- der Eintrag 25600 bei Baud ist vermutlich um eine 0 zu kurz.

Ciao Quix01

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Bei mir sind Zahlen bis 99999999 lesbar. Könntest du einen Screenshot
machen, wie das bei dir aussieht?

Sonst kannst du auch in der Cfg-Datei die Liste der zur Auswahl
stehenden Baudraten ändern, dort gibts keine Größenbegrenzung. Das
drunterliegende Programm kann Problemlos mit allen von der Hardware
unterstützten Raten umgehen. Ich werd im nächsten Release das Feld auch
etwas größer machen

von Quix01 (Gast)


Lesenswert?

Hallo Tobi,

Ok, die Baudrate in der config-Datei eintragen funktioniert, wenn
jedoch HTerm.exe das erste Mal startet und seine aktuell
einprogrammierte Konfiguration als Datei ausgibt, steht da eine 25600
in der Liste. Also vermutlich in Deinem Quelltext ein kleiner
Tippfehler.

Das Feld größer zu machen ist vermutlich gar nicht unbedingt nötig,
besser wäre ein Feld mit freier Eingabemöglichkeit a la Br@y++ Terminal
(dort custom BR genannt).


Ciao Quix01

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Oh ja, du hast recht, das ist ein Tippfehler. Hatte ich garnicht
gesehen.

In das Feld kann man beliebige Baudraten eintragen, man muss keinen der
vorgefertigten Einträge benutzen. Wenn dein Adapter es unterstützt
kannst du dort 256000 eintragen und auch benutzen. Das Feld bietet eine
Kombination aus fester und variabler Eingäbe (das, was beim
Bray-Terminal auf zwei Bereiche verteilt ist)

von phil (Gast)


Lesenswert?

hi tobi,

wirklich großartige arbeit, die du hier geleistet hast. ich benutze
dein tool vorwiegend um AT commandos abzusetzen. ich möchte hier noch
ein paar ideen anmerken und vielleicht stoßen diese ja auf deine
zustimmung.

erstmal wäre es von vorteil, wenn man selbstverfasste scripts mit
vordefinierten (AT) kommandos in das programm mit aufnehmen könnte, die
über ein 'load-menu' auszuwählen sind. gerade bei tests mit
mehrteiligen initialisierungs-routinen ist die tipperei doch sehr
mühsehlig. vielleicht kann man hier auch andenken, ein 'start-script'
über die config datei zu definieren, das nach einem connect automatisch
ausgeführt wird.

weiters lässt es sich eventuell realisieren, die history an
eingegebenen kommandos über ein kontext menu verfügbar zu machen
(schnellere und leichtere bedienbarkeit bei redundanten kommandos), das
die letzten X einträge einträge sichtbar enthält und über einen
scroll-balken zugriff auf die restliche history gewährt.

zum schluss möchte ich noch auf ein problem hinweisen, das bei mir nur
mit seriellen bluetooth COM ports auftritt; ist keine große sache,
allerdings bekomme ich bei einem disconnect die fehlermeldung "the
instruction at "0x0000000030"...blabla...memory could not be read",
verbunden mit einem absturz des programms. ich habe unter winXp und
win2k mit jeweils 2 verschiedenen bluetooth dongles getestet, immer mit
dem gleichen ergebnis. vielleicht ist dieses verhalten nocht nicht
bekannt und es geht nicht nur mir so.

besten dank im voraus...

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Die Möglichkeit selbstdefinierte Sequenzen zu versenden kommt auf jeden
Fall in der nächsten Version. Nur wann die kommt weiß ich noch nicht,
wird mangels Zeit leider noch was dauern.

Ein Drop-Down für die History gefällt mir und werd ich auch mal
versuchen einzubauen.

Ich hab hier keine USB-Bluetooth-Adapter, vondaher ist es schwierig,
den Absturz nachzustellen aber ich werde mir die Disconnect-Routinen
nochmal anschaun.

Gruß, Tobi

von Martin K. (Gast)


Lesenswert?

Hallo Tobi,

wirklich tolles, handliches Programm was du da auf die Beine gestellt
hast. Ich habe noch keines gefunden, was mir beim Debugging serieller
µC-Kommunikation bessere Dienste leistet.
Jetzt habe ich hier aber ein Bauteil mit serieller Schnittstelle, was
neben einem stop bit auch ein start bit im Protokoll verwendet und ich
habe noch kein Terminal-Programm gefunden, das damit klar kommt.
Vielleicht kannst du sowas in der nächsten Version mit reinnehmen.
Angesichts der Unterstützung für diverse stop- und parity-bits, die ja
schon da ist, vermute ich mal, dass sowas noch nichtmal allzuviel
Arbeit macht.

Gruß und Dank
Martin

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jede asynchrone serielle Schnittstelle arbeitet mit einem Startbit, das
wird in Hardware von der UART verarbeitet/erzeugt.
Das lässt sich nicht abschalten oder irgendwie konfigurieren, also kann
es auch das Terminalprogramm in keiner Weise beeinflussen.

Liegt vielleicht einfach nur ein Verständnisproblem vor?

von Jan Dressler (Gast)


Lesenswert?

Hallo!
ich habe vor Jahren mal ein Terminal-Reader-Programm unter DOS
betrieben, das hieß IMON. War zwar recht umständlich, das alles, aber
es konnte was was ich bisher bei keinem anderen gesehen habe, und zwar
2 Schnittstellen lesen. Technisch völlig billig aber mega praktisch um
ganze befehls-"unterhaltungen" mit zu lesen.

Das Programm hat dann jede Richtung in einer anderen Farbe (weiß und
grau) dargestellt und man konnte auch "Neue Zeile bei
Richtungswechsel" aktivieren um die Übersicht zu erhöhen.
Wäre SUPER wenn das als zusatz zu HTERM kommen würde, das wäre das
Programm meiner Träume, wenn das möglich wäre.

Ansonsten bin ich immerwieder zufrieden mit dem hterm. danke dafür!
MfG
jan

von Martin K. (Gast)


Lesenswert?

@ rufus
Du hast Recht mit dem Startbit, mein Problem lag an anderer Stelle. Es
ist allerdings auch das erste mal, dass mir das Startbit in einer
Protokolldefinition unterkommt.

Im Zusammenhang mit dem gleichen Bauteil hätte ich aber noch nen
anderen Wunsch: Die Nachrichten, die vom Bauteil kommen haben variable
Länge, wobei das letzte Byte eine Checksume ist. Es gibt also keine
Zeilenende-Markierung wie CR oder LF. Dafür gibt es ein konstantes
Startbyte. Schön wäre also ein Zeichen definieren zu können, das nach
einem Zeilenumbruch im Empfangs-Fenster kommt.

MfG
Martin

von NetRunner (Gast)


Lesenswert?

@ Jan
Lässt sich Dein Problem nicht dadurch lösen, 2 Instanzen von HTERM
parallel ablaufen zu lassen, wobei jede Instanz an einer separaten
Schnittstelle lauscht? Mittels der Timestamps kann man dann auch die
zeitliche Relation zwischen den übertragenen Inhalten feststellen.

von Selma (Gast)


Angehängte Dateien:

Lesenswert?

Tolles Programm!

Ich hätte aber eine Frage. Und zwar benutze ich bei einer meiner 
Anwendungen das Steuerzeichen '\t' um eine formatierte Ausgabe zu 
erreichen. HTerm stellt allerdings dieses Steuerzeichen als Text dar, 
fügt also kein eigentlichen Tab in die Ausgabe ein. Könnte man sowas 
noch einbauen?

Im Anhang ein Beispiel, wie ich es toll fände. Aber vielleicht gibts die 
Funktion ja schon und ich hab sie nur nicht gefunden. Obwohl das 
Programm wirklich sehr übersichtlich gestaltet ist.

Nochmals, gute Arbeit!!

Selma

von Franz (Gast)


Lesenswert?

Hallo,
für mich wäre es schön,
wenn das Programm auch krumme Baudwerte annehmen würde,
manche MC haben einen internen Oszillator und die Budrate liegt zB bei
20400 statt 19200. durch ausmessen der Bit-Zeit kann ich vorab die 
Baudrate bestimmen und einstellen, geht das ?

von Tobi (Gast)


Lesenswert?

HTerm kann nur die von der PC-Hardware unterstützen Baudraten verwenden. 
Man kann immer versuchen auch krumme Werte einzugeben und zu connecten. 
Wenn es klappt, kann die drunterliegende Hardware es, wenn nicht ist es 
mit dieserm Hardware unmöglich (egal mit welchem Terminal).

von *.* (Gast)


Lesenswert?

Die Win32-API leitet auch krumme Baudraten an den Treiber weiter. Wenn 
es ein echter normaler COM-Port ist unterstützt er alle Baudraten 
115200/x wobei x   1 bis 65535 sein kann (kommt vom Vorteiler des 8250). 
Bei USB-Adaptern sieht das schon anders aus.

Die nächste Baudrate wäre also 23040, 20400 geht nicht.

von norbert (Gast)


Lesenswert?

hy du

dieser HT ist so ziemlich genau das was ich suche.

ein freund und ich machen ein bussystem (hausbus)und zum testen ist dein 
terminal perfekt.

ABER: könntest du eine druckerfunktion miteinbinden??

Wenn ja schreibe mir bitte eine mail , am besten mit einem update.

an norbert.zehethofer@aon.at


danke

von Bastian (Gast)


Lesenswert?

Hallo Tobi,
Dein Programm ist super, mir fehlt nur noch eine Funktion.
Ich würde gerne die Output Daten kontinuierlich in eine Datei loggen.
Nach dem Programmneustart sollte das Loggen automatisch weiterlaufen und 
die bestehende Datei weiter ergänzen.

Keine Ahnung ob sich diese Funktion integrieren lässt.

Danke im voraus.

Gruß
Bastian

von Wolfram (Gast)


Lesenswert?

@bastian:
In deinem schönen bunten Betriebssystem gibt es eine Kommandozeile.
Dort gibt es ein Kommando copy, mit dem kannst du sowas machen.

von Benedikt K. (benedikt)


Lesenswert?

Mir ist noch ein Fehler aufgefallen:
Ich sende Befehle an einen uC, der sendet eine Antwort.
Seltsamerweise kommt nicht nach jedem Befehl eine Antwort, dafür aber 
danach 2-5 Antwortbytes aus einmal.
Mit einem anderen Terminal habe ich den Fehler nicht, ebenso sehe ich 
die TX und RX LED die ich am uC habe immer richtig aufleuchten.
Der Fehler liegt also an hterm.

Er scheint nur dann aufzutreten, wenn einzelne Bytes empfangen werden. 
Das Problem existiert sowohl bei echten COM Ports als auch bei USB-COM 
Ports.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Kommt bei mir nicht vor, getestet und für gut befunden (Ver.065)

von Funkamateur3 (Gast)


Lesenswert?

Hallo Tobi,
super Programm. Aber ich hab da noch ein kleines Anliegen. Erstens kann 
man nur COM1 wählen. Gibt es da mehr und vielleicht auch LPT.  Dann noch 
was wir haben auch noch mehr Baudrate nötig. Es gibt ja den LM339 
ausgewechselt gegen den ALD4302DB und wir brauchen da als Baudrate 
153600,256000,307200,614400,1228000,... 
http://www.symek.com/g/fsk9601.html
www.dlc7.de , Vielleicht könntest du die noch eben hinzufügen. Wir 
können momentan nur löten und hoffen. Mit deinem Programm können wir die 
ersten Messungen machen. Wir hoffen auf weiter Features. Das Programm 
von Kollegen in Lancester UK ist auch gut aber deines scheint mehr zu 
können. Gerade bei HF Links ist der High Speed check wichtig.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Erstens kann man nur COM1 wählen.

Nö. Da machst Du sicherlich irgendwas falsch.

> ... vielleicht auch LPT.

Und was soll damit passieren?

> Dann noch was wir haben auch noch mehr Baudrate nötig

Mehr als die verwendete serielle Schnittstelle kann das Programm nicht; 
die PC-eigene serielle Schnittstelle kann maximal 115200 Baud.
Andere Schnittstellen, wie beispielsweise die USB-Seriell-Adapter von 
FTDI unterstützen auch höhere Baudraten, und die werden auch vom 
Programm unterstützt - einfach im Feld für die Baudrate den gewünschten 
Wert eintragen  und fertig.

Was hat das ganze mit einem LM339 zu tun? Das ist ein 
Vierfach-Komparator ...

von BerndS (Gast)


Lesenswert?

Korrektes Progrämmchen,

das könnte ich vielleicht sogar für die Arbeit benutzen. Wir haben ein 
Terminal um Schrittmotoren anzusteuern. Gesendete Fehler der 
Ansteuerkarte werden bei dem Terminal, das ich benutze im 
Bidschirmpuffer gespeichert. Anschließend kopiere ich die 
Fehlermeldungen in eine Word-Datei. Ist es bei dem Programm auch 
möglich, die Fehler direkt im pdf- oder doc-Format zu speichern?

Änliches hatte schon Bastian (Gast) am 04.01.2007 14:13 Uhr gefragt.

Danke für die Auskunft BerndS

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Nach langer Zeit meld ich mich mal wieder. Endlich hab ich wieder etwas 
mehr Zeit und die werde ich nutzen, um HTerm wieder etwas Aufmerksamkeit 
und Pflege zukommen zu lassen. Noch gibts keine neue Version, aber so 
lange wird es (hoffentlich) nicht mehr dauern.

Nun zu den Anfragen
- Logging ist möglich einzubauen, aber nicht direkt als doc oder pdf, 
das würde einigen Aufwand mit sich bringen. Eine Textdatei, die 
kontinuierlich gefüllt wird sollte aber machbar sein. Wie genau stellst 
du (BerndS) dir denn das markieren der Fehler vor?

- Die verschluckten Bytes bei einzelnen Zeichen hab ich auch schon 
bemerkt. In diesem Teil, der dafür (wahrscheinlich) verantwortlich ist, 
werd ich einiges umschreiben. Mit ein bisschen Glück ist es dann weg. 
Wenn nicht, werd ich direkt danach schaun.


Außerdem möchte ich noch allen danken, die das Programm unterstützt und 
bekannt gemacht haben. Durch eure Unterstützung hat es HTerm als 
Beispiel-Programm zur Kommunikation mit Mikrocontrollern sogar bis in 
einen Elekor-Artikel geschafft 
(http://www.elektor.de/Default.aspx?tabid=27&art=5551008&PN=On). In der 
Print-Ausgabe sogar mit zwei Bildern.

von Peter (Gast)


Lesenswert?

HTerm ist schon ein sehr feines Terminalprogramm.
Viele hilfreiche Funktionen, die die Arbeit erleichtern (besonders die 
Darstellungs-/Eingabemöglichkeiten in HEX).

Den Vorschlag von Jan Dressler finde ich gut.
Es wäre schon nützlich zwei COM-Ports im direktem Zusammenhang zu 
betrachten.
Gerade in letzter Zeit hat mir da eine praktikable Lösung gefehlt.

Die Timestamp-Funktion ist zwar super gelöst, auch mit der Möglichkeit 
zu markieren und Zeitdifferenzen und gesendetet Bytes anzuzeigen, aber 
leider schade, daß wohl keine Möglichkeit besteht die Timestamps mit der 
"Save Output"-Funktion zu speichern. Eben eine solche Funktion wäre 
irgendwie sinnvoll.

Wie auch schon im Thread gewünscht wäre ich auch für eine Möglichkeit 
mittels Button feste Zeichenketten zu senden.

In diesem Sinne - auch so schon ein erstklassiges Tool!

von Rahul D. (rahul)


Lesenswert?

Hallo Tobi,
tolles Programm!
Momentan benutze ich es um die Kommunikation mit einer PTZ-Kamera mir 
anzugucken. Bei dem Protokoll wird als Ende-Zeichen 0xFF benutzt. Wäre 
schön, wenn man bei HTermm auch noch "eigene" Zeilenende-Zeichen angeben 
könnte.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@Peter
Das Durchschleifen zwischen zwei Ports steht schon auf der Todo-Liste, 
aber da die Umsetzung einigen Aufwand erfordern kann ich nichts 
versprechen. Die Möglichkeit eigene Zeichenketten zu senden kommt 
hingegen ganz sicher (Dann wird es sogar gehen innerhalb dieser 
Sequenzen definierte Pausen einzubauen).

@Rahul
Das geht auch jetzt schon, nur nicht per GUI. Du kannst das aber sehr 
einfach per Hand in eine (zuvor gespeicherte) Config-Datei einbauen.

Im Abschnitt 'Default/GUI/NewlineAt' einen weiteren Eintrag der Form
1
<entry name="0xFF">h[FF]</entry>
hinzufügen. Datei laden und fertig. Hinter name= steht, was im 
Auswahlfeld angezeigt wird, der Teil innerhalb des Tags beschreibt die 
zu suchende Zeichenkette (Infos dazu in der Hilfe unter 'Config Files', 
Stichwort MFS)

von begeisterter User (Gast)


Lesenswert?

Hallo Tobi,
ich hätte hier noch nen Vorschlag(/eine Bitte) für dein Hterm:

- Wäre es möglich, bei der Inputbox, eine Steuerung für RTS und DTR 
einzubauen ?

z.B.: " /RTS:ON Blafasel /RTS:OFF "
      " /DTR:ON Blafasel /DTR:OFF "

Für mich wäre es halt toll, wenn ich vor und nach einem String RTS/DTR 
zurück-/setzen könnte.
(RS485-Richtungsumschaltung Empfangen-Senden-Empfangen)

Ansonsten ein einfach geniales Programm

von BaFH (Gast)


Lesenswert?

Zu Beginn gleich das Wichtigste: Super Programm!!!

Wir haben hier folgendes Problem: ein älteres Gerät hat folgende 
Konfiguration seitens der seriellen Übertragungsparameter:

1200 Baud, 7 Datenbits, 0 Stopp-Bits und 1 Startbit... und keine Parität

Ist es möglich, das Programm dahingehend anzupassen, dass auch solche 
"unüblichen" Einstellungen handlebar sind? Würd mich sehr freuen...

Oder kennt jemand ein Terminal-Programm welches die oben genannten 
Parameter verarbeiten kann?

Viele Grüße
BaFH

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Keine Stopbits? Das ... gibt es nicht. Das kann keine UART.

Sendet denn das Gerät "volle Lotte", also ohne Pause?

Sonst ist es vollkommen wurscht, was als Stopbitanzahl eingestellt wird 
- das sind ja nur (mindest-) Pausen zwischen den einzelnen Zeichen.

von BaFH (Gast)


Lesenswert?

Danke für die schnelle Antowort!

Es sendet nur selten... das mit den Stopp-Bits konnte ich auch nicht 
glauben, steht aber im (zugegeben schlechten) Manual drinne...kann aber 
auch sein, dass sie 1 Stopp-Bit und 0 zusätzliche Stopp-Bits meinen...

Aber nach der Reparatur sendet das Gerät eh auf 9600 7N1 uargh was 
leichte Probleme seitens der Software erweckt (welche von 1989 ist und 
KEINE Einstellung der Parameter vorsieht...und 1200 7N1? erwartet)

Auch das Start-Bit, welches im Manual besonders erwähnt wird, ist 
eigentlich Standard, oder?

von Karl H. (kbuchegg)


Lesenswert?

Start Bit ist Standard.
Ohne geht gar nichts.

Die Anzahl der Stoppbits ist normalerweise nur für
den Sender interessant. Damit verschafft der Sender
einfach nur dem Empfänger etwas Luft um das Zeichen
zu verarbeiten ohne gleich das Handshake benutzen zu
müssen.

von BaFH (Gast)


Lesenswert?

Ok, dann scheint es eine etwas eigenwillige Beschreibung zu sein... und 
ich konnte diese zum Anlass nehmen, mir den RS232-Standard näher 
anzuschauen... und wieder was gelernt.

von nussgipfel (Gast)


Lesenswert?

super programm, unkompliziert und wirklich sehr praktsisch.
kann ich wirklich nur weiterempfehlen jedem programmierer von embedded 
systemen, wo die serielle schnittstelle einfach immer noch das erste 
(und letzte) mittel ist womit ein system dem programmierer etwas 
mitteilen kann.

irgendwo ganz weit oben im thread kam noch die frage nach linux/*nix 
portierung.

unter linux benutze ich seit kurzem das cutecom von alexander neundorf:
http://cutecom.sourceforge.net/

kann weit nicht so viel wie hterm aber für die meisten sachen reichts 
schon.
minicom ist ja von vorne bis hinten kein programm für mikrokontroller 
entwickler...

cutecom ist ja opensource, vielleicht möchte sich jemand am hterm 
inspirieren lassen? ;-)

einen grossen dank an tobi!

von Andreas K. (oldcoolman)


Lesenswert?

hi,
wiklich tolles programm.
konnte damit schnell einen fehler in der Baudrateberechnung finden.

nette Grüße
Andi

von Bernd (Gast)


Lesenswert?

Hi,
dein Programm hat mir echt weitergeholfen.

Gruß

Bernd

von Wolfram Q. (quehl)


Lesenswert?

Hallo Tobi,

sehr gutes Programm. Aber einen kleinen Verbesserungswunsch habe ich 
noch.
Wenn ich die empfangenen Daten in eine Datei schreibe, dann wird das 
Schreiben offenbar mit den Senden Befehlen abgebrochen. Die empfangenen 
Daten sollen aber weiterhin aufgezeichnet werden. Evtl. auch die 
Sendebytes mit aufzeichnen, aber dann wäre wieder eine Unterscheidung im 
Protokoll erforderlich. Abbrechen ließe sich weiterhin mit Disconnect 
machen, evtl. wäre aber ein Abbruch der Aufzeichnung durch ein extra 
Button zweckmäßig, weil man sonst doch erst suchen muß, wie beende ich 
denn die Aufzeichnung.

mfg

von Ewald Kantner (Gast)


Lesenswert?

Super Programm, eine Linux-Version wäre ein Hit. Cutecom geht zwar ganz 
gut, kann aber imho nicht mit hterm mithalten.

von Joachim Hose (Gast)


Lesenswert?

Vielen Dank für das super Programm!
Gruß
JH

von _CH_ (Gast)


Lesenswert?

Hallo Ewald Kantner,

passt jetzt zwar nicht ganz zum Thread hier, aber kannst dir ja das auch 
mal ansehen: Beitrag "Serial-IO" Serial-IO

Gruß,
Christian

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hallo Tobi,

habe gerade festgestellt, daß HTerm beim "Disconnecten" abschmiert, wenn 
der COM-Port von einer Bluetooth-Schnittstelle bereitgestellt wird. Die 
Bluetooth Applikation nennt sich da IVT BlueSoleil Ver. 5.0.5.178, das 
USB Bluetooth Dongle ist von EMTEC und hat einen Cambridge Silicon Radio 
Chip an Bord. Ein Test mit Hyperterminal velief ohne Absturz.

Grüße,
TravelRec.

von Maxtor740 (Gast)


Lesenswert?

Hallo Treadmitbenutzern !

Alles Super,ich anhänge auch mein Lob an Tobias.In Sache ich bin Voll 
Grün/Anfänger/.Ist mir trotzdem gelungen einen USB-LCD Konverter Von 
Jürgen nachbauen.Ich möchte den Ding Überprüfen/Virtuelles port/ aber 
ich habe keine Ahnung wie das durchführen.Kann jemand mit mehr Ahnung 
als ich ,Schritt für Schritt Anleitung anhängen oder auf meine Maill 
Adresse Schicken.

Bitte Um Verzehiung für meine Grammatik aber ich bin Ausländer.

nette Grüsse : GEORG

von Stefan (Gast)


Lesenswert?

Hallo,
das is echt ein super Programm, aber leider fehlt mir die Funktion, den 
Output in regelmäßigen Abständen automatisch zu speichern, ohne dass ich 
den Button drücken muss.
Gruß Stefan

von Wolfram Q. (quehl)


Lesenswert?

normalerweise wird ins RAM gespeichert und dann kann man mit Output ins 
File kopieren.
Oder suchen nach COM2file . hatte ich hier im Forum mal gefunden.

mfg

von falscher Hase (Gast)


Lesenswert?

Falls noch nicht bekannt, Screenshot von HTerm in AN von Atmel:

http://atmel.com/dyn/resources/prod_documents/doc8091.pdf

Seite 11

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Danke für den Link. Der war mir noch nicht bekannt

von Simon K. (simon) Benutzerseite


Lesenswert?

Wow, nicht schlecht :D Respekt.

Ich benutze das HTerm auch relativ häufig und es ist einfach Spitze.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Im Moment läßt mir das Studium mal wieder ein bisschen Zeit und ich 
arbeite wieder etwas an HTerm. Erst einmal kaum/keine neuen Funktionen, 
nur ein neuer Unterbau. Dann wird das Programm, wenn alles klappt, für 
Windows und Linux zur Verfügung stehen. Screenshots folgen noch in den 
nächsten Tagen..

von Juri Ch. (Gast)


Angehängte Dateien:

Lesenswert?

Hab grad einen Fehler gefunden, weiß nicht, ob es schon jemand erwähnt 
hat (hab nicht alles durchgelesen), aber bei mir bewegt sich beim 
Scrollen im oberen Fenster der Balken nicht mit. Obwohl das Scrollen an 
sich einwandfei geht.

Aber sonst: Klasse Programm, werd mich mal die kommenden Tage intensiver 
mit beschäftigen... :-)

von Juri Ch. (Gast)


Lesenswert?

SRY, halben Text vergessen: meinte beim Scrollen mit dem Rädchen.

von Tobi H. (tobi-) Benutzerseite


Angehängte Dateien:

Lesenswert?

Im Anhang ein Screenshot der neuen Version unter KDE. Bis auf ein wenig 
Feintuning und ein paar zusätzliche Funktionen ist es fast fertig.

Vor allem das komplette GUI ist jetzt flexibler: Man kann die Elemente 
beliebig verschieben, undocken und irgendwo floaten lassen oder komplett 
schließen wenn man sie nicht braucht. Dadurch sollte die Oberfläche 
wesentlich übersichtlicher werden.

Auf vielfachen Wunsch hin kann man auch die Textgröße in den 
Ausgabeboxen von 6 bis 32 Punkten verändern.

Wann es fertig ist kann ich noch nicht sagen, aber so lange wird es 
hoffentlich nicht mehr dauern :)

von chris (Gast)


Lesenswert?

hi tobi,

benutze auch dein programm. super das du daran weiterarbeitest.

von Michi Müller (Gast)


Lesenswert?

Wow, gut zu hören das Du HTerm weiter entwickelst !

Ist ein Super Programm, das mir schon gute Dienste geleistet hat !

von Matthias (Gast)


Lesenswert?

Hallo Tobi,

Dein Terminal sieht genial aus.

Leider klappt die höchste Baudrate nicht.
Statt 256000 hast Du mit 25600 eine 0
zuwenig eingetragen.

Vielleicht kannst Du das noch anpassen.

Gruss
   Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

In das Eingabefeld kannst Du 'reinschreiben, was Du willst*. Die 
Vorbelegung mit festen Werten ist nur eine Komfortfunktion.


*) natürlich wird nicht jeder Wert als Baudrate akzeptiert, welche 
funktionieren, hängt von der Hardware der verwendeten seriellen 
Schnittstelle ab. Die Onboard-Schnittstellen COM1/COM2 üblicher PCs 
können beispielsweise maximal 115200 Baud.

von Michael (Gast)


Lesenswert?

Hallo Tobi!

Auch hier vorweg: Super-Programm!
Lange nach sowas gesucht, endlich HTerm gefunden!!! Tolle Leistung! 
Vielen Dank!!!

Trotzdem würde ich mir auch gerne die Umsetzung des 
Verbesserungsvorschlags vom 09.05.2007 (16:54) wünschen, DTR und RTS per 
Sendestring manipulieren zu können. Das brauche ich nämlich auch aktuell 
gerade und suche ein Programm, dass das kann.

Ist die Umsetzung geplant?

Gruss
Michael

von jan (Gast)


Lesenswert?

jo ja yes

wollt mich an der stelle nur mal für das programm bedanken.
sehr gutes tool.

jan

von Florian P. (eckel)


Lesenswert?

Hat jemand von euch evtl. mal probleme mit der Flusssteuerung gehabt?
Bei mir schicke ich daten immer zu 5 Byte an den uC und speichere sie 
dann im internen EEprom. Lass meine Serielle Schnittstelle pausieren bis 
der "Brennvorgang" von etwa 10ms beendet ist und setze die Übertragung 
fort.
Nun kommt das 1. Byte nach dem Fortsetzen der Übertragung an.
Jedoch das 2. geht flöten...
Hoffentlich hat jemand von euch nen Ansatz für mich bzw. das gleiche 
Problem...

MfG Flo

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Stelle einfach die Baudrate herunter, dann muß der PC nicht warten und 
keine Bytes gehen verloren. Jedes Byte was im Controller ankommt wird 
sofort im EEPROM weggespeichert und weiter geht´s.

von an<yy (Gast)


Lesenswert?

Hallo

mich würde freuen wenn man mit dem Programm auch telefonummern bzw. 
Mailboxen anrufen kann.

Danke

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> mich würde freuen wenn man mit dem Programm auch telefonummern bzw.
> Mailboxen anrufen kann.

Kann man, Du musst nur eingeben ATD123456789<CR>

Gibt es heutzutage noch ernstgemeinte Mailboxen?

von Andreas S. (butch)


Lesenswert?

Hi,

sehr schönes Terminal-Programm. Besonders, dass die Zeiten angezeigt 
werden, finde ich sehr gut. Genau das brauche ich nämlich. Leider werden 
die Zeiten nicht mit gespeichert, auch nicht als RAW. Nach dem öffnen 
wird für den gesammten Output nur die Importzeit der Datei angezeigt.

Wäre super, wenn du das noch mit rein programmieren könntest.

Thx,
Butch

von Andreas S. (butch)


Lesenswert?

Eine weitere tolle Funktion wäre noch der parallele Redirect in ein 
File. So könnte hätte ich deinem Terminal die für mich unverzichtbaren 
Zeitstempel und könnte das das File von baretail anzeigen lassen, mit 
Highlighting für bestimmte Zeilen.

von falscher Hase (Gast)


Lesenswert?

Gibt es eine Möglichkeit, HTerm über CLI vom Port zu trennen bzw. zu 
verbinden?

Würde es gerne schaffen, dass aus WinAVR erst HTerm trennt, dann mit 
avrdude geflasht wird und anschließend HTerm wieder verbindet.

Dann muss ich nichts anklicken, sondern nur umstecken.

von falscher Hase (Gast)


Lesenswert?

meinte: aus Programmer's Notepad.

von falscher Hase (Gast)


Lesenswert?

Nächste Frage:

Kann man den Zeilenumbruch alle N Zeichen mit exportieren?

von falscher Hase (Gast)


Lesenswert?

Nächste Frage:

Kann man den Zeilenumbruch alle N Zeichen mit-exportieren?

von Jäger (Gast)


Lesenswert?

@falscher Hase (Gast)

Wird Zeit, dass die Jagdsaison eröffnet wird.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Version 0.7 ist raus. Hauptsächlich gibts ein neues GUI sowie eine 
Linux-Portierung (noch nicht zum Download).

Ich hoffe es läuft alles :). Wenn nicht, nehm ich Bugreports gern hier 
oder per Mail entgegen

von Martin (Gast)


Lesenswert?

Wenn man im Sende-Eingabefeld versucht ein Zeichen zu löschen 
(Rücktaste, Entf, Überschreiben, ...) gibt es eine Schutzverletzung. 
(Win XP)

Grüße

Martin

von Peter (Gast)


Lesenswert?

Hallo,

ich kann den Bug-Report von Martin bestätigen.
OS: WinXP SP3

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Danke!
Bei mir tritt er auch jedes mal auf. Bin gerad am beheben

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Der Absturz sollte jetzt behoben sein. Einfach nochmal neu runterladen

von falscher Hase (Gast)


Lesenswert?

für alle Scroll-Faulen hier nochmal der Link:

http://www.der-hammer.info/terminal/index.htm

von falscher Hase (Gast)


Lesenswert?


von Quehl (Gast)


Lesenswert?

funktioniert die neue Version auch unter Windows? Unter Win98 geht die 
neue Version nicht (falsche Version des Betriebssystems, Fehler 5). Die 
bisherige Version ging auch mit Win98. Ist da jetzt eine 
Verschlechterung eingetreten? Oder werden 2 Versionen parallel geführt? 
Dann müßte eigentlich die Versionsnummer eine andere sein. z.B. Vers. 1 
für Linux.

mfg
Quehl

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Die neue Version läuft bisher nur unter Windows, die Linux Version kommt 
erst noch. Zum Nachstellen des Fehlers fehlt mir eine Testmöglichkeit 
für Win98. Ich habe zumindest nichts eingebaut, was diesen Fehler 
verursachen sollte, aber ich werde mal recherchieren, ob wxWidgets 
irgendwo Probleme macht. Kannst du die genaue Fehlermeldung/Screenshot 
hier posten?
Zwei Entwicklungslinien hatte ich nicht vor weiter zu führen. Die alte 
Version ist nur übergangsweise verfügbar, bis die neue einwandfrei 
läuft.

von Quehl (Gast)


Lesenswert?

In der Titelleiste
Fehler beim Starten des Programms

Im Fenster
Die Datei
erfordert eine neuere Version von Windows
Installieren Sie die neue Version von Windows

       OK

OK gedrückt

im Fenster
Windows-Fehler 5 beim Ausführen von d:/HTerm.exe

OK Hilfe

Hilfe geklickt

Dieses Dialogfeld wird angezeigt, wenn WinZip ein Programm nicht 
ausführen kann. Folgende Fehlerwerte wurden von Microsoft dokumentiert:


Wert  Bedeutung

0  Zuwenig Speicher
1  Datei nicht gefunden
2  Datei nicht gefunden
3  Pfad nicht gefunden
4  Zu viele Dateien geöffnet
5  Versuch, einen dynamischen Link zu einer Task einzurichten
6  Library erfordert separate Datensegmente für jede Task
8  Speicher reicht nicht aus, um die Anwendung zu starten
10  Falsche Windows-Version
11  Ungültige .EXE-Datei (keine Windows-.EXE oder Fehler im .EXE-Image)
12  OS/2-Anwendung
13  DOS 4.0-Anwendung
14  Unbekannter .EXE-Typ
15  Versuch im geschützten Modus (Standard-Modus oder erweiterter Modus 
für 386-PC), eine .EXE-Datei zu laden, die für eine frühere 
Windows-Version erstellt wurde
16  Versuch, eine zweite Instanz einer .EXE-Datei zu laden, die mehrere, 
schreibbare Datensegmente enthält
19  Versuch, eine komprimierte .EXE-Datei zu laden. Die Datei muß 
dekomprimiert werden, bevor sie geladen werden kann.
20  Dynamic Link Library (DLL) war ungültig. Eine der .DLL-Dateien, die 
zur Ausführung dieser Anwendung erforderlich sind, war defekt.
21  Anwendung erfordert Erweiterungen der 32-Bit-Version von Microsoft 
Windows.

Copyright ¸ 1991-1998 Nico Mak Computing, Inc. und H.C. Topsystems B.V.


mfg
Quehl

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Danke für die ausführliche Beschreibung!

Der Schuldige für das Problem ist mittlerweile gefunden: Microsoft hat
beim neuen Visual Studio offiziell den Support für Win98 eingestellt. 
ich schau gerad noch etwas, ob man das umgehen kann. Hier ist das 
Problem beschrieben, für alle die evtl das gleiche haben:
http://www.msfn.org/board/Visual-Studio-2008-and-Windows-9x-t112283.html

von Quehl (Gast)


Lesenswert?

ich hab zwar von Visual Studio keine Ahnung, aber wie wäre es, das 
bisherige Visual Studio zu nehmen und nicht immer ohne Grund MS 
hinterher zu jagen.

mfg
Quehl

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Der Umstieg hatte recht praktische Gründe: Da mein altes System nicht 
mehr existiert und ich mittlerweile von Windows abgekehrt bin kompiliere 
ich HTerm derzeit in einer virtuellen Maschine unter Linux. Weil sowieso 
das gesamte Windows neu installiert werden musste, hab ich das aktuelle 
VS genommen, in der Hoffnung, dass es besser/stabiler etc ist, ich hätte 
es