Serieller Monitor zum Empfangen/Senden des Arduinos inkl. Log Funktion

Hallo,
ich suche einen seriellen Monitor, der den selben Funktionsumfang wie der serieller Monitor der Arduino IDE hat, allerdings die zusätzliche Möglichkeit bietet den Inhalt des Monitors in einer Log-File zu speichern. Ja, ich weis dass man das auch über copy&paste machen könnte, aber bei der Menge an Daten sollte das automatisch ablaufen.

Ich habe bereits Putty ausprobiert, allerdings kann ich mit Putty keine Daten an den Arduino schicken (mein Sketch verlangt ein NL nach jedem Befehl)

Grüße

100-200-00:
Ich habe bereits Putty ausprobiert, allerdings kann ich mit Putty keine Daten an den Arduino schicken (mein Sketch verlangt ein NL nach jedem Befehl)

Das kann man mit Sicherheit einstellen.

Und wo? ich habe es bereits gegoogelt, habe aber den Begriff 'local line editing' bzw. 'local echo' nirgends im Putty Menü gefunden. Unter welchen Kategorie Punkt sollte es zu finden sein?

RTFM

4.3.3 ‘Implicit CR in every LF’

Most servers send two control characters, CR and LF, to start a new line of the screen. The CR character makes the cursor return to the left-hand side of the screen. The LF character makes the cursor move one line down (and might make the screen scroll).

Some servers only send LF, and expect the terminal to move the cursor over to the left automatically. If you come across a server that does this, you will see a stepped effect on the screen, like this:

First line of text
Second line
Third line

If this happens to you, try enabling the ‘Implicit CR in every LF’ option, and things might go back to normal:

First line of text
Second line
Third line

4.3.4 ‘Implicit LF in every CR’

Most servers send two control characters, CR and LF, to start a new line of the screen. The CR character makes the cursor return to the left-hand side of the screen. The LF character makes the cursor move one line down (and might make the screen scroll).

Some servers only send CR, and so the newly written line is overwritten by the following line. This option causes a line feed so that all lines are displayed.

Vielleicht ist das auch mehr die andere Richtung, hm...

Interestingly, I can report the opposite on Win 7: PuTTY for me and my embedded project is sending ONLY '\r' over the COM port. Curious, read: frustraitingly unexplainable, but I simply look for either character on the other end of the serial connection.

Then, if you enable 'Implicit LF in every CR' under Terminal options it will send both '\r\n'. Default behaviour seems to be akin to a Commodore machine :smiley: (http://en.wikipedia.org/wiki/Newline)... who knew...

PuTTY emulates xterm which emulates vt100. To have putty send CR/LF when pressing enter, type ESC[20h in putty after connecting to the serial device. This sets VT100 LNM true.

Digital VT100 User Guide: Programmer Information

Line feed/new line New line ESC [20h Line feed ESC [20l

Das Problem ist aber, dass ich ja keine Zeile im Fenster eintippen kann, sondern nach jedem Zeichen los geschickt wird. Ich möchte, wie in der Arduino IDE, eine Zeile eintippen und dann die komplette Zeile mit einer neuen Zeile am Schluss (NL) abschicken.

Bei einer vernünftigen Eingaberoutine auf dem Arduino macht das absolut keinen Unterschied.

Aber dir steht auch der Sourcecode der IDE zur Verfügung, da könnte man eine Logfile-Funktion nachrüsten,
ist ja nur Java.

Habe es nun mit Putty hinbekommen, indem ich nach dem Befehl Strg+J eingegeben habe (Befehl für NL). Leider funktionieren manche Befehle nun nicht, wie sie eigentlich sollten...

Schade, dass sowas nicht in der Arduino IDE standardmäßig integriert ist. Selbst an der IDE was zu pfuschen mag ich eher nicht.

Das ist der TEAM Gedanke. Toll, ein anderer machts.

Whandall:
Das ist der TEAM Gedanke. Toll, ein anderer machts.

Das ist eher der Gedanke "Never touch a running system". Kann schon sein, dass ich das irgendwie hinbekomme. Aber ich traue meinen unerfahrenen Programmierskills nicht, um an der Arduino IDE etwas zu verändern, sodass diese nacher trotzdem einwandfrei funktioniert.

Es gibt auch noch genug andere Programme dazu. z.B. HTerm, CoolTerm oder RealTerm

Besser dran bist du auf jeden Fall, wenn es deinem Arduino egal ist,wie lange es dauert bis das '\n' kommt.

Serial ist immer langsam. available() sagt dir nicht, wieviele Zeichen kommen werden, nur wie viele inzwischen ungelesen da sind. Ob zwischen zwei Zeichen nur das minimale 1 Stopbit oder beliebig mehr Pause ist, darf dich eigentlich nicht stören.

In der Java-Arduino-IDE rumpfuschen hätte auch den Nachteil, dass die Änderung mit jedem Update erstmal wieder weg ist.

michael_x:
In der Java-Arduino-IDE rumpfuschen hätte auch den Nachteil, dass die Änderung mit jedem Update erstmal wieder weg ist.

Wenn man die Erweiterung der Monitors ordentlich macht wäre es sicher möglich den neuen Kode offiziell in die IDE zu integrieren.