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!
jetzt gibts noch eine hilfe dazu (zusammen mit der exe im zipfile) und durchs packen ist das ganze auf ansehnliche 600k geschrumpft :)
Eben nichts, es sollte sich doch ein Fenster öffnen? (BS XP SP2)
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?
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
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.
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
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.
danke für den hinweis, werde ich korrigieren. morgen wird voraussichtlich auch die neue version online gestellt mit ein paar kleinen verbesserungen und bugfixes
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!
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
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?
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
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
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
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!
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
@hans interessante idee. ich werd mal ein bisschen rumbasteln ob das bei mir irgendwie reinzubasteln ist. @thorsten schau mal mails nach
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
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
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
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
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.
Du musst vorher das Setup einmal mit einem Namen speichern, dann direkt wieder laden. Dann ist autosave on exit aktiviert. Werner
@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.
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!
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
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
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
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
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
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.
@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
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.
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).
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)?
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
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 ;)
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.
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
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
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.
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
Ich habe jetzt einige Daten übertragen, und hatte bisher keine Fehler mehr.
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*
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.
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
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
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
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
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...
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!
@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.
Moin, hast ja recht ;-) anbei ein paar Seiten mit Code und Theorie: http://www.flounder.com/checksum.htm http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?sGlobalNavPick=&sSecondaryNavPick=&category=-1209850&iLanguageID=1 speziell für Modbus: http://www.modicon.com/techpubs/crc7.html#0.2..637OJU.KDG87D.4 Schöne Grüße, der Wirus!
@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
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
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
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
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!
Problem sollte jetzt behoben sein. Neue Version steht online
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
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?
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
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
Ja, die Kommunikation musst du jedoch selber auf dem MC implementieren.
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.
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 :/
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.
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.
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..
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.
Auch mit der cfg tritt das Problem auf. Zwar nicht immer, sondern nur manchmal, aber er stört trotzdem...
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.
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/
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.
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
Da hat sich wohl ein Fehler eingeschlichen. Deine Vermutung ist korrekt. Ich werd das korrigieren, danke für den Hinweis.
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 ;)
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'
Gibt mal wieder ein kleines Update auf v0.6.1. Neu ist ein Lineal, Zeilenumbrüche nach x Zeichen und versteckbare Toolleisten.
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.
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
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
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.
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 ;-)
@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 :)
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
Jo ich verwend dein Programm auch sehr häufig. Ein Autoload von ner Konfiguration bei Start wär echt sehr hilfreich.
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! ;)
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
@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.
@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.
@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! ;)
Nachtrag: solche Pfad/Dateinamen-Geschichten werden oft mit der Registry gelöst ... was zwar nicht unbedingt portierungsfreundlich ist, aber nur aus wenigen Angaben besteht.
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?
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.
komplement, ist ne saubere zweckmässige sache... leider keine fehler gefunden die ich dir mitteilen könnte :-)
"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
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
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
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! :)
achja ... noch was ... sehr hilfreich wäre noch, daß das scrollrad der maus im output-bereich scrollen könnte.
Hm.. bei mir klappt das. Werde mal auf einem anderen System mit anderen Mäusen probieren
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.
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?
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.
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
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??
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.
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
Eine richtige Sciptsteuerung ist vorerst nicht in Planung, aber das kontinuierliche Senden einer Datei (alle x Sekunden) werde ich demnächst versuchen einzubauen.
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
Hi, was ist den daran so schlimm in der datei nur das eine zeichen zuspeichern? Gruß, Dirk
Stimmt kann man auch machen, hab ich nicht drann gedacht. Gruß, MrFrost
Hi Tobi, danke für Dein nettes Programm. Es wäre schön, wenn die Eingabezeile auch Focus behielte, wenn man auf Buttons klickt.
Gute Idee und danke für den Hinweis. Ab in die Todo-Liste damit ;)
Hallo, eine graphische Ausgabe der Empfangenen Werte wäre nett, wobei man hier bestimmte Bytefolgen rausfiltern könnte (Steuerzeichen etc.)
Was genau meinst du mit grafischer Ausgabe? Ich kann mir da so direkt nichts drunter vorstellen.
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/
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.
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.
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.
es wird wirklich zeit für eine skriptimplementation hier ;) aber ich glaube, wir versuchen gerade den tobi restlos zu überlasten ;)
Ü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
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.
schon getestet, aber wie stelle ich dar binäre oder hex-werte da?
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!
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 :)
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.
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
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.
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)
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
Könntest du noch Schaltflächen hinzufügen mit denen man die Ausgangspins direkt steuern kann?
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.
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
Aber Achtung: Wenn man sendet während Break an ist kommt die WriteFile-Funktion nicht mehr zurück.
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 :|
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)
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
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 (-:
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
es lohnt sich bald, für HTerm einen Wiki einzurichten. die feature requirements fangen langsam an, sich zu wiederholen. ;)
"- 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.. (-:
Bitte zur Kenntnis nehmen: ! "sonst_wer" ungleich "sonst wer" ! @sonst_wer: lies dir bitte mal ne die (ausführliche) Anleitung durch
Hi Tobi! Gibt es vielleicht inzwischen eine aktuelle "Nightly Build"? ;) Wenn ja, magst Du sie vielleicht mal hochladen? :) schöne Grüße NR
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!
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
Output wie in der Anzeige speichern (alle gewählten Formate, mit Umbrüchen)
"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
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-])
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! ;)
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.
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.
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
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
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.
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.
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.
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.
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.
Gut, dann hat die Fehleranzeige doch schon einmal was gebracht:) Auch ein schönes WE
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 :)
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.
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 :)
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.
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.
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?
>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
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!
Hallo Tobi, Has du evtl vor in deinem Programm XYZ-Modem zu implementieren? Gruß Flow
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.
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).
@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.
>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?
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.
> 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.
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
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.
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.
@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.
das klingt schon nach einer logic-analyzer-funktion mit triggerbedingung für die RTS-aktivierung ;)
>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...
>>Ich freu mich schon auf die nächste Version...
Ich auch!!! ;-)
Hi Tobi, ein super Tool, DANKE! Frage: Warum erfolgt die Trennung bei der DEC-Eingabe nicht bei 8 bit?
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.
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
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.
@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?
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
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.
@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
@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
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
>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.
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
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
Zur Flusssteuerung: Wird von HTerm erst ab der nächsten Version unterstützt.
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
Kennt jemand ein Programm mit dem man auch den TxD-Pin steuern kann? (Ich brauche keine Terminal-Funktionalität, nur "BitBanging")
@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.
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.
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 (-:
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:
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.
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
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
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?
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.
>>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.
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
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.
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 ;-)
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.
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
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
Nachtrag: Mit "Tool" meine ich natürlich HTerm. Ich habe gerade bemerkt, dass das bzgl. des Vorbeitrages nicht so klar rauskommt.
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.
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.
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
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
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
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
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)
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...
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
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
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?
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
@ 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
@ 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.
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
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 ?
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).
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.
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
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
@bastian: In deinem schönen bunten Betriebssystem gibt es eine Kommandozeile. Dort gibt es ein Kommando copy, mit dem kannst du sowas machen.
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.
Kommt bei mir nicht vor, getestet und für gut befunden (Ver.065)
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.
> 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 ...
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
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.
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!
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.
@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)
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
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
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.
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?
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.
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.
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!
hi, wiklich tolles programm. konnte damit schnell einen fehler in der Baudrateberechnung finden. nette Grüße Andi
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
Super Programm, eine Linux-Version wäre ein Hit. Cutecom geht zwar ganz gut, kann aber imho nicht mit hterm mithalten.
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
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.
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
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
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
Falls noch nicht bekannt, Screenshot von HTerm in AN von Atmel: http://atmel.com/dyn/resources/prod_documents/doc8091.pdf Seite 11
Wow, nicht schlecht :D Respekt. Ich benutze das HTerm auch relativ häufig und es ist einfach Spitze.
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..
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... :-)
SRY, halben Text vergessen: meinte beim Scrollen mit dem Rädchen.
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 :)
hi tobi, benutze auch dein programm. super das du daran weiterarbeitest.
Wow, gut zu hören das Du HTerm weiter entwickelst ! Ist ein Super Programm, das mir schon gute Dienste geleistet hat !
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
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.
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
jo ja yes wollt mich an der stelle nur mal für das programm bedanken. sehr gutes tool. jan
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
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.
Hallo mich würde freuen wenn man mit dem Programm auch telefonummern bzw. Mailboxen anrufen kann. Danke
> 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?
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
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.
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.
Nächste Frage: Kann man den Zeilenumbruch alle N Zeichen mit exportieren?
Nächste Frage: Kann man den Zeilenumbruch alle N Zeichen mit-exportieren?
@falscher Hase (Gast) Wird Zeit, dass die Jagdsaison eröffnet wird.
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
Wenn man im Sende-Eingabefeld versucht ein Zeichen zu löschen (Rücktaste, Entf, Überschreiben, ...) gibt es eine Schutzverletzung. (Win XP) Grüße Martin
Hallo, ich kann den Bug-Report von Martin bestätigen. OS: WinXP SP3
Danke! Bei mir tritt er auch jedes mal auf. Bin gerad am beheben
Der Absturz sollte jetzt behoben sein. Einfach nochmal neu runterladen
Hier noch ein Screenshot von HTerm: http://www.elv-downloads.de/service/manuals/RDS100/RDS100_KM_G_080303.pdf
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
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.
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
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
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
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 besser wissen müssen ;) Ich probier derzeit den gcc-Compiler für Windows aus. Der sollte von Win95 an alles einwandfrei unterstützen. Wenn alles läuft werd ich diese Version online stellen,
> 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. Das hat nichts mit MS hinterherjagen zu tun, sondern damit, daß neuere Visual C++-Compiler endlich standardkonform sind, daß also damit endlich auch C++-Sprachfeatures genutzt werden können, die jünger sind als 15 Jahre*. Und Windows 95 und seine Aufgüsse** sind derart veraltet, daß ich wirklich verstehen kann, warum man dafür keine Unterstützung mehr bieten will. *) gefühlt. **) Schlechter Wein in stinkenden Schläuchen: 98 & Me
Hallo, wieso wird \r bzw. dezimal 13 nicht im ascii modus gespeichert? mit RAW klappt das einwandfrei.
@Ruhfus mir sind funktionierende Programme lieber als Sprachfeatures, obwohl ich das verstehen könnte, wenn man zusätzlich was haben will, das man dann nicht extra programmieren müßte. Aber warum werden diese zusätzlichen Features nicht einfach dazu getan. MS hat doch die alten Features für Win98 gelöscht, hätte doch auch drin bleiben können. @falscher Haase ich hab das jetzt nicht nachvollzogen, aber ich könnte mir vorstellen, daß die hex 13 ausgeführt wird und darum nicht dargestellt werden kann. Finde ich auch gut so, damit die Zeilen übersichtlicher sind. Wenn man hex 13 sehen will, kann man ja den anderen Modus nehmen. Unübersichtlich fand ich die Speichermöglichkeit. Da muß man erst mehrmals probieren, um herauszubekommen, wie das funktioniert. mfg Quehl
Es hat ein paar kleine Bugfixes für Fehler gegeben, die zu fehlerhaften Darstellungen oder Abstürzen führen konnten. Ausserdem steht die Linux-Version jetzt zum Download bereit. Sie sollte auf allen 32 und 64-bit System laufen, auf denen gtk2.0 vorhanden ist. Download wie immer unter http://www.der-hammer.info/terminal/index.htm Die Windows-Version läuft (nicht mehr) unter Windows 98. In diesem Fall sollte auf die ebenfalls zum Download bereitstehende alte Version 0.6.5 zurückgegriffen werden.
Hallo Tobi, Super das Du an dem Terminal Programm weiter arbeitest, es ist ein tolles Programm. Bei der Win98 Unterstützung sehe ich das auch so wie Rufus, irgendwann muß mal Schluß sein., aber das sieht jeder ja anders.
Hey Tobi, wirklich ein sehr gelungenes Terminal-Programm. Das ist doch genau das, was man als Entwickler auf COM-Ebene immer benötigt hat. Besser gehts wirklich nimmer. Obwohl ein Feature hätt ich noch gerne (vielleicht habe ich es auch übersehen). Und zwar sollte es möglich sein, dass das Terminal jeden Character direkt nach der Eingabe sendet, also ohne Enter. Wäre dann etwa Windows Hyper-Terminal-like. Aber auch ohne dieses Feature habe ich mein Terminal-Programm for ever gefunden. Thx für die Arbeit!!
Das Feature wurde schon recht oft angefragt und wird sicherlich noch eingebaut. Zwar nicht in der nächsten Version, aber in der darauffolgenden wahrscheinlich. In der nächsten Versions gibts erstmal die Möglichkeit Zeichenketten dauerhaft abzuspeichern, um sie schneller und einfacher zu senden.
Hallo Tobi, freud mich sehr, dass es mit HTerm weitergeht. Ich musste meine Terminal bzw. Kommunikationstools immer selber schreiben, weil es keine Standardlösung für meine Bedürfnisse gab. Mit HTerm sieht das gans anders aus und ich setze es schon öfter ein als meine Tools. Mit dem von Microsoft mitgelieferten Hyperterminal-Hilgreave-Schrott kommt man nicht weit und er sieht verdammt alt gegen Dein HTerm aus. Ups, jetzt werde ich meinem Leitsatz untreu: NICHT MECKERN SONDERN BESSER MACHEN ! In meinem Tool, das deutlich weniger Funktionen beinhaltet habe ich jedoch eine Funktion, die ich in HTerm nicht gefunden habe und zwar: NEW LINE AFTER TIMEOUT Es gibt µC-Anwendungen die ohne Stoppzeichen Daten senden die unterschiedlich groß sind vobei jedes Byte im String bzw. Paket jeden Wert haben kann. Wenn z.B. in einer Sekunde 3 Pakete unterschiedlicher Länge gesendet werden, ist es sehr praktisch wenn nach jedem Paket ein Zeilenumbruch erfolgt, damit man die Pakete auseinander halten kann. Ich habe das so realisiert: Wenn ein Byte empfangen wird, dann wird ein Timer mit der 2-3-fachen Zeit gestartet, die 10 Bit brauchen um übertragen zu werden.(Abhängig von der Bautrate) Wenn der Timer abläuft, wird in der nächsen Zeile weitergeschrieben. Wenn ich es mal beurteilen darf, dann müsste diese Erweiterung einfach in HTerm zu realisiern sein, weil die Datenpakete bei HTerm ja schon mit dem Timestamp versehen sind und nur noch Timestamp-abhängig in die die nächste Zeile geschrieben werden müssten. (zusätzliche Auswahl in der ComboBox Newline at) Wäre echt toll, wenn HTerm auch diese Funktion hätte. Wenn nicht, dann bleibt es trotzdem das beste Terminal-Programm, dass ich kenne! Mein großes Lob und Dank für diese klasse Arbeit. MfG AKtronik
Hallo nach langem suchen habe ich endlich mal ein Ht gefunden das wirklich seines Gleichen sucht. so genug geschleim :-) muss sagen das das Ht wirklich eine absolut gelungenes Tool geworden ist. und möchte mich Ak Tronik anschliessen weil auch ich suche verzweifelt eine möglichkeit new lines über Timeout zu generieren Grund ist das ich sehr oft Modbus kommunikation analysieren muss und diese deshalb auch mitscheide da aber modbus auch kein stoopzeichen kennt ist es schwer mit Ht die einzelnen Pakete von einander zu unterscheiden. ich denke das die vorgeschlagene erweiterung newline nach timeout hier der richtige ansatz ist..... würde aber gerne auch mal das tool von aktronik testen .... wo und wie bekommt man es. gruss Pedro
Betreff Timeout: Was hält euch davon ab, einen kleinen Controller zwischen die zu loggende Anlage und HTerm zu hängen, der nach einstellbarem Timeout ein >CR oder ein ähnlich verwertbares Zeichen ausgibt? Schon habt ihr euren Zeilenvorschub. Auf längere Sicht kommt man sowieso nicht umhin, ein paar Hardware-Interfaces zu stricken, die mit verschiedensten Protokollen umgehen können.
Hallo, @ Petro Tepe genau genommen ist es kein Tool das ich nur für dieses Problem geschrieben habe, sondern es sind Programme die unter anderem über den COM-Port mit µC oder PCs kommunizieren und diese TIMEOUT-Funktion beinhalten. Die Datenpakete werden dabei Teilweise formatiert in entsprechenden Anzeigefeldern dargestellt und einige bitweise angezeigt. Was wie wohin geschrieben wird ist vom User nicht einstellbar und steckt fest in der Software. Das heist, ich müsste erst die Visualisierung so umschreiben, dass "jeder" etwas damit anfangen kann. So wie es bei HTerm der Fall ist. Sollte ich das tun und Tobi dann diese Funktion im HTerm implementiert, dann würde jeder mein extra umgeschriebenes Tool in die Tonne kloppen und die Arbeit wäre für die Katz. Bitte nicht so verstehen, das ich meine Arbeit nicht teilen möchte! Sollte Tobi diese Funktion nicht implementieren, (was sehr, sehr schade wäre, zumal er aufgrund seiner TIMESTAMP-Funktion schon ein Packende hat)dann denke ich noch mal drüber nach. Aber erst mal abwarten was Tobi sagt (macht). @Travel Rec. 1. Wenn Software Hardware ersetzen kann, dann sollte Software eingesetzt werden. 2. Die Software-Funktion muss nur ein mal "hergestellt" werden, die Hardware für jeden. 3. Der Hauptgrund: Weil es nicht möglich ist ! MfG AKtronik
Hallo, ich möchte mich auch noch mal für W98 aussprechen. Ich betreibe in meiner Hobby-Werkstatt 5 Rechner mit W98SE. Das sind PIII 1GHZ in kleinem Gehäuse, nahezu geräuschlos mit externem Netzteil. Mit W98 ist die Geschwindigkeit für Debugging und Analyse genial. Nicht zu vergleichen mit W2k SP4 oder XP. Und es gibt bestimmt noch einige Bastler mehr, die nicht andauernd in neue Betriebsysteme oder Hardware investieren wollen. Just my 2 cents. Sven P.S.: Neue Funktionen in Compilern müssen nicht immer das non-plus-ultra sein.
> Neue Funktionen in Compilern müssen nicht immer das > non-plus-ultra sein. Wenn man in C++ programmiert, geht es nicht um das "non-plus-ultra", sondern um die Einhaltung von lange etablierten Standards. VC6 hat das nicht getan und war in vielerlei Hinsicht ein Krampf im Arsch.
Zu Win9x: Ich hab mitlerweile den gcc-Kompiler für Windows halbwegs zum funktionieren gebracht. Voraussichtlich werd ich hin und wieder damit kompilierte Versionen online stellen. Die sollte dann unter allen Systemen laufen. Nur wie gesagt werden die Versionen seltener und wohl immer etwas später erscheinen. Sonst muss ich Rufus recht geben. VC6 ist von der Kompatibilität her ein graus und das ist leider auch die letzte Version, die imo alle 32-bit Windows unterstützt. Bei allen folgenden Versionen hat MS absichtlich die Unterstützung für alte Windows-Versionen 'beseitigt'. Zm Timeout für Newline: Sollte wie schon gesagt recht leicht machbar sein. Werd ich auf jeden Fall mal ausprobieren, ob und wie gut das läuft. Wenn es so weit ist könnte ich allerdings jemanden zum Testen brauchen, da ich keine entsprechenden Gegenstellen habe. Wenn es so weit ist, sag ich hier noch bescheid - vllt finden sich ja Freiwillige ;)
Hallo Tobi, möchte mich als 1. freiwillige melden ;-) MfG AKtronik
Hallo Tobi ich bin der 2. freiwillige gerne sogar auf beiden version (win und lin) mfg Pedro
Es gibt mal wieder eine neue Programmversion! Zwar sind keine neuen Funktionen hinzu gekommen, dafür wurden einige Bugs ausgemerzt. Dadurch sollte die Arbeit mit der neuen Benutzerschnittstelle jetzt besser funktionieren. Auch für die Linuxer unter euch gibt es eine Neuerung: Die Kompatibilität wurde stark verbessert, so dass das Programm jetzt auch unter nicht mehr ganz taufrischen Plattformen wie einem Debian-stable starten sollte. Download wie immer unter http://der-hammer.info/terminal/
Hallo Tobi, in der aktuellen Version funktioniert das wiederholte Senden von Files nicht korrekt. Das File wird einmal gesendet, danach zählt nur noch der Repeat-Counter hoch und keine Daten werden mehr übertragen.
Ja super. Geht wieder! Dann ist mir noch aufgefallen, daß im gleichen Dialogfenster der Delayzähler bereits ab Beginn des Sendens der Datei heruntergezählt wird (kann jetzt nicht sagen, ob das schon immer so war). Somit kann es bei größeren Dateien dazu kommen, daß die Übertragung länger dauert, als die eingestellte Wartezeit bis zur nächsten Übertragung und diese dann also sofort nachgereicht wird. Grüße, TravelRec.
Hallo Tobi, ist die Funktion "New line after Timeout" bzw. "New Line for each Timestamp" noch in Planung? HTerm ist zwar jetzt schon unschagbar, allerdings habe ich diese Funktion noch nie woanders gesehen. Ich fände es superklasse, wenn Du das mit rein nimmst. Zwing mich nicht Dich anzubetteln ;-) MfG AKtronik
Ich hätte auch einen Wunsch: Beim Programmieren von µC mit Bootloadern ist es teilweise ziemlich nervig, wenn man immer erst den COM Port schließen muss, ehe man den µC programmieren kann. Von daher fände ich es schön, wenn es eine Option Auto Disconnect gäbe, die automatisch den Port schließt, sobald HTerm im Hintergrund ist, und den Port wieder öffnet, sobald das Programm wieder in der Vordergrund kommt.
Alles noch in Planung. Da ich aber derzeit umziehe muss die Umsetzung noch etwas warten. Zusätzlich werde ich wenn ich Pech habe ein paar Wochen vom Inet abgeschnitten sein. Also nicht wundern, wenn für die nächste Zeit keine Antworten kommen. Ich bin nur zeitweilig vom Rest der Welt abgeschnitten ;)
Tobi, vielen Dank für das Programm, ich benutze es sehr gerne, besonders um Debugausgaben von µCs anzusehen. Hier noch ein paar Anregungen: - Anstatt "nur" COM auch TCP Verbindung, so hat man gleich einen super Telnetclient zum debuggen - Möglichkeit das/die Zeilenende-Zeichen frei einzustellen (z.B. 0x1B60) - Möglichkeit eine CRC berechnen zu lassen, z.B. von markierten Zeichen. Universell lässt sich das recht schön lösen wie es die Jungs von "Hex Workshop" gemacht haben: Man kann die CRC Breite (16/32), das Polynom, Startwert, Reflection in/out und XOR out einstellen und kann so recht viele verschiedene CRC Typen auf einmal erschlagen. - Möglichkeit von "Makrotasten", so dass man schnell verschiedene vorgefertigte "Pakete" absenden kann Weiter so! Gruß Ja mann
... wenn ich Pech habe ein paar Wochen vom Inet abgeschnitten sein. Also nicht wundern, wenn für die nächste Zeit keine Antworten kommen. Ich bin nur zeitweilig vom Rest der Welt abgeschnitten ;) @ Tobi H. Bekommst du einen neuen DSL-Anschluss?
Hier noch ein paar Verbesserungsvorschläge, habe ich vielleicht schonmal genannt: - Eingabezeile sollte Fokus nicht durch Mausklick verlieren - Eingabezeile sollte auch leer sein dürfen wenn <send on enter> aktiv ist - Info-Datum ist 2006, vielleicht eine Anzeige des builds machen: HTerm v0.7.1 01.10.2008 (26 days ago)
Umzug überstanden, Internet wieder da und eine neue Version gibts auch! Zwar immernoch ohne die gewünschten Features aber mit einer anderen großen Neuerung. In v0.8.0 gibt es einen SequenceManager, in dem man häufig verwendete Zeichenketten ablegen kann. Diese können dann mit einem einzigen (Doppel-)klick immer wieder gesendet werden. Zusätzlich gibt es im Option-Menü zwei neue Dialogen, mit denen man die 'Newline At' und 'Send on Enter' Zeichenketten einfach editieren kann, ohne in den Config-Dateien rumpfuschen zu müssen. Viel Spass mit dem Programm und vielleicht ist dieses mal ja kein Bug drin, der sofort für Abstürze sorgt :) tobi
Super, vielen Dank genau sowas brauche ich (Sequenz Manager)! Schön übersichtlich, top. Bei mir wirkt das nachträgliche Ändern des Datentyps einer Sequenz nicht. Steht auch immer auf ascii... edit: Cool wär, den eingegebenen Description-Text als Tool-Tip der Items anzeigen zu lassen.
Hallo Tobi, wir sind begeistert, ein Feature, welches wir genau jetzt gut gebrauchen können. Daumen hoch!
@Ema Tronik Was meinst du mit Datentyp ändern klappt nicht? der Datentyp, der neben der Eingabezeile steht ist nur relevant, wenn du etwas neues eingibst. Du kannst beliebig viele Formate innerhalb einer Sequence mischen. In welchem Format etwas interpretiert wird sieht man an der Farbe des Texthintergrunds.
Tobi H. wrote: > @Ema Tronik > Was meinst du mit Datentyp ändern klappt nicht? der Datentyp, der neben > der Eingabezeile steht ist nur relevant, wenn du etwas neues eingibst. > Du kannst beliebig viele Formate innerhalb einer Sequence mischen. In > welchem Format etwas interpretiert wird sieht man an der Farbe des > Texthintergrunds. @Tobi Ja jetzt wo Du es schreibst, ich hatte es nur mit einer hex-Zahl ausprobiert (meine Kommandos sind nur 1byte), ist logisch... Super Programm!
Hallo Tobi, mit der Version 0.8.0 gibt ja noch mehr und noch bessere Features - Respekt! Aber ich habe auch noch Verbesserungsvorschläge: - ich vermisse auch eine "Newline at"-Funktion in der Transmitted data-Box ("Received Data" soll bei LF+CR ne Newline machen, die "Transmitted Data" nur bei CR(=SendOnEnter)) - ich wünsche mir immer noch das Schalten von RTS (und DTR) per Kommando im Sendestring Kannst Du da was für mich (und sicher auch andere) tun? Vielen Dank! Und nochmals: großes Lob für Deinen HTerm!!! Gruss Michael
Hallo Tobi, ist die Funktion "New line after Timeout" bzw. "New Line for each Timestamp" noch in Planung? MfG AKtronik
Könnte man langsam mal in "Altes Terminal-Programm für Windows" umbenennen ;)
@AKtronik: Ist in Arbeit. Zickt noch ein bisschen und tut nich immer das, was es soll. Wird aber ziemlich sicher in der nächsten Version drin sein. Auch Steuerkommandos in der Eingabezeile werden wohl drin sein. Dann sollte man so etwas wie 'abc dtr=1 def wait=1000;dtr=0' eingeben können
Klasse, freud mich riesig !!! ... und schließe mich Travel Rec´s Aussage an ! MfG AKtronik
Entschuldige dass ich auf einen alten Beitrag antworte. Weil etwas weiter ober geschrieben wurde dass das VS Win98 nicht mehr unterstützt. Das Framework ist der Übeltäter. Das letzte Framework dass Win98 unterstützt ist die 1.1er Version. Wenn's gewünscht wird, könnte ich versuchen es Win98 kompatibel zu kompilieren. (Wenn nicht all zu viele von VS7/FW1.1 nicht unterstützte Funktionen verwendet werden.)
@sepp würde ich natürlich begrüßen. Wäre schön, wenn das ginge. Kann das auch der Grund sein, daß die neueren Atmel Entwicklungsprogramme mit Win98 nicht laufen? Da gab es mal eine Fehlermeldung mit Framework. Atmel konnte mir das nicht beantworten.
Wie ich schon geschrieben habe hängt dass Ganze mit dem sogenannten Framework zusammen. Dass ist eine DLL-Sammlung auf die die die mit Visual Studio erstellt wurden zugreifen. Und ab der Version 2.0 wurde die Unterstützung für Windows 98 eingestellt. Wenn ich mich richtig erinnere, gibt es ab Framework Version 3.0 keine Unterstützung von Windows 2000 mehr. Wenn man also den Programmcode so gestaltet, dass er mit Framework 1.1 kompatibel ist, kann man das kompilierte Programm auch unter Win98 laufen lassen. Wenn man aber das Programm mit Framework 2.0 oder neuer erstellt und nicht darauf achtet dass der Quellcode kompatibel bleibt, kann man eben das Programm nicht mehr so erstellen, dass es auch unter etwas älteren Betriebssysten läuft. Es ist also auch heute noch möglich Win98 kompatible Programme zu erstellen. Man muß nur Zeit und Mühe investieren um den Quellcode kompatibel zu halten. Außerdem kann man dann dann einige graphische Spielereien nicht verwenden.
>Dass ist eine DLL-Sammlung auf die die die mit Visual Studio erstellt
wurden zugreifen.
Richtig:
Dass ist eine DLL-Sammlung auf die die Programme die mit Visual Studio
erstellt wurden zugreifen.
Das Programm ist nicht mit irgendeinem "Framework 1.1" oder so etwas erstellt. Das ist weder eine .Net- noch eine MFC-Applikation, sondern nutzt das (freie) GUI-Toolkit wxWidgets. (einfach mal die Hinweise am Anfang des schon etliche Jahre alten Threads lesen) Der Compiler wird als "reiner" C++-Compiler genutzt, Perversionen wie "managed C++" werden nicht verwendet. Allerdings verwendet die C-Runtimelibrary, die von aktuellen MS-Compilern gelinkt wird, auch irgendwelche Systemfunktionen, die unter steinalten Frickelwindows-Versionen nicht funktionieren. Das Problem sollte sich durch Verwendung eines beliebigen anderen Compilers lösen lassen; wxWidgets kann auch mit diversen anderen (auch freien) Compilern genutzt werden.
Sepp wrote: > Wenn ich mich richtig erinnere, gibt es ab Framework Version 3.0 keine > Unterstützung von Windows 2000 mehr. Da erinnerst Du Dich richtig. Aber HTerm verwendet weder das Framework 1.1 noch das Framework 2.0. Es handelt sich um eine native Anwendung ohne Zugriff auf die CLR.
Entschuldigung. Ich dachte dass ich vor einiger Zeit etwas von Visual Studio gelesen habe.
Sepp wrote: > Ich dachte dass ich vor einiger Zeit etwas von Visual Studio gelesen > habe. Selbst wenn, es bleibt bei Visual Studio != .NET framework. Ich verwende zum Beispiel das Studio, nicht aber zwangsläufig das Framework.
So weit alles richtig. Ich verwendete Visual Studio in der 2008er-Version und das verwendet irgendwo intern Aufrufe zu C-runtimelib-Funktionen, die die alten Windows-Version nicht besitzen. Das ist sicherlich volle Absicht von MS, um die alten Systeme zu verdrängen. Nur zur Wahrung voller Kompatibilität wieder VC6 zu verwenden bedarf schon einer großen Menge leidenswillen. Das Problem ließe sich natürlich mit anderen Compilern für Windows umgehen. Ausprobiert habe ich z.B den gcc für Windows, nur begeistert bin ich nicht von seiner Geschwindigkeit noch von ein paar anderen seltamen Macken, die er hat. Nachtrag: VS wird bei mir als reiner C++-Compiler verwendet, ohne managed-gefrickel oder .net. Schöne Bildchen mach einzig und allein wx
Tag Wenn's um Grafik geht, geht nichts über LabView ;) >Nur zur Wahrung voller Kompatibilität wieder VC6 zu verwenden bedarf >schon einer großen Menge leidenswillen. Ich bin einer von denen. Aktuell arbeite ich mit VS7 / FW 1.1. Der Quellcode wird aber voll kompatibel zu VS6 bis VS9 gehalten. Dass bedeutet zwar dass ein paar Codeabschnitte doppelt vorhanden sind, aber es funktioniert (zur Zeit) noch. >Ich verwendete Visual Studio in der 2008er-Version und das verwendet >irgendwo intern Aufrufe zu C-runtimelib-Funktionen, die die alten Windows->Version nicht besitzen. Diese Version ist aber auch nicht mehr kompatibel zu FV1.1
Du vermengst immer noch das .Net-Geraffel mit nativem Code. Tobi verwendet VS8 als C++-Compiler, um nativen Code zu erhalten, und das benutzt kein .Net-Framework, egal in welcher Version. Wie aber schaffst Du es, Quellcode zwischen VS6 und neueren Versionen kompatibel zu halten, wenn Du das .Net-Geraffel nutzt? VS6 ist ein reiner nativer C/C++-Compiler, das kennt kein .Net-Framework.
Hallo Tobi, ein persönlicher Wunsch für eine kommende Version: Ein Sequenzer für die Sequenzen, also ein Baukasten, der die vorher gebastelten Sequenzen mit einstellbarer Verzögerung einer bestimmbaren Reihe nach abfährt und ggf. wiederholt. Somit kann man zum Beispiel komplette Szenarien mit angeschlossener Peripherie durchspielen und quasi dabei zusehen, wie alles funktioniert (oder auch nicht). Nochmals danke für das nützliche Programm!
Travel Rec. wrote: > ein persönlicher Wunsch für eine kommende Version: > > Ein Sequenzer für die Sequenzen, also ein Baukasten, der die vorher > gebastelten Sequenzen mit einstellbarer Verzögerung einer bestimmbaren > Reihe nach abfährt und ggf. wiederholt. Somit kann man zum Beispiel > komplette Szenarien mit angeschlossener Peripherie durchspielen und > quasi dabei zusehen, wie alles funktioniert (oder auch nicht). ACK! > Nochmals danke für das nützliche Programm! Auch von mir ein herzliches Dankeschön für Deine hervorragende Arbeit! Gruß Christian
Hatte ich auch schon dran gedacht. Ich denk ich werd das so lösen, dass man in Sequenzen andere Sequenzen aufrufen kann (wer Endlosschleifen baut ist selbst schuld ;). Zusammen mit der neuen Möglichkeit Sendepausen anzugeben sollte damit genau das machbar sein.
>Wie aber schaffst Du es, Quellcode zwischen VS6 und neueren Versionen >kompatibel zu halten, wenn Du das .Net-Geraffel nutzt? >VS6 ist ein reiner nativer C/C++-Compiler, das kennt kein >.Net-Framework. Indem ich nur native C/C++ programmiere und gelegentlich MFC bzw. ATL verwende. Von managed Code habe ich bis jetzt die Finger gelassen. Und die paar Änderungen der Funktionen und Parameter die es zwischen den VS Versionen gibt, bekommt man mit Deffinitionen in Verbindung mit #if, #ifdef und #ifndef Abfragen hin. Da hat man zwar einzelne Abschnitte mehrfach zu programmieren, aber im Großen und Ganzen klappt das Portieren zwischen den Versionen ohne Probleme. Mann muß nur aufpassen dass bei den Projekt-Dateieine der verschiedenen Versionen die Änderungen übernommen werden. Leider kommt man trotzdem nicht ohne Famework aus, was aber nur auffällt wenn man unter Verwendung von Framework 1.1 programmiert. bzw. die Programme auf Win98 / W2K laufen lassen will und das Framework dynamisch einbinden lässt.
> Indem ich nur native C/C++ programmiere
Und was hat das dann mit dem von Dir hartnäckig so genannten "Framework"
zu tun?
Rufus t. Firefly wrote: > Und was hat das dann mit dem von Dir hartnäckig so genannten "Framework" > zu tun? Eigentlich nix, aber vielleicht hat er nur so zum Trotz und ohne es zu benötigen den Schalter /clr gesetzt. :-)
Ich war fleißig und deshalb gibt es schon wieder eine neue Version :) Dieses mal wurden viele Funktionen eingebaut, die auch hier angefragt wurden: * Es gibt unter 'Options' ein 'Clear all', dass alle Counter/Fenster löscht * Auch unter 'Options' kann aktiviert werden, dass automatisch die Schnittstelle freigegeben wird, wenn das Programmfenster den Fokus verliert. Wenn es ihn wiederbekommt wird die Verbindung automatisch wiederhergestellt * Jetzt kann Enter auch bei einer leeren Eingabezeile verwendet werden. Wenn eingestellt wird dann der 'Send on enter'-String rausgeschickt * Zeilenumbrüchen können im Empfangsfenster jetzt auch an den Stellen eingefügt werden, an denen zwischen zwei empfangenen Bytes eine Pause von mindestens einer bestimmten Länge ist * Und als große Neuerung unterstützt die Eingabezeile einen neuen Eingabemodus namens 'Command' bzw CMD. Damit können (einfache) Steuerbefehle direkt eingegeben werden. Das funktioniert natürlich auch bei Sequences. Bisher gibt es drei Kommandos: - 'wait' für eine Pause in Millisekunden - 'dtr' um die entsprechende Leitung zu manipulieren - 'rts' entsprechend dtr Zu verwenden ist das ganze nach dem Schema 'Command=Value'. z.B wartet 'wait=100' ca. 100 Millisekunden. Oder 'dtr=1' setzt die entsprechende Leitung auf high-Pegel. Mehrere Kommandos können mit ';' getrennt werden. Folgendes Kommando wäre dementsprechend möglich: 'dtr=0; rts=0; wait=500; rts=1;wait=100;dtr=1' Viel Spaß mit den Neuerungen und ich hoffe es läuft alles so, wie es soll. Bug wie immer hier melden. Download wie gewohnt unter http://der-hammer.info/terminal/
Hallo Tobi, ich habe die Funktion mit dem pauenabhängigen Zeilenumbruch getestet und bin begeistert!!! Es funktioniert bei mir mit kurzen Pausen von 15ms zwichen den vom µC gesendeten Strings problemlos!!! Sollte ich einen Bug feststellen, dann lass ich es Dich wissen. Vielen Dank für Deine Arbeit!!! MfG Ak Tronik
Hallo Tobi Supertoll! Ich bin echt total begeistert! Vielen Dank! Einen kleinen Bug hab ich gefunden (oder ist es ein Feature?)! Bei "Focus loss disconnect" kommt der automatische Re-Connect erst, wenn ich auf das ReceivedData- oder TransmittedData-Fenster (oder in das Eingabefeld) klicke. Der ReConnect kommt nicht, wenn ich HTerm einfach nur in der Taskleiste "reaktiviere". Das sollte geändert werden, oder? Gruß Michael
Hallo Tobi, gibt es irgendwie eine Bedienunganleitung zu Deinem Programm ? Ich scheitere schon daran, nur einen einzelnen Tastendruck auszusenden und danach etwas zu empfangen. Vielen Dank, Yogi
Hallo Tobi, darf ich noch Wünsche äußern? Kannst Du die Flusskontrolle noch um eine Software-Flußkotrolle mit STX/ETX erweitern? Alternativ wäre es auch super, wenn das Programm Einzelbytes auf den Com-Port sendet und erst das nächste Byte ausspuckt, wenn das empfangene Echo dem gerade gesendeten Byte entspricht. Auf diese Weise könnte man sehr einfach Firmware-Updates auf externe Hardware über Bootloader realisieren, gerade wenn die Schnittstelle auf eine hohe Baudrade eingestellt ist und man nicht laufend umstellen will.
Hallo Tobi, es gibt einen Bug im Sequenz-Fenster: ab einer gewissen Menge an Einträgen klappt der Scrollbalken nicht mehr, wenn man nach der Eingabe der Sequenzen das Programm geschlossen und wieder geöffnet hat. Ausschlaggebend ist wahrscheinlich die Größe des darstellbaren Hauptfensters. Bei abgedocktem Sequenz-Fenster funktioniert der Scrollbalken ebenfalls nicht. Somit erreicht man nur die oberen Sequenzeinträge. Ab und an gibt es nicht reproduzierbare Programmabstürze.
Hallo Tobi, mit der neuen Funktion "New line after .. ms" ist man (endlich) in der Lage, einzelne Strings unterschiedlicher Länge in Zeilen abzulegen. Bei HTerm ist der Zeilenumbruch nicht abschaltbar, was bei langen Strings dazu führt, daß sie in der nächsten Zeile weitergeschrieben werden und somit schlecht gezählt werden können. Toll wäre: - Zeilenumbruch zu/abschaltbar - horizontaler Scrollbalken - Zeilennummern zu/abschaltbar (wie bei Tabellenkalkulationsprogrammen) Wäre super, wenn Du das bei der nächsten Version implementieren würdest!!! MfG Ak Tronik
Hallo Tobi Habe gerade dein Terminalprogramm getestet - sehr viele Funktionen in der Oberfläche, aber durch klare Bezeichnungen sicher nützlich. Ich habe ein Datenempfangsprogramm mit C#, VS2008 geschrieben. Für ein Meßgerät. Wenn man bei einem Seriell USB Konverter den Stecker zieht, entfällt Windows die COM-Schnittstelle. Dein HTerm zeigt aber weiter verbunden an. Man muß es wissen, und manuell auf disconnect / connect verbinden. Da reagiert es wie MS Hypertem. "Mein" Programm wartet ggf. auf die Schittstelle. Durch Stecker ziehen und wieder stecken gibt sowohl Hyperterm als auch HTerm die Schnittstelle frei. Ich habe llerdings ein Problem mit einer exception nach dem 3. Reconnect. Ein MS-Fehlerfenster kommt, das Programm macht aber was es soll. Ich werde dieses Fenster leider noch nicht los. Wäre es nicht sinnvoll, den "richtigen" Status anzuzeigen? Und nach wiedergültig werden automatisch zu verbinden? MfG Frank
> - Zeilenumbruch zu/abschaltbar Zuschaltbar sind die doch, oder was meinst du? hterm merkt sich leider die Einstellungen des Zeilenumbruchs nicht, oder ich bin zu blöde. ;-) > Ab und an gibt es nicht reproduzierbare Programmabstürze. Ich vermute, die treten auf, wenn hterm zu lange läuft. Mir fiel auf, dass nach langem hterm-Betrieb es abstürzt. @Tobi Gibt es eigentlich Logfiles mit denen wir dir helfen könnten? Ansonsten fiel mir das unter Vista SP1 und hterm 0.8.0beta auf, die 0.8.1beta habe ich gerade erst entdeckt. ;-)
Ich habe einen kleinen Fehler in der neuesten Version gefunden. Ich habe Focus Loss Disconnect aktiviert, HTerm war verbunden. Dann habe etwas in meinem Code geändert (so dass HTerm den Port geschlossen hat), und habe dann wieder auf HTerm geklickt, und sah diesen Fehler. Der scheint allerdings nicht neu zu sein: Beitrag "Re: Neues Terminal-Programm für Windows" Ich verwende zwar auch einen USB-Seriell Adapter, allerdings wurde dieser nicht ausgesteckt. Nach einem Klick auf Connect lief wieder alles wie vorher. Anscheinend hat HTerm da beim automatischen Disconnect irgendwas zugemacht, was beim Reconnect wieder gebraucht wurde. Reproduzieren konnte ich den Fehler bisher leider/zum Glück nicht.
Ich hatte obigen Fehler noch ein paar mal, vor allem wenn ich mal schnell mittels Alt+Tab auf ein anderen Fenster wechsele und wieder zurück. Aber nur manchmal kommt dann der Fehler. Ich habe aber noch einen anderen Fehler gefundne: Wenn man Autosend verwendet und Autodisconnect, dann macht er einen Disconnect sobald man im Autosend Fenster auf Start klickt.
Danke für die ganzen Hinweise. Ich werd in den nächsten Wochen mal schaun, dass ich die gröbsten Bugs behoben bekomme. Für neue Features fehlt mir im Moment leider die Zeit :/
Habe den Absturz jetzt mal reproduzieren können: bei einer markierten Stelle in der Eingabezeile und bei Sequenz -> "Insert to input line" macht das Programm ´nen Fisch. Ein angedocktes Sequenzfenster hat bei zu vielen Einträgen keine Scrollbalken und/oder verliert ab und an Daten, wenn das Sequenzfile gespeichert wird. Dies passiert bei abgedocktem Sequenzfenster nicht. Nochmal danke für Deine wertvolle Zeit und das Gehinschmalz ;-).
Htherm unter Debian installieren. Habe hier nur die ältere Version für Win Me installieren können, bei dem Linux Debian etch 4, KDE 3.5 bin ich mir bei den Codes nicht ganz sicher. Bitte um Anweisung, wie man den tarball installiert. Gruß Hans
Ich fühle mich verpflichtet das mal hier zu posten : Super Programm, hilft mir im Moment wirklich weiter ;) Dankeschön :)
Hey, ich kann da nur zustimmen, das Programm ist echt praktisch. Großen Dank an den Entwickler!!!!!!
Konnte die Linuxversion inzwischen einrichten, keine Hilfe mehr nötig.
Den Beitrag von "Peter" habe ich gelöscht, da er Hinweise auf "eine gecrackte Version" enthielt.
hab mri das mal installier, und es ist wirklich ein gutes Programm. Mit Hyperterminal nich zu vergleichen :D Vielen Dank dafür!!!
hi,falls das Programm noch weiterentwickelt wird, dann möchte ich einen Bug bzw. ein Ärgernis melden, was mich ne ganze Menge an Zeit für die Fehlersuche gekostet hat: wenn das Fenster nicht maximiert ist, und man Daten empfängt, dann entspricht die Darstellung nicht den tatsächlichen Daten. Maximiert man das Fenster dann, wird alles nochmal neu gezeichnet und es stimmt(ohne neuen Datenempfang) Ich habe einen Datensatz von 115 Zeichen von einer RFID Karte empfangen und per RS232 ausgegeben. Dabei ist der Fehler aufgetreten. Habe mich dann ewig gewundert und gesucht, mit Oszi gemessen udn dann durch Zufall mal das Fenster maximiert und schwupps war alles korrekt :D Ansonsten ein super Programm und Hyperterminal wirklich deutlich überlegen!!
Jo, schließe mich an, ist ein echt gutes Programm. Ich hätte noch ne Frage bzgl. Steuerung des Programms via Schnittstelle. Werden so Sachen wie ClearScreen, etc. unterstützt? Ralf
Nein, das ist ein reiner Schnittstellenanalysator. Der Name "Terminalprogramm" ist irreführend gewählt.
Nuja - man kann ja auch Daten senden und empfangen. Die üblichen Terminal-Protokolle werden freilich nicht bedient...
Wie sieht es bei dem Programm mit framing Errors aus: Hintergrund: eine Übertragung (Modbus) soll mit 8 E 1 laufen. Die original-Quelle sendet als Parity allerdings immer ne 1. Also bei ca 50% der Zeichen ein falsches Parity Bit. Unser Modbus-Treiber ignoriert empfangene Zeichen mit falschem Parity, Bray-Term z.B. stellt allerdings ALLE Zeichen dar. (beim Senden ist aber alles korrekt) Wie macht dein Terminal das bei Zeichen mit Parity oder Stopbit-Fehlern? - gar nich anzeigen - anzeigen ohne Fehlerhinweis - anzeigen mit Fehlerhinweis (z.B. andere Zeichenfarbe auf dem Schirm)? Hat mich nen Tag Arbeit gekostet, bis ich auf nem Speicherscope das "falsche" Telegramm mit einem korrektem Telegramm vergliche hatte. hws
Ich habe auch noch eine anmerkung: wie wäre es, wenn man auch noch "eigene" baudraten eintragen könnte!? Ich sende auf meinem board aktuell mit 76.800 Baud und damit ist dein programm für mich grad unnütz. schade eigentlich, sieht cool aus! gruß
Du kannst manuell alle Dir vorschwebenden Baudraten eintragen, wenn Dein COM-Port diese unterstützt. Diese Einstellung kannst Du auch in der hterm.cfg eintragen. Das Programm ist hier nicht das Problem.
Frage zu Fonts: Erstmal danke für das gute Programm. Es gibt einige Terminals die Ascii Sonderzeichen direkt anzeigen. So z. B. ASCII Bell als Glocke, Carriage Return als c/r, Line fFeed als l/f usw. Jeweils als ein Grafiksymbol. Hat den Vorteil das die Steuerzeichen direkt und nicht kryptischen Pik Herz Karo Symbole auftauchen. Kennt jemand so einen Font?
Hallo, gibt es eigentlich eine Möglichkeit sich die Art eines Fehlers anzeigen zu lassen? Wenn "Show Errors" gesetzt ist werden die falschen Daten ja rot eingefärbt. Jetzt würde ich aber gern wissen was für ein Fehler aufgetreten ist (Paritätsfehler, Rahmenfehler usw). Konnte da so erst mal nix zu finden. Ansonsten muss ich es einfach noch mal sagen, einfach ein super Programm!!! Danke!! Gruß
Hallo, tolles Programm! Ich benutze V 0.8.1. Jetzt versuche ich ein File zu übertragen, das Hexwerte enthält. Leider gelingt das gar nicht. Kann mir jemand ein kurzes Beispiel posten? Wo gibts denn eine Hilfe zum Programm? Weiter oben war die Rede von einem PDF-File, das ich nirgends finden kann. Bin dankbar für Hilfen. cosin
> Es gibt einige Terminals die Ascii Sonderzeichen direkt anzeigen. > So z. B. ASCII Bell als Glocke, Carriage Return als c/r, Line fFeed als > l/f usw. Jeweils als ein Grafiksymbol. Schau dir mal mit der Zeichentabelle die Windows-Fonts an. Dinge wie Absatzmarke (seitenverkehrtes P), Zeilenumbruch-Zeichen (Enter-Knickpfeil), Tab-Pfeil findest so AFAIK sogar in allen Standard-Fonts, allerdings weiter hinten in den Unicode-Codepoints, also nicht bei den nicht druckbaren Zeichen. Für Glocke usw. vielleicht auf ne Zweitschriftart wie Windings umschalten?
Sorry, hab vergessen, dass dir das wenig nützt, wenn du das vorhandene Programm vom Tobi verwenden willst. Vergiss meinen Beitrag.
@Tobi: Bist Du auch im Hive-Projekt Forum aktiv...? Von "HTerm" las ich da zum ersten male...
ist der Programmautor hier überhaupt noch aktiv?? Sieht eher nicht so aus, oder?
Hallo, sehr schönes Programm!!!! Wunsch: Könnte man es noch schneller machen. Ich habe einen IIC-Bus-Logger, dem reichen die 256000 Baud nicht. Geht noch eine Stufe schneller? mfG Jürgen
Wenn Deine Schnittstelle das mitmacht, kannst Du auch schneller. Ein FT232R läuft beispielsweise mit 3MBaud.
Guten Morgen! Mich würde mal was anderes zu diesem Terminalprogramm interessieren: unterstützt es die Escape-Sequenzen z.B. zu Cursor-Positionierung, Bildschirm löschen, Schrift- bzw. Hintergrundfarbe ändern?
> Mich würde mal was anderes zu diesem Terminalprogramm interessieren: > unterstützt es die Escape-Sequenzen z.B. zu Cursor-Positionierung, > Bildschirm löschen, Schrift- bzw. Hintergrundfarbe ändern? NEIN, das tut dieses Programm nicht. Der Begriff "Terminalprogramm" ist daher auch falsch gewählt, hterm ist eher ein Schnittstellen-Test- und Analysewerkzeug. Beispiele für Terminalprogramme sind das "beliebte" Hyperterminal, TeraTerm*, Procomm (wenns das noch gibt) oder andere, die auch als Terminalemulator bezeichnet werden. Übrigens gibt es nicht die Escape-Sequenzen, sondern durchaus viele verschiedene, wie es auch viele verschiedene Terminaltypen gibt bzw. gab (DEC VT100, VT52, TVI950, Cybernex etc.); am weitesten verbreitet ist allerdings der auch ANSI-Sequenzen bekannte Befehlssatz des DEC VT100. *) http://ttssh2.sourceforge.jp/
Mir fehlt manchmal das ich kein Zeichen selber einstellen kann an dem er um bricht. Gruß Marco
Options > Modify Newline At dort eintragen und dann bei "Newline at" auswählen tobi
Hi! Ja, so halb bin ich wieder da. Kam irgendwie ein Umzug, neues Studium usw dazwischen :)
Ja, bin seit ein paar Wochen immer mal wieder dran. Derzeit hauptsächlich aufräumen von alten Sachen. Da fliegen noch ein paar Codestücke aus dem Jahr 2005 rum, die noch ziemlich verquer sind. Die Ausgabefenster hab ich z.B die Tage mal fast komplett neu geschrieben.
Hallo Tobi H., dein HTerm war immer sehr hilfreich und nützlich. In den letzten Tagen hat es mich aber im Stich gelassen: Zum Testen eines Datenloggers habe ich mit deinem HTerm (mit Send File) zahlreiche Dateien (150 - 170 Kb) mit unterschiedlichen Datenraten (9600 bis 38400 Baud) an einen Logger geschickt, der sie dann in eine Datei schreiben sollte. Beim Dateivergleich zwischen Quell- und Zieldatei wurden dann fehlerhafte Bytes festgestellt. Die Anzahl der Fehler scheint mit der Baudrate zuzunehmen (bei 9600 Baud sind sie mir anfangs nicht aufgefallen) Bei den Fehlern ist keine Systematik erkennbar, sie tauchen aber offensichlich in Gruppen auf. HTerm hat sich während dieser Tests häufig aufgehängt, der Zähler für sendtime lief weiter, aber es wurden keine Daten mehr übertragen. Die Suche im eigenen Programm ergab, dass bereits von der seriellen Schnittstelle fehlerhafte Bytes abgeholt wurden. Daher habe ich angenommen, dass HTerm möglicherweise das Problem generiert. Und habe den selben Test mit accessPort gemacht. Damit gelang es, die Dateien tatsächlich fehlerfrei zu übertragen. Allerdings hat das Programm (accessPort) bei einem Test mit 57200 Baud meinen Rechner ungefragt neu gestartet. Michael S.
Wir haben HTerm schon mit 3MBaud (FT232RL) bepflastert und lediglich auf langsamen Rechnern (PIII-800) Probleme festgestellt, wenn das System nicht mehr mitkam. HTerm hat sich in dem Fall auch manchmal festgefressen.
Travel Rec. schrieb:
> Wir haben HTerm schon mit 3MBaud (FT232RL) bepflastert
Mit der alten Version oder der neueren? Ich glaube Version >0.8 ist die
neue und das davor die alte.
Mit der neuen meine ich auch mal ähnliches festgestellt zu haben. Die
alte hat ab und zu nur Daten zu spät angezeigt, aber ansonsten nichts
verschluckt.
Habt ihr irgendeinen speziellen Fall mit dem sich das Einfrieren bzw die Fehler reproduzieren lassen? Ich hatte bisher kein Glück damit. Eigentlich hat sich mit 0.8 nichts an dem Code für die Serielle geändert...
>> Ab und an gibt es nicht reproduzierbare Programmabstürze. > Ich vermute, die treten auf, wenn hterm zu lange läuft. Mir fiel auf, > dass nach langem hterm-Betrieb es abstürzt. > @Tobi > Gibt es eigentlich Logfiles mit denen wir dir helfen könnten? Ansonsten > fiel mir das unter Vista SP1 und hterm 0.8.0beta auf, die 0.8.1beta habe > ich gerade erst entdeckt. ;-) Joo, bei langen (>1 Stunde) Einsätzen, stirbt HTerm schon mal. Da kam aber auch lange Zeit nichts über die serielle Schnittstelle rein. Vielleicht funkt da auch Windows/Vista dazwischen... :o
Hallo Tobi H. ich habe gerade (auf einem anderen Rechner) noch einmal getestet. Dazu habe ich die "changelog.txt" auf 400kB aufgeblasen und mit unterschiedlichen Baudraten ins Nirwana geschickt. Aufgefallen ist mir, dass die "LED" ClearToSend immer heftiger leuchtet, je höher die Baudrate eingestellt ist (es ist natürlich kein Hardware-Handshake vereinbart). Auf meinem anderen Rechner blinkte immer RI und eine weitere LED links oder rechts davon. Egal, bei 115kBaud hat sich HTerm aufgehängt: Die Fortschrittsanzeige (der Balken läuft weiter), die Zeitanzeige steht still und auch die Anzeige der übertragenen Bytes verharrt bei 200/400.000. Das Programm reagiert nicht mehr und musste per CTRL-ALT-DEL beendet werden. Anmerkung: Ich habe vielleicht 20-30 mal einzelne Dateien per sendfile abgeschickte, zwischendrin häufiger abgebrochen und die Datenrate von 9600 bis auf 115kB erhöht. Beide System mit Windows 2000, SVP 4 Prozessor Athlon 1.4 GHz bzw. Intel 1.7 GHz Das Problem ist zuerst bei Version 0.71 aufgefallen, dann habe ich die neuere Version 0.81 installiert - aber keine Veränderung. Die blinkenden LED's machen mich übrigens stutzig. Vielleicht hilf's ja weiter. Michael S. Michael S.
Hallo Tobi H. Es freut mich zu hören/lesen, dass am HTerm weitergearbeitet wird. Somit wird diese Super-Programm noch besser!!! Ich habe da einen seltsamen Effekt, den ich mir nicht erklären kann: Es werden nicht alle Daten in "Echtzeit" in der Receive-Box angezeigt! Beispiel: ich sende meinem uC Befehle, die er per "OK" quittiert. Ich sehe an meinem Pegelwandler (Hardware), das eine Antwort kommt, in "Received Data" ist aber nichts zu sehen, auch nach dem zweiten und ggf. dritten Befehl steht dort nichts drin. Und dann, nach dem vierten Befehl stehen plötzlich alle vier "OK"s in der Box. Diesen Effekt habe ich an mehreren PCs (WinXP Pro) festgestellt, die FIFOs der Ports sind aus. Kennt den Effekt sonst noch jemand? Hab ich irgendwo was falsch eingestellt? Grüße und Dank+Lob für das tolle Programm! Michael
081beta win32 - Scrollen mit dem Mausrad aktualisiert den Scroll-Balken nicht
feature request for "Edit Sequence": is currently set to ASC by default (081beta win32) could remember sequence edit type during session or for each sequence
Sehr brauchbares Programm! Vielen Dank! Eine Stoppuhrfunktion könnte ich persönlich gebrauchen.
Friedrich Kpunkt schrieb: > Sehr brauchbares Programm! Vielen Dank! > Eine Stoppuhrfunktion könnte ich persönlich gebrauchen. Kannst du das genauer beschreiben? Ich bin mir noch nicht ganz sicher, wie du das meinst. Tobi
He Tobi, ich gebe gerade (mangels LCD) meine selbstgebastelte mega8-Uhr auf UART aus. Dabei ist dein Terminalprogramm nun sehr hilfreich. Ich wollte eigentlich eine Stoppuhr nebenher laufen lassen, um die Ganggenauigkeit meiner Uhr bestimmen zu könnten. Aber durch die präzisen Time-Stamps brauche ich das eigentlich nicht mehr. Nebenbei: meine Uhr hat ein Delay von 11,8% und ich hab keinen Schimmer woran es ligt. Die üblichen Taktgeber,Interruptverschlucker, etc. kann ich denke ich ausschließen... Noch eine Frage: WO wird "Save Output" und unter welchem Namen abgespeichert? Fiete
Ach, ein Feature, das ich noch gut finden würde: Wenn sich die Config automatisch speichert (tut sie ja schon) aber dass sie sich dann auch automatisch läd wäre wünschenswert. Ferner wäre es gut (fällt mir bei vielen Programmen auf) wenn man beim Laden den Ordner angezeigt bekommt, aus dem man das letze mal auch geladen hat. Das spart enorm geklicke. Gruß, Fiete
hi tobi, ich benutze dein terminal schon sehr lange mit begeisterung und stoße dabei immer wieder mal auf programme, die es mit einer einheitlichen 'newline' codierung nicht ganz ernstnehmen. so werden mitunter einzelne CR's oder LF's benutzt wo ansonsten sauber mit CR+LF abgeschlossen wird. leider gibt es keine einstellung in deinem programm, die ein 'newline at' mit gemischten variablen zulässt und so bleiben in der ausgabe immer wieder mal vereinzelte CR's oder LF's stehen, die ich eigentlich nicht sehen möchte. könntest du dir vorstellen eine kombinierte option in deine 'newline at' option mit aufzunehmen, die jegliche art von zeilenumbrüchen (CR+LF oder CR oder LF) erkennt? vielen dank im voraus & grüße, phil
Ich habe mir HTerm heruntergeladen und verwende es momentan um eine Steuereinheit die ein Protokoll auf einen RS232-Anschluss schreibt zu sichten und loggen. Das wichtigste für mich sind momentan die Zeiten der Zeilen, schön ist das wenn ich mit der Maus auf eine Zeile fahre mir die Zeit des Empfangs angezeigt wird. Sobald ich aber den Output in ein File schreibe wird's unleserlich. Gibt es eine möglichkeit das Speichern so zu konfigurieren, dass am Anfang jeder empfangenen Zeile ein Zeitstempel steht und nicht die Zeile durch Zeitsempel immer wieder unterbrochen wird. Oder kennt jemand eine andere Sofware die das kann? Gruss Reto
hi all, ich versuche hier gerade mit dem 'Sequence Manager' (unter WinXp) zurechtzukommen. der eingetragene sequenz-text (ascii) wird auch gesendet und im 'Transmitted data' window gezeigt. leider fehlt mir die möglichkeit den zeilenabschluss mitzuschicken (z.B. CR+LF). habe ich hier etwas übersehn, denn auch ein "some_text\r\n" bringt nicht den gewünschten effekt, ich muss immer noch im 'Input control' window eine leerzeile mit 'Send on Enter [CR+LF]' hinterherschicken? kann mir jemand weiterhelfen? vielen dank, phil
hi, die geschichte mit dem 'Sequence Manager' habe ich jetzt so gelöst, dass ich einfach das zeilenende in hex (im script: h[0D 0A]) mitschicke. nicht sehr einfach zu bedienen, aber immerhin. weiters ist mir aufgefallen, dass beim (automatischen) speichern der config-datei der tag <file path> (<SequenceManager> -> <OpenFiles>) immer die absoluten pfade abspeichert, auch wenn ich diesen vorher händisch auf relative (pfade) geändert habe. der hintergrund ist die (von mir angestrebte) einfache portierbarkeit des programs + eines script-folders, der relativ zur 'hterm.exe' directory immer gleich bleibt. ist das eventuell ein punkt für die feature-liste? vielen dank & grüße, phil p.s. liest der autor hier noch mit?
Hallo beisammen, ich hab eine "Art" Menü/Tabelle im µC programmiert. <Temp>|<Spannung>|<Leistung> 28,7°| 1,861V | 36,82dBm wo sich eigentlich nur die letzte Zeile mit den Messwerten aktualisieren soll. Anfangs schreib ich die Kopfzeile mit CR+LF und nach jedem Datensatz NUR CR also sollte der Cursor an Stelle 1 springen und die alten überschreiben. Windws HyperTerminal macht das von Haus aus ohne Probleme, hier krieg ich das nicht eingestellt - er macht immer einen Zeilenumbruch :( Hat jemand eine Idee wie's doch geht? Oder falls nicht, wäre es toll wenn Tobi CR's auch als CR's behandeln würde :) vy73!
Das Hyperterminal macht eben eine echte Terminalemulation, das kennt noch mehr Escape Sequenzen zur Cursorsteuerung (ANSI oder VTxx Emulation). HTerm ist besser zur Analyse von Datenströmen, das interpretiert die Zeichen nicht.
HTerm ist kein Terminalprogramm, da es keinerlei Terminalemulation durchführt, also Steuerzeichen nur darstellt, aber in keiner Weise auswertet. Es ist ein (ziemlich guter) Schnittstellentester und -Analysator, aber eben kein Terminalprogramm
Wollte nur kurz sagen, dass ich von HTerm völlig begeistert bin. Die Terminal-Emu in Crosworks hat mich nämlich total verarscht. Dank HTerm weiß ich jetzt, dass der Fehler nicht in meinem Code liegt. Sehr zu empfehlen. Tom
Hallo, ich habe durch die Funktion "Newline at" oder "Newline after...ms" ja die Möglichkeit mir meine gesendeten Daten super aufgeteilt anzeigen zu lassen. Jedoch habe ich jetzt das Problem, dass sobald ich die Daten speichern möchte die Aufteilung wieder futsch ist und alles hintereinander steht! Kann ich das irgendwie ändern? Wäre ein super Feature! Gruß, Daniel
guten tag. brauche hilfe! ich habe die version hterm 0.8.1 beta. ich möchte über "send file" mehrere befehle einlesen lassen. wie geht das? die werte habe ich untereinander in ein textdokument geschrieben und dann geladen. es wurde max. ein befehl ausgeführt. was habe ich falsch gemacht? muss ich jede zeile mit einen bestimmten zeichen oder wort abschließen?
HTERM ist ein schönes kleines "Terminalprogramm", auch wenn es keine Terminalemulation unterstützt. Habe ich auch noch nie gebraucht. Aber eine kleine Funktion wäre klasse: Wenn man einen Befehl eingibt, oder eine (Text)Datei sendet, sollte die Wartezeit zwischen den Zeichen einstellbar sein. Manche Teile wie z.B. das BT Modul BTM222 sind da etwas zickig, wenn die Zeichen in der Geschwindigkeit des PCs gesendet werden. Ok, dazu sind eigentlich die Steuersignale da. Für eine einfache Inbetriebnahme wäre ein Delay trotzdem ganz gut. (Siehe auch Zoc)
Hier wieder was für die To-do Liste: Timestamp berücksichtigt Sommerzeit nicht :-)
Super Proggi, genau das was ich gerade brauche um mein Prog auf einem Atmega8 zu debuggen.
ich weiß nicht ob das aufwendig ist oder schon machbar, aber ich häte auch einen Wunsch für so ein Programm: Einlesen (besser: darstellen) von 2 seriellen RX-Leitungen. Damit könnte man "ganz einfach" eine bestehende RS232 Verbindung mitschneiden / analysieren, indem man sich in RX und TX einer bestehenden Kommunikationsverbindung einklinkt (RX-überwacht auf RX-com1 und TX-überwacht auf RX-com2)
Hallo zusammen. Dickes Lob an Tobi, super Programm. Als "Erweiterung" würde ich eine "formatierte" Ausgabe vorschlagen. Ein zusätzlichen Kästchen bei den Ausgabeformaten: ASCI HEX BIN und Formatiert. Beispiel: Eine eingehende Nachricht die Spannungen beinhaltet könnte wie folgt aussehen: 02 04 26 26 01 03 01 86 02 STX LGE ADR CH1 CH2 CH3 Nun könnte man Masken anlegen die z.B. erstmal nach den ersten 3 Byte schauen: 02 04 26 -> werden diese erkannt und können einem Label zugeordnet werden, wird eine zuvor festgelegte Formatierung durchgeführt. z.B.: Channel1 (2 Byte) = Channel1 * 5 / 1023 Channel2 (2 Byte) = Channel2 * 5 / 1023 Channel3 (2 Byte) = Channel3 * 5 / 1023 In der Ausgabe könnte es dann wie folgt aussehen: Spannungen: 1,44V 1,27V 3,16V Ich hoffe ich habe es einigermaßen Verständlich herüber gebracht. Und wenn das zuviel Arbeit ist, das man dann zumindest Gruppieren kann. Gruß und vielen Dank für das schöne Programm, Magnus.
Hi, ich hab grad mal einen Blick auf das Tool geworfen. gibt es eine Möglichkeit, das Logging direkt in ein File schreiben zu lassen? (Anzeige natürlich trotzdem) Gibts eigentlich auch die Sourcen dazu?
Hi, @Tobi: Liest du hier noch mit? Man hört nichts mehr, und es wäre schade, wenn solch ein tolles Programm nicht weiter "lebt". Gib uns mal ein Lebenszeichen. Ralf
Hallo, ich hätte auch noch einen Vorschlag: Bei der Eingabezeile zum Senden, die Auswahlmöglichkeit für ASC, HEX etc. nicht als Dropdown, sondern als Buttons. Ist nützlich wenn man viel Ascii und Hex kombiniert eingeben möchte. Oder ASC, HEX etc mittels Shift ALT oder STRG Kombinationen umschaltbar machen. Trotzdem ein tolles Programm. Michael
> Einlesen (besser: darstellen) von 2 seriellen RX-Leitungen.
Das kann man doch auch mit zwei Instanzen machen. Timestamps können mW
exportiert werden, dann die Daten mischen, voilà!
http://www.der-hammer.info/terminal/ "webmaster" an der Domain ist seine E-Mail Adresse. Vielleicht erklärt er sich bereit, das tolle Projekt zu "öffnen", damit es weiterentwickelt werden kann? Offensichtlich mangelt es ihm an Zeit/Motivation. Ich hätte z.B. gerne die Möglichkeit, ausgewählte Daten zu löschen. CTRL+C könnte die Daten wie abgebildet in die Zwischenablage kopieren. Naja, Wünsche gibt es immer. Ist schon besser als alles andere.
Es gab seit fast zwei Jahren keine neue Version mehr, was keine Kritik sein soll, sondern einfach eine Feststellung. Wäre es da nicht die beste Lösung, die Software als Open Source zu veröffentlichen, damit sie weitergepflegt werden kann? Es ist normal und kommt oft vor, dass ein Entwickler irgendwann keine Zeit mehr für ein Projekt hat. Nur muss ja deswegen nicht gleich das ganze Projekt sterben, wäre sehr schade drum.
Super Programm!! Benutze es täglich! Hätte noch ein Bug? und ein verbesserungs Vorschlag: Bug/Feature??: Wenn mit ASend gesendet wird, wird das "Send on enter" Zeichen nicht mitgesendet. Vorschlag: Die Möglichkeit eine Textdatei zeilenweise zu senden. Mit Zeilenweise meine ich, dass nach jeder Zeile ein "Send on Enter" gesendet wird, sowie ein einstellbarer Delay eingehalten wird. Weiter so! Grüße
Schön wäre auch eine Schriftart, die extended ASCII unterstützt.
droplet schrieb: > Habe mal an die o.g. E-Mail geschrieben - keine Reaktion. Ich sag's ja: Wenn ein Entwickler keine Zeit mehr hat, einfach den Quelltext veröffentlichen und andere weitermachen lassen. Und alle sind glücklich.
Tobi wird doch nicht verschieden sein ohne der Nachwelt etwas zu hinterlassen •••seufz•••
Versucht doch mal per PN, ihn zu einer Reaktion zu provozieren: http://www.mikrocontroller.net/user/show/tobi-
Bugs: - "Clear all" verursacht focus loss disconnect - "unload sequence" verursacht überschreiben des XML files Bittebitte gib' den Quellcode frei.
Hi Tobi, I am using HTerm software for transmitting data using ATMEGA32. I need to save the document in text format so that I could read it. There are options to save like ASCII, Hexadecimal,but the saved data is not in readable form. Please help me to find a solution. Regards, Shah
Hi Shah, I had the same problem as you to save the received data. I found the following way: Save it as HEX Data, so you will find CR+LFs enclosed in the Data stream. With a small Perl-hack I converted the Hex-Datastream back to ASCII with some additional conversions (like old german "Umlaute" to new Windows code page). Here is the converter:
1 | use strict; |
2 | |
3 | # printf ("Programmname = %s\n", $0); |
4 | # printf ("Parm1 = %s\n", @ARGV[0]); |
5 | # printf ("Parm2 = %s\n", @ARGV[1]); |
6 | |
7 | my ($from, $to, $rmax) = @ARGV ; |
8 | printf ("from = %s, to = %s, maximale Zeichenzahl: %d\n", $from, $to, $rmax); |
9 | |
10 | local (*FROM, *TO) ; |
11 | |
12 | open(FROM, "$from") or die "Could not open $from for reading: $!\n" ; |
13 | open(TO, ">$to") or die "Could not open $to for writing: $!\n" ; |
14 | |
15 | while (defined (my $line = <FROM>)) { |
16 | # printf ("Vorher: Zeilenlänge = %d\n", length ($line)); |
17 | syswrite (TO, rupf ($line)); |
18 | } |
19 | close(FROM) ; |
20 | close(TO) ; |
21 | |
22 | sub rupf { |
23 | my $line = shift; |
24 | my $max = length ($line); |
25 | |
26 | $max = $rmax if ($rmax > 0); |
27 | my @buffer; |
28 | |
29 | printf ("Zeilenlänge = %d\n", $max); |
30 | ($max % 2 == 0) or die "Oops, die Stringlänge ist ungerade. Das kann nicht sein!"; |
31 | |
32 | for (my $i = 0; $i < $max; $i += 2) { |
33 | my $str1 = substr ($line, $i, 1); |
34 | my $str2 = substr ($line, $i + 1, 1); |
35 | printf ("1==>%s 2==>%s\t", $str1, $str2) if ($rmax > 0); |
36 | printf ("Wert1 ==> %2x, Wert2==>%2x, Gesamt = %2x\n", wert ($str1), wert ($str2), ord (chr (16 * wert ($str1) + wert ($str2)))) if ($rmax > 0); |
37 | push (@buffer, chr (16 * wert ($str1) + wert ($str2))); |
38 | } |
39 | my $b2 = join ('', @buffer); |
40 | |
41 | $b2 =~ tr/\{\[\}\]\~\^\|/äÄüÜßÖö/; |
42 | $b2 =~ s/\014/<FORMFEED>/g; |
43 | $b2 =~ s/\n//g; |
44 | return $b2; |
45 | } |
46 | |
47 | |
48 | sub wert { |
49 | my $s = shift; |
50 | |
51 | my $erg = ord ($s) - ord ('0'); |
52 | if ($erg > 9) { $erg -= 7; } |
53 | return $erg; |
54 | } |
letztes Hterm Version HTerm ist ein Terminal-Programm für die serielle Schnittstelle, das unter Windows und Linux läuft. Besonderheiten Unterstützung von beliebigen (virtuellen) seriellen (RS232) Ports Unterstützung von allen auf der Zielhardware verfügbaren Baud-Raten Ein- und Ausgabe in Ascii, Hex, Binär und Dezimal Senden und Speichern von Dateien Parity für senden und empfangen Kopieren von beliebigen empfangenen Formaten in die Zwischenablage Komplett per Config-Datei im XML-Format individualisierbar
martin schrieb: > letztes Hterm Version Was soll das? Meinst Du, die Mitforisten sind nicht in der Lage, sich das Ding an der Quelle herunterzuladen? Die ist immerhin hier im Thread verlinkt, den schließlich "Tobi" (von dem das Programm kommt) selbst eröffnet hat. Beitrag "Neues Terminal-Programm für Windows" (Und für Leseunlustige der seit Februar 2005 funktionierende Link) http://www.der-hammer.info/terminal/index.htm
martin schrieb: > letztes Hterm Version ...die gab's vor drei Jahren. Schade dass der Ersteller sich nicht dazu äußert, wie es mit dem Programm weitergehen soll. Man kann allerdings recht einfach seine kompletten Kontaktdaten herausfinden, wenn man weiß wo man nachschauen muss.
Ja und? Willst du in persönlich zur Rausgabe der Quellen zwingen?
Wo wir bei Leserwünschen an Terminal-Programme sind: Verbindungsstatus an den Fensterfokus koppeln wäre sehr praktisch für Leute die zB mit dem Analog Devices-Downloader arbeiten (ADUC...), oder mit anderen solchen Tools die die Serielle Schnittstelle teilen.
Mark T. schrieb: > Ja und? Willst du in persönlich zur Rausgabe der Quellen zwingen? Wie wäre es mit normal fragen? Hier liest er vielleicht schon seit langer Zeit nicht mehr mit.
Mark Brandis schrieb:
> Wie wäre es mit normal fragen?
Hat er dir schon geantwortet? =)
Ralf
Andy D. schrieb: > Wo wir bei Leserwünschen an Terminal-Programme sind: Verbindungsstatus > an den Fensterfokus koppeln wäre sehr praktisch Options -> Focus loss disconnect Gruß, Christian
oss schrieb: > Schön wäre auch eine Schriftart, die extended ASCII unterstützt. Habe den Termial gerade entedeckt und bin begeistert! Jedoch gibt es Probleme mit der verwendeten Schriftart: >> Convert_T for all Sensors and Read Sensor by Sensor >> Sensor# 1 = 241 deci?C, +24.1 ?C Sollte sein: >> Convert_T for all Sensors and Read Sensor by Sensor >> Sensor# 1 = 241 deci°C, +24.1 °C
ich probiere gerade hterm unter ubuntu zu starten. Es kommt aber nichtmal eine fehlermeldung, kann mir jemand helfen?
supper Programm, unterstützt es auch den Handshake Modi XON/XOFF ? konnte es leider nicht finden.
Schönes Ding! Genau nach so etwas suchte ich heute zum debuggen eines XBEE datenstroms!!! Perfekt!
Hi, wenn ich einen Stromsensor über HTerm anspreche, funktioniert es nur, wenn ich den Befehl, z.B. M?, mit return bestätige. über "asend" kommt nichts. woran liegt das?
Die Funktion "asend" sendet kein "Send on Enter" Zeichen, sondern nur die eingegebene Zeile. Das musst du also evtl. selber in deiner Eingabezeile mit angeben.
Je nachdem was du als Endzeichen brauchst, das einfach mit eingeben (notfalls Eingabe auf Hex umschalten (geht auch Zeichenweise). Das Normale \r\n ist in Hex 0D 0A
Hi, ich benutze HTerm schon etwas länger und problemlos. Nun habe ich aber ein Problem mit einem neuen Debugger Chip von JLink. Dieser stellt einen virtuellen COM Port (JLink CDC UART Port) über USB zur Verfügung. Der Chip ist mit der UART eines CortexM0 (mit Hardwareflow CTS RTS) verbunden. Das Board ist ein Evaluationboard mit fester Verdrahtung. Ich versuche mit folgenden Einstellungen (in Windows und in HTerm eingestellt) die Kiste zum Laufen zu bekommen: 115200 baud 8 bits 1 stopp no parity Hardware flow controll RTS/CTS In HTerm bekomme ich immer den folgenden Fehler: Error in OpenPort::Databits: Value of not supported Zwischen "of" und "not" soll wohl eine Zahl stehen, ist aber nichts. Ich habe schon verschiedene Einstellungen versucht, leider ohne Ergebnis. Mit Putty und LogView funktioniert es allerdings ohne Probleme.
Hallo Tobi, habe gerade Dein Hterm installiert und finde es richtig prima. Zum Einstellen der Baudrate habe ich mal eine Frage: Gibt es die Möglichkeit, unkonventionelle Baudraten einzustellen? Ich benötige z.Z. ein Terminal mit 3200 Bd, 8 Bitt, 2 Stoppbits und keinen Handshake. Leider konnte ich die Bd-Rate nicht editieren. An sonsten finde ich besonders toll, dass man verschiedene Ausgaben wählen kann, z.B. Asc, Hex, Dec, Bin. Vielleicht hast Du ja einen Tipp, wie ich die passende Bd-Rate einstellen kann. Viele Grüße und besten Dank im Voraus Harald
H. P. schrieb: > Leider konnte ich die Bd-Rate nicht editieren. Das ist ein Eingabefeld, in das Du beliebige Werte reinschreiben kannst. Ob dieser Wert auch zum Tragen kommt, hängt von der Hardware der verwendeten seriellen Schnittstelle ab. Die Onboard-Schnittstellen von PCs erzeugen ihre Baudrate aus einem 1.8432-MHz-Takt, was mit einem Vorteiler von 16 die altbekannte Baudrate 115200 als Maximalwert ergibt. Darauf kann nun jeder beliebige ganzzahlige Teiler angewandt werden. Deine 3200 Baud sind exakt 115200 / 36, daher kann auch die Standard-Onboard-Schnittstelle des PCs diese Baudrate erzeugen. HTerm bietet eine Liste von üblichen Standardbaudraten an, erlaubt aber eben auch, eigene Werte einzutragen. Was schlussendlich verwendet wird, hängt von der Hardware ab, der Devicetreiber wählt i.d.R. den nächsten technisch möglichen Wert. Dieser wird jedoch nicht angezeigt.
H. P. schrieb: > Hallo Tobi Ich will Dir ja nicht zu nahe treten, aber Tobi hat hier seit 2010 nicht mehr gepostet. ;-)
Vielen Dank rufus für die schnelle Antwort. Ich hab auf Tobi's Seite neben der neuen Version auch den Download der 0.6.5 entdeckt. Mit dieser klappt das Überschreiben der Bd-Rate, mit der neuen nicht. Da die verfügbaren Funktionen für mich ausreichen und die gewünsche Bd-Rate von 3200 Bd auch angewendet wird, kann ich meine Schnittstelle auslesen. Damit hat sich meine Anfrage erstmal erledigt. Trotzdem nochmals besten Dank für die Hilfe und angenehmen Tag noch sowie viele Grüße Harald PS: @ Mark: Ich weiß, aber man kann's ja mal versuchen. Es gibt ja auch noch andere "Wissende" im Forum. Und das Programm ist doch Klasse - oder?
:
Bearbeitet durch User
H. P. schrieb: > PS: @ Mark: Ich weiß, aber man kann's ja mal versuchen. Es gibt ja auch > noch andere "Wissende" im Forum. Und das Programm ist doch Klasse - > oder? Ja, das ist es.
Bei der neuen Version kann man nur ein Zeichen in das Baudrate-Eingabefeld(BE) schreiben, weitere eingegebene werden ignoriert. Ein einfacher Trick ist aber folgendes: Den Wert z.B. im Editor schreiben und dann per Copy-Paste in das BE pasten. Ich habe es nicht getestet, ob die Baudrate damit wirklich überschrieben wird. Kannst ja mal an realer Hardware probieren.
So, ich hab's in der V. 0.8.1 getestet. Eine mit C&P eingetragene Bd-Rate wird übernommen und verwendet. Speichert man die Config ab, steht sie auch dort drin. Fügt man dort in der Liste der Bd-Raten die neue ein, erscheint sie auch im Programm in der Auswahl und kann selbstverständlich auch übernommen werden. Vielen Dank für Eure Anregungen und vor allem Tobi für das tolle Programm. Viele Grüße Harald
Guten Morgen zusammen, ich habe mal noch eine Frage: Auf Tobi's Seite gibt es auch eine Version 0.8.1 für Linux. Weiß jemand, ob es auch eine Version 0.6.5 für Linux gibt und wo ich die finden kann? Ich habe nämlich folgende Erscheinung: Die Version 0.8.1 für Windows akzeptiert 3200 Bd ohne murren und zeigt auch ordnungsgemäß die ankommenden Daten an. Die *.cfg kann ich in der Linuxversion ohne Fehlermeldung einladen. Wähle ich dann "Connect", erhalte ich in der unteren Zeile die Meldung "Error in Open-Port::Baudrate: Value off '3200' not supported. Deshalb wollte ich eine evtl. vorhandene V. 0.6.5 mal ausprobieren, zumal "GtkTerm" mit der selben Hardware und 3200 Bd funktioniert, aber nicht so tolle Möglichkeiten wie HTerm hat. Viele Grüße und schönes Wochenende schon mal Haral
Mark Brandis schrieb: > H. P. schrieb: >> PS: @ Mark: Ich weiß, aber man kann's ja mal versuchen. Es gibt ja auch >> noch andere "Wissende" im Forum. Und das Programm ist doch Klasse - >> oder? > > Ja, das ist es. Ja, definitiv. Schade dass der Author die Lust verloren hat. Ein Paradebeispiel für OpenSource wäre das. Da könnt man noch so viele Features hinzufügen. Auch habe ich Bedenken, dass die Binarys in folgenden OS-Versionen mal nichtmehr laufen, bzw. viele alte Abhängigkeiten mitziehen (ist unter 64Bit Linux jetzt schon so). Hab sogar mal mit einem freien Klon angefangen, leider hab ich chronischen Zeitmangel :/
I benutze seit kurzem ScriptCommunicator (http://sourceforge.net/projects/scriptcommunicator/) und ich muss sagen, dass ist das beste Tool was ich bisher benutzt habe. Da es ein sehr umfangreiches ScriptInterface hat, kann man es beliebig selber erweitern. Außerdem hast es noch UDP, TCP Client/Server, CAN and SPI Master als auswählbares Interface. Aus meiner Sicht sehr empfehlenswert.
I benutze seit kurzem ScriptCommunicator (http://sourceforge.net/projects/scriptcommunicator/) und ich muss sagen, dass ist das beste Tool was ich bisher benutzt habe. Da es ein sehr umfangreiches ScriptInterface hat, kann man es beliebig selber erweitern. Außerdem hast es noch UDP, TCP Client/Server, CAN and SPI Master als auswählbares Interface. Aus meiner Sicht sehr empfehlenswert.
Auf den ersten Blick ist es nicht einfacher als HTerm, das vergleichsweise durch die einfache, gemischte (ASCII, Hex, Dezimal, Binär) Eingabe(zeile) glänzt. Groß/Kleinschreibung wird ignoriert. Die Scriptfunktionen habe ich mir noch nicht angesehen, die Netzwerkfunktionen machen es interessant.
Das Problem bei HTerm ist, dass es bei einer bestimmtern Datenrate abstürzt. Genauso wenn man es zu lange laufen lässt und sehr viele Daten empfangen wurden. Das Groß/Kleinschreibung bei ScriptCommunicator ignoriert wird kann ich in der aktuellen Version nicht sehen (3.06). Im Sendefenster kann man ebenfalls wie in HTerm ASCII, Hex, Dezimal, Binär Sendedaten eingeben (wenn man Daten direkt in einer Konsole eingibt, dann werden sie nur als ASCII interpetiert).
Masl schrieb: > Ein Paradebeispiel für OpenSource wäre das. .. nicht! Warum solche Projekte nicht von Anfang an als OSS vertrieben wird ist mir schleierhaft (Angst davor den Quelltext zu zeigen??), noch schleierhafter ist mir allerdings dass es wirklich Leute gibt, die dass dann auch noch installieren.. Eine EXE aus dem Netz von einem "unbekannten" Herausgeber mit über 5MiB und ohne die Möglichkeit nachzusehen was da so alles passiert? Mein erster Gedanke ist da sicherlich nicht "am besten installieren..." Danke, aber nein danke.. Von den Sicherheitsaspekten abgesehen, dass man bei solchen Projekten dann komplett auf das Gutdünken des Urhebers angewiesen ist was Weiterentwicklung etc. betrifft, sollte es von jeglichem Einsatz in Prod Projekten (egal ob kommerziell oder OSS) ausschliessen.
Stefan Zieker schrieb: > Das Problem bei HTerm ist, dass es bei einer bestimmtern Datenrate > abstürzt. Genauso wenn man es zu lange laufen lässt und sehr viele Daten > empfangen wurden. Kann ich nicht bestätigen. Hab HTerm schon über 3 Tage laufen lassen, Datenrate: 115k2, die nahezu voll ausgeschöpft wurden. Kein Absturz oder hängen, weder unter Windows7 noch unter Linux.
Gerade dieser Open Source Charakter ist einer der wesentlichen Vorteile von ScriptCommunicator. Wenn dir etwas fehlt oder nicht passt dann ändere es einfach. Und falls du diese Änderung an den Autor (mich) weiterreichst dann fließt sie vielleicht in den Hauptentwicklungszweick ein (und so haben vielleicht auch noch andere etwas davon). Gruß Stefan Zieker
Kaj schrieb: > Stefan Zieker schrieb: >> Das Problem bei HTerm ist, dass es bei einer bestimmtern Datenrate >> abstürzt. Genauso wenn man es zu lange laufen lässt und sehr viele Daten >> empfangen wurden. > Kann ich nicht bestätigen. > Hab HTerm schon über 3 Tage laufen lassen, Datenrate: 115k2, die nahezu > voll ausgeschöpft wurden. Kein Absturz oder hängen, weder unter Windows7 > noch unter Linux. Kann ich ebenfalls nicht bestätigen. Benutze HTerm seit vielen Jahren ohne Probleme. Aktuell mit Windows 8.1. und ebenfalls ohne Probleme. Wenn Stefan Zieker diese Behauptung aufstellt, dann soll er sie auch so konkretisieren, dass sie nachvollziehbar ist. Alles andere ist üble Nachrede.
Üble Nachrede? Was meinst du warum ich meinen vollen Namen genannt habe? Ich habe hTerm zwangsweise in einigen Projekten benutzen müssen, und bei einigen Dauertest ist es mir über Nacht abgestürzt (wodurch ich den ganzen Test vergesen konnte). Das mit der zu großen Datenrate hat auch bei diesen Projekten zu Abstürzen geführt (WinXp). Unter anderem deswegen habe ich angefangen ScriptCommunicator zu entwickeln. Die Abstürze kann ich aktuell leider nicht mehr nachstellen, da die Projekte beendet sind (sonst hätte ich dir gerne eine Video online gestellt). Gruß Stefan Zieker
Stefan Zieker schrieb: > Ich habe hTerm zwangsweise in einigen Projekten benutzen müssen Wer hat Dich dazu gezwungen? ;-)
> Stefan Zieker schrieb: > Ich habe hTerm zwangsweise in einigen Projekten benutzen müssen Du bist mir vielleicht ein putziges Kerlchen :)
Weil das Tool Teil des offiziellen Test-Setups war (nachdem die Probleme mehrfach auftraten wurde das Tool dann ausgetauscht).
Das Problem mit dem Abstürzen von HTerm hatte ich auch schon (das hat nichts mit übler Nachrede zu tun). Und danke nochmal Stefan, dass du ScriptCommunicator online gestellt hast. Für die, die es interessiert befindet sich im Anhang ein Screenshoot der neuesten Version (der letzte ist veraltet).
Stefan Zieker schrieb: > Weil das Tool Teil des offiziellen Test-Setups war Dann liegt genau da der Fehler. Für offizielle Tests nimmt man keine Tools, für die es weder Support noch Dokumentation gibt.
Ui, das hterm. Leider ist das nie weiterentwickelt worden, obwohl es nicht schlecht war. Könnte der Autor nicht die Sourcen öffnen, damit man es weiterbauen kann? Ich finde das nicht schlecht.
Reinhard S. schrieb: > Ui, das hterm. Leider ist das nie weiterentwickelt worden, obwohl es > nicht schlecht war. Könnte der Autor nicht die Sourcen öffnen, damit man > es weiterbauen kann? Mach ihm doch den Vorschlag per E-Mail: webmaster@der-hammer.info
Ja ist wirklich schade. Ich bin mir sicher dass sich jemand gefunden hätte, um die Weiterentwicklung dieses Tools zu übernehmen. Aber kann man halt nichts machen.
Hat schonmal wer versucht den Autor anzurufen ? Oder Gar einen Post Brief? Eventuell liest er ja die E-mails von dem Server nicht Im Web Whois steht die Telefonnummer und die Adresse. Ich würde mich sogar an einem Freikauf beteiligen.
Ich fänds auch extremst schade wenn hterm nicht weiter gepflegt wird. Ist das beste Terminal für Mikrocontroller wo gibt.
Hab mir auch schon mal überlegt, etwas Ähnliches zu entwickeln, vor allem, weil ich halt auch ungern Binaries von mehr oder weniger unbekannten Autoren aus dem Internet runterladen und ausführen will. Das ist bei mir allerdings eine Frage der (Frei-)Zeit. Wenn man ein solches Projekt nicht einfach hinrotzen, sondern sauber entwickeln, testen und dokumentieren will, muss man sicherlich mal 40 Stunden dafür einplanen, je nachdem, welche Features man in welchem Umfang implementieren will. Und als Freiberufler ist Zeit tatsächlich Geld, in dem Fall 40h x 80€/h = 3200€ netto. Einige hier wären zwar anscheinend bereit, für ein solches Programm Geld in die Hand zu nehmen, aber wohl sicherlich nicht in der genannten Größenordnung. Das dürfte dann auch der Grund sein, warum sich kaum jemand die Mühe macht, derartige Programme langfristig weiter zu entwickeln - es rentiert sich einfach nicht. Und irgendwann willst du halt auch mal von der Kiste weg und anderen Hobbies nachgehen. Seid froh, dass die Webseite und der Download überhaupt noch vorhanden sind und das Programm anscheinend auf aktuellen Systemen noch läuft. Das ist auch nicht unbedingt selbstverständlich für ein Projekt, dessen letztes Update schon mehr als 8 Jahre zurück liegt.
Mac G. schrieb: > Ich fänds auch extremst schade wenn hterm nicht weiter gepflegt wird. > Ist das beste Terminal für Mikrocontroller wo gibt. Solange der Autor des Programms keinen Mucks von sich gibt, wird es so bleiben wie es ist. Mit weiter pflegen wird es also wohl eher nichts. Da wäre es vielleicht schon eher realistisch, ein neues Open Source Projekt aufzusetzen welches sich vom Funktionsumfang her an HTerm orientiert.
Freiberufler schrieb: > Das ist bei mir allerdings eine Frage der (Frei-)Zeit. Wenn man ein > solches Projekt nicht einfach hinrotzen, sondern sauber entwickeln, > testen und dokumentieren will, muss man sicherlich mal 40 Stunden > dafür einplanen Das dürfte bei weitem nicht reichen. In 40 Stunden kannst Du vielleicht eine gute Testspezifikation fertigstellen und die Tests durchführen, die ja mindestens zweimal zu machen sind: unter Windows (und da vielleicht auch noch mehrere Versionen von) und unter Linux. Aber dann hast Du noch kein testbares Programm. ;-)
:
Bearbeitet durch User
Vielleicht hätte ich klarstellen sollen, dass ich bei meiner Aufwandsabschätzung keinen Einsatz auf der ISS eingeplant hatte. ;)
Nichtsdestotrotz bin ich mir recht sicher, dass die Entwicklung von HTerm deutlich länger als 40 Stunden gedauert hat.
Mark B. schrieb: > Entwicklung von HTerm deutlich länger als 40 Stunden Freiberufler meinte die Implementierung EINES Features! :-) Gruss Chregu
Freiberufler schrieb: > Und als Freiberufler ist Zeit tatsächlich Geld, > in dem Fall 40h x 80€/h = 3200€ netto. Der Gegenwert der Programmierung eines Terminalprogrammes ist eher 100h x 17,50 Studentarif. Mehr gibt das an Komplexitöt nicht her. Schon die Beispielprogramme von MS VisualStudio liefern die halbe Funktionalität kostenlos mit.
Reinhard S. schrieb: > Der Gegenwert der Programmierung eines Terminalprogrammes ist eher 100h > x 17,50 Studentarif. Mehr gibt das an Komplexitöt nicht her. Schon die > Beispielprogramme von MS VisualStudio liefern die halbe Funktionalität > kostenlos mit. Und wer schreibt die Spezifikation?
>Und wer schreibt die Spezifikation?
Wenn alle so dächten wie du, dann würde es so etwas wie Opensource nicht
geben.
Darf ich davon ausgehen, daß du bei jedem freien Download eine
entsprechende Spende an den Programmierer überweist!?
Pendragon schrieb: >>Und wer schreibt die Spezifikation? > > Wenn alle so dächten wie du, dann würde es so etwas wie Opensource nicht > geben. > Darf ich davon ausgehen, daß du bei jedem freien Download eine > entsprechende Spende an den Programmierer überweist!? Was ich damit zum Ausdruck bringen wollte ist: Es wird gerne so getan, als ob es nur ums Programmieren ginge. Aber das ist nur ein Teil der Arbeit - in der Regel so in der Größenordnung von vielleicht 50, 60 Prozent.
Tobi H. schrieb: > Autor: > > Tobi H. > (tobi-) Hallo Tobi, hatte vor Tagen nach einem einfachen Programm gesucht, um für die seriellen Ausgaben nicht immer Arduino starten zu müssen. Hatte dann erst was anderes installiert. Gerade habe ich dein Programm (installiert kann man ja gar nicht sagen) ausprobiert. Es läuft ohne jede Anpassung an Windows 10 auf meinem Laptop. Vielen Dank für deine Arbeit!
Reinhard S. schrieb: > Der Gegenwert der Programmierung eines Terminalprogrammes ist eher 100h > x 17,50 Studentarif. Eben, niemand ist bereit, anständiges Geld für so ein Projekt hinzulegen, also verdingen sich qualifizierte Entwickler lieber mit einträglicheren Aufgaben. Wobei ich mir ziemlich sicher bin, dass diejenigen, die zuvor über einen "Freikauf" von HTerm nachgedacht haben, selbst bei deinem Dumping-Angebot noch ordentlich schlucken würden. Das ist genau der Grund, warum ich nichts für Privatpersonen entwickle (oder kleine Klitschen - die sind fast noch schlimmer). > Mehr gibt das an Komplexitöt nicht her. Schon die > Beispielprogramme von MS VisualStudio liefern die halbe Funktionalität > kostenlos mit. Wenn das doch so einfach ist, warum geht dann keiner hin und komplettiert mal eben schnell noch die fehlende Hälfte? Den Großteil kann man sich ja bestimmt eh von Stack Overflow zusammenkopieren. Und die 80-20-Regel ignorieren wir bei 17,50/h ohnehin. BTW, es würde mich nicht wundern, wenn die Beispielprogramme von MS für den Zugriff auf die serielle Schnittstelle direkt die WinAPI oder andere plattformspezifische Bibliotheken bemühen, wo es dann Probleme mit der Linux-Unterstützung (siehe obige "Spezifikation" ;-) gibt. Aber gut, was kann man für 17,50 die Stunde schon erwarten. Es macht am Ende halt doch schon einen Unterschied, ob man einen qualifizierten Software-Entwickler oder einen Hobbyprogrammierer mit so einem Projekt betraut. Pay peanuts, get monkeys.
Vielleicht braucht es nur einen Sponsor der der Sourcen kauft und dann OS macht.
Ich benutze HTerm dauernd zum Testen, mir ist leider kein geeigneteres Programm bekannt. Mich stören nur 2 Dinge: 1. Befehlshistorie nur 10 lang (omg) 2. Bei wirklich hoher Datenrate versagt es (z.B. USB VCOM wo die 1kHz Transferrate von USB FS voll ausgenutzt wird) Schade dass man HTerm nicht verbessern kann... vielleicht wäre die Lösung HTerm nachzubauen?
hterm gut schrieb: > Ich benutze HTerm dauernd zum Testen, mir ist leider kein geeigneteres > Programm bekannt. Geht mir ebenso ;-) Mein Hauptproblem ist das Geflacker des Log-Bereichs, wenn schnell Daten reinkommen. Da ist dann oft nichts mehr zu erkennen :-(
Es gab heimliche Updates: Version 0.8.4 ========================== - Repair non-functional inputline format selection - Fix flickering input and output controls on windows - Fix file dialogs not showing files without extension Version 0.8.3 (23.11.2018) ========================== - Switch to wxWidgets 3.1.3 - Fix layout issues on Windows and Linux - Fix inputline cursor scrolling after selections - Better generated list of ports on Linux Version 0.8.2 (01.11.2018) ========================== - Rebuild for newer windows and linux platforms - Fix mixed up error messages on unsupported port options - Fix multiple potential crashes - Fix layout issues
Oder habe ich gerade einen Virus heruntergeladen? Defender schlägt an und dann kommt: --------------------------- hterm.exe - Systemfehler --------------------------- Die Ausführung des Codes kann nicht fortgesetzt werden, da VCRUNTIME140_1.dll nicht gefunden wurde. Durch eine Neuinstallation des Programms kann das Problem möglicherweise behoben werden. --------------------------- OK ---------------------------
Sorry, Website ist auch neu. Beim Download nicht gemerkt... http://www.der-hammer.info/pages/terminal.html > Startup error on Windows that VCRUNTIME140_1.dll was not found > Go to Microsoft, download and install vc_redist.x64.exe for Visual Studio 2015, 2017 und 2019
Einen hab ich noch: Die Links werden ja angeboten: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads https://aka.ms/vs/16/release/vc_redist.x64.exe Domain ist über proxy registriert: https://reports.internic.net/cgi/whois?whois_nic=der-hammer.info&type=domain Das Impressum enthält keine Adresse.
Info schrieb: > Oder habe ich gerade einen Virus heruntergeladen? Defender schlägt an > und dann kommt: > > --------------------------- > hterm.exe - Systemfehler > --------------------------- > Die Ausführung des Codes kann nicht fortgesetzt werden, da > VCRUNTIME140_1.dll nicht gefunden wurde. Durch eine Neuinstallation des > Programms kann das Problem möglicherweise behoben werden. > --------------------------- > OK > --------------------------- Sieht nicht nach einem Virus aus: https://www.virustotal.com/gui/url/a0cfccac4c111f968c3cafa0749f5268ba75527f01707e905386b83465d15b20/detection
wie schließt ihr von einer fehlenden Runtime-dll auf einen Virus? Der Autor hat wahrscheinlich nur auf ein neueres Visual Studeio gewechselt.
Wow Der Hammer Nach 10 Jahren geht es endlich weiter. Dankeschön !! Das Programm ist wirklich gut und ich nutze es seit vielen Jahren. @Tobias Hammer Wenn du auf deiner seite einen Spenden Button einbauen würdest Würde ich sofort was Spenden.
Vlad T. schrieb: > Der Autor hat wahrscheinlich nur auf ein neueres Visual Studeio > gewechselt. ... was dann ein dazu passendes Redistributable Package erfordert.
Waaaaas es gibt eine neue Version von HTerm und auch noch für Linux und ich weiss nix davon? :-o Und dann macht ihr mir hier auch noch Angst es könnte virenverseucht sein weil jemand die Webseite gehackt haben könnte? :-O
Die seite ist eher nicht gehackt ;) Ich glaube kein Hacker würde mal eben Hterm nachbauen und noch verbessern nur um irgendwelche dll's zu verteilen... Ich habe Windows 10 und Linux64 auf Ubuntu getestet und beide laufen sofort und fehlerfrei
heinz schrieb: > @Tobias Hammer > Wenn du auf deiner seite einen Spenden Button einbauen würdest Würde ich > sofort was Spenden. Ich glaube nicht dass er hier mitliest. Sein letzter Beitrag in diesem Thread war vor über dreizehn Jahren ;-)
Hallo an alle, Ich arbeite zurzeit an einem großen Projekt und habe angefangen HTerm zu nutzen. Bei mir läuft alles super (Danke Tobi). Das einzige Problem ist, dass ich keine einzelne Daten darstellen lassen kann. Ich möchte nur die Daten von einem bestimmten Sensor und nicht alle Daten von dem Projekt (GPS-Daten, andere Sensoren...) auf Hterm darstellen lasse. Hat jemand eine Lösung dafür ? Danke Sadok
heinz schrieb: > Wenn du auf deiner seite einen Spenden Button einbauen würdest Würde ich > sofort was Spenden. Er hat dich erhört ;-). Vom meiner Seite vielen vielen Dank für dieses tolle Programm, und den Donate Button drücke ich auch noch.
Ich grabe hier mal aus anstelle ein neues Thema zu erstellen. ScriptCommunicator hatte ich schon lange auf der Uhr, bin aber nie dazu gekommen mit damit näher zu beschäftigen. Das habe ich nun getan und bin begeistert, habe aber auch etliche Fragen. Gibt es ein Forum welches sich damit beschäftigt oder Anwender zu finden sind? Das in Sourceforge integrierte wirkt eher "ausgestorben", ist auch nicht komfortabel zu bedienen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.