diff --git a/src/debug/printing/printable_printf.cpp b/src/debug/printing/printable_printf.cpp index 35872eb..900c5fc 100644 --- a/src/debug/printing/printable_printf.cpp +++ b/src/debug/printing/printable_printf.cpp @@ -17,7 +17,9 @@ namespace sta STA_ASSERT(length > 0); printf("%.*s", length, str); - printf("\r\n"); + + if (newline) + printf("\r\n"); } void PrintablePrintf::read(uint8_t * str, size_t length) diff --git a/src/debug/printing/printable_uart.cpp b/src/debug/printing/printable_uart.cpp index b35b376..be750d7 100644 --- a/src/debug/printing/printable_uart.cpp +++ b/src/debug/printing/printable_uart.cpp @@ -19,11 +19,15 @@ namespace sta void PrintableUART::print(const char * str, size_t length, bool newline /* = false */) { - const char * linebreak = "\r\n"; - intf_->acquire(); intf_->transfer(reinterpret_cast(str), length); - intf_->transfer(reinterpret_cast(linebreak), 2); + + if (newline) + { + const char * linebreak = "\r\n"; + intf_->transfer(reinterpret_cast(linebreak), 2); + } + intf_->release(); }