diff --git a/firmware/common/ui_widget.cpp b/firmware/common/ui_widget.cpp index c4c035a63481289625a1bf78bbf0c44d469d09d8..01639e0c5ec3cd5eaf4dac6e3c8aad389f7a80ff 100644 --- a/firmware/common/ui_widget.cpp +++ b/firmware/common/ui_widget.cpp @@ -570,7 +570,10 @@ Console::Console( { } -void Console::clear() { +void Console::clear(bool clear_buffer = false) { + if(clear_buffer) + buffer.clear(); + display.fill_rectangle( screen_rect(), Color::black() @@ -595,10 +598,7 @@ void Console::write(std::string message) { pen_color = s.foreground; escape = false; } else { - if (c=='\f') { //Add FORM FEED (clear screen) - clear(); - buffer.clear(); - } else if (c == '\n') { + if (c == '\n') { crlf(); } else if (c == '\x1B') { escape = true; diff --git a/firmware/common/ui_widget.hpp b/firmware/common/ui_widget.hpp index e4b8533bfec607deff8f0bf3787be9f4807d68de..61ffeb7258125103085e40dbb03f4cd8e8cb192c 100644 --- a/firmware/common/ui_widget.hpp +++ b/firmware/common/ui_widget.hpp @@ -312,7 +312,7 @@ class Console : public Widget { public: Console(Rect parent_rect); - void clear(); + void clear(bool clear_buffer); void write(std::string message); void writeln(std::string message);