gtkterm - carriage return

OP #2738449
Lesenswert?

Hi,

ich sende mit gtkterm Zeichen an ein Arduino.
Auf dem läuft reiner c code.
Das ganze funktioniert auch super, nur das das gtkterm mit kein LF 
schickt, sondern nur ein CR wenn ich ENTER drücke.
Ausserdem macht es einen Zeilenumbruch wenn ich vom Arduino ein CR 
schicke.
Eigentlich sollte doch der Cursor an die erste Stelle der selben Zeile 
springen wenn ich ein CR schicke, oder?
erst dachte ich das das ich Müll schicke, aber in der HEX Ansicht des 
gtkterm sehe ich eindeutig das ein 0x0D schicke.

Ich hab auch schon nach Einstellungen gesucht um das Verhalten zu 
ändern, aber ohne Erfolg :/

Kennt jemand des Rätsels Lösung?

Gruss Bouni
#2738568
Lesenswert?

Die schlechte Nachricht
* Nein, die Welt ist sich nicht einig
* Die gute Nachricht: Im wesentlichen werden 2 Systeme benutzt
    Enweder  CR alleine
    Oder     CR gefolgt von einem LF

Die Varianten:
  LF alleine
  LF gefolgt von einem CR
sind relativ selten. Zumindest sind sie mir nicht oft begegnet.

Die Einfachsttrategie beim Empfangen
   CR wird ausgewertet (und macht CR+LF)
   LF wird ignoriert

ist schon eine spürbare Hilfe. Hilft dir nur beim Senden nicht viel, da 
musst du unter Umständen konfigurierbar haben, was du den senden willst.

Wenn du den Empfänger noch mehr absichern willst, dann zb so

  CR wird immer ausgewertet und macht (CR+LF)
  LF nur dann, wenn das Zeichen davor kein CR war (und macht dann
     ebenfalls einen CR+LF). Ansonsten wird ein LF ignoriert.

Behandle also beides so, als ob sie einen Zeilenumbruch samt 
Zeilenvorschub bewirken. Einzig der Fall, wenn die beiden Zeichen 
hintereinander kommen, wird erkannt und führt dann nur zu lediglich 
einem Umbruch+Vorschub.

Mit der Strategie wirst du von fast allen Geräten über die Serielle 
problemlos empfangen können.
#2738574
Lesenswert?

Elias B. schrieb:
> Ausserdem macht es einen Zeilenumbruch wenn ich vom Arduino ein CR
> schicke.

MMn. ist das ein Fehler. Andere Terminalprogramme machen das jedenfalls 
anders. --> Minicom oder cu nehmen.

Vielleicht hast Du aber auch die alte Version (0.99.5). Die ist in 
Debian Testing auch noch drin. Das Programm wird auf 
https://fedorahosted.org/gtkterm/ weiter gepflegt, und dort im 
Changelog:
1
3          * Released gtkterm 0.99.7-rc1   30-oct-2011
2
6                  Cleaned up auto-crlf stuff
3
12          * Released gtkterm 0.99.6       16-aug-2010
4
18                     Made CR/LF configurable

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren