Add cr after a lf is printed (configurable)

Formatting
This commit is contained in:
Jeroen Domburg 2016-08-23 15:02:27 +08:00
parent 49b2dfea1e
commit d579040e32
2 changed files with 18 additions and 2 deletions

View File

@ -1,4 +1,4 @@
menu "WiFi config" menu "ESP32-specific config"
config WIFI_ENABLED config WIFI_ENABLED
bool "Enable low-level WiFi stack" bool "Enable low-level WiFi stack"
@ -36,4 +36,15 @@ config WIFI_EVENT_TASK_STACK_SIZE
help help
Config WiFi event task stack size in different application. 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 endmenu

View 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) { 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) { if (fd == STDOUT_FILENO) {
while(size--) { while(size--) {
#if CONFIG_NEWLIB_STDOUT_ADDCR
if (*p=='\n') {
uart_tx_one_char('\r');
}
#endif
uart_tx_one_char(*p); uart_tx_one_char(*p);
++p; ++p;
} }