]> granicus.if.org Git - esp-idf/commitdiff
Add cr after a lf is printed (configurable)
authorJeroen Domburg <git@j0h.nl>
Tue, 23 Aug 2016 07:02:27 +0000 (15:02 +0800)
committerJeroen Domburg <git@j0h.nl>
Tue, 23 Aug 2016 07:20:03 +0000 (15:20 +0800)
Formatting

components/esp32/Kconfig
components/esp32/syscalls.c

index b257806843ec45d7d14ad76d71cee33bb5ea59a1..ea1cc9739792d46859fe66af1863c52f4fda794f 100644 (file)
@@ -1,4 +1,4 @@
-menu "WiFi config"
+menu "ESP32-specific config"
 
 config WIFI_ENABLED
     bool "Enable low-level WiFi stack"
@@ -36,4 +36,15 @@ config WIFI_EVENT_TASK_STACK_SIZE
     help
         Config WiFi event task stack size in different application.
 
+
+config NEWLIB_STDOUT_ADDCR
+       bool "Standard-out output adds carriage return before newline"
+       default y
+       help
+               Most people are used to end their printf strings with a newline. If this
+               is sent as is to the serial port, most terminal programs will only move the
+               cursor one line down, not also move it to the beginning of the line. This
+               is usually done by an added CR character. Enabling this will make the
+               standard output code automatically add a CR character before a LF.
+
 endmenu
index 5fb7c94d099141a8cca0fd27b3bc194cc38fa8bd..f6da4a52a790f46e1ab6caad9720624fa4ee294a 100644 (file)
@@ -134,9 +134,14 @@ int _open_r(struct _reent *r, const char * path, int flags, int mode) {
 }
 
 ssize_t _write_r(struct _reent *r, int fd, const void * data, size_t size) {
-       const char* p = (const char*) data;
+    const char* p = (const char*) data;
     if (fd == STDOUT_FILENO) {
         while(size--) {
+#if CONFIG_NEWLIB_STDOUT_ADDCR
+            if (*p=='\n') {
+                uart_tx_one_char('\r');
+            }
+#endif
             uart_tx_one_char(*p);
             ++p;
         }