59 lines
2.6 KiB
C++
59 lines
2.6 KiB
C++
/*
|
|
Basic_partial_update example for e-radionica Inkplate 6
|
|
For this example you will need only USB cable and Inkplate 6
|
|
Select "Inkplate 6(ESP32)" from Tools -> Board menu.
|
|
Don't have "Inkplate 6(ESP32)" option? Follow our tutorial and add it:
|
|
https://e-radionica.com/en/blog/add-inkplate-6-to-arduino-ide/
|
|
|
|
In this example we will show how to use partial update functionality of Inkplate 6 e-paper display.
|
|
It will scroll text that is saved in char array
|
|
NOTE: Partial update is only available on 1 Bit mode (BW) and it is not recommended to use it on first refresh after
|
|
power up. It is recommended to do a full refresh every 5-10 partial refresh to maintain good picture quality.
|
|
|
|
Want to learn more about Inkplate? Visit www.inkplate.io
|
|
Looking to get support? Write on our forums: http://forum.e-radionica.com/en/
|
|
15 July 2020 by e-radionica.com
|
|
*/
|
|
|
|
#include "Inkplate.h" //Include Inkplate library to the sketch
|
|
Inkplate display(INKPLATE_1BIT); // Create an object on Inkplate library and also set library into 1-bit mode (BW)
|
|
|
|
// Char array where you can store your text that will be scrolled.
|
|
const char text[] = "This is partial update on Inkplate 6 e-paper display! :)";
|
|
|
|
// This variable is used for moving the text (scrolling)
|
|
int offset = 800;
|
|
|
|
// Variable that keeps count on how much screen has been partially updated
|
|
int n = 0;
|
|
void setup()
|
|
{
|
|
display.begin(); // Init Inkplate library (you should call this function ONLY ONCE)
|
|
display.clearDisplay(); // Clear frame buffer of display
|
|
display.display(); // Put clear image on display
|
|
display.setTextColor(BLACK, WHITE); // Set text color to be black and background color to be white
|
|
display.setTextSize(4); // Set text to be 4 times bigger than classic 5x7 px text
|
|
display.setTextWrap(false); // Disable text wraping
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
display.clearDisplay(); // Clear content in frame buffer
|
|
display.setCursor(offset, 300); // Set new position for text
|
|
display.print(text); // Write text at new position
|
|
if (n > 9)
|
|
{ // Check if you need to do full refresh or you can do partial update
|
|
display.display(); // Do a full refresh
|
|
n = 0;
|
|
}
|
|
else
|
|
{
|
|
display.partialUpdate(); // Do partial update
|
|
n++; // Keep track on how many times screen has been partially updated
|
|
}
|
|
offset -= 20; // Move text into new position
|
|
if (offset < 0)
|
|
offset = 800; // Text is scrolled till the end of the screen? Get it back on the start!
|
|
delay(500); // Delay between refreshes.
|
|
}
|