From 63dc8a0309858b32e13ea4f529d0e9fe7f84bc3c Mon Sep 17 00:00:00 2001
From: Fabrice Weinberg <Fabrice@weinberg.me>
Date: Tue, 31 May 2016 20:09:59 +0200
Subject: [PATCH] Add info about text logging feature

---
 UPGRADE-3.0.md | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/UPGRADE-3.0.md b/UPGRADE-3.0.md
index 43a5aa6..69bdd57 100644
--- a/UPGRADE-3.0.md
+++ b/UPGRADE-3.0.md
@@ -56,6 +56,8 @@ void overlay1(OLEDDisplay *display,  OLEDDisplayUiState* state);
 
 ## New Features
 
+### Loading Animation
+
 While using this library ourself we noticed a pattern emerging. We want to drawing
 a loading progress while connecting to WiFi and updating weather data etc.
 
@@ -105,3 +107,19 @@ void myLoadingDraw(OLEDDisplay *display, LoadingStage* stage, uint8_t progress)
 
 After defining a function like that, you can pass it to the Ui library by use
 `ui.setLoadingDrawFunction(myLoadingDraw)`.
+
+
+### Text Logging
+
+It is always useful to display some text on the display without worrying to much
+where it goes and managing it. In 3.0 we made the `OLEDDisplay` class implement
+[`Print`](https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/Print.h)
+so you can use it like you would use `Serial`. We calls this feature `LogBuffer`
+and the only thing you have to do is to define how many lines you want to display
+and how many characters there are on average on each. This is done by calling
+`setLogBuffer(lines, chars);`. If there is not enough memory the function will
+return false.
+
+After that you can draw the `LogBuffer` anywhere you want by calling `drawLogBuffer(x, y)`.
+(Note: You have to call `display()` to update the screen)
+We made a [video](https://www.youtube.com/watch?v=8Fiss77A3TE) showing this feature in action.
-- 
GitLab