Skip to content

Commit d3083d3

Browse files
committed
Merge branch 'dev'
2 parents 2dd263f + 0d777fa commit d3083d3

File tree

2,888 files changed

+139931
-437868
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,888 files changed

+139931
-437868
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/*
2+
Inkplate10_TextBox example for Soldered Inkplate 10
3+
For this example you will need a micro USB cable and an Inkplate 10.
4+
Select "Soldered Inkplate 10" from Tools -> Board menu.
5+
6+
This example will show you how to use the TextBox function with and without special parameters
7+
8+
Want to learn more about Inkplate? Visit www.inkplate.io
9+
Looking to get support? Write on our forums: https://forum.soldered.com/
10+
24 April 2025 by Soldered
11+
*/
12+
13+
#include "Inkplate.h" //Include Inkplate library to the sketch
14+
#include "Roboto_Light_36.h"
15+
Inkplate display(INKPLATE_1BIT); // Create an object on Inkplate library and also set library into 1 Bit mode (BW)
16+
17+
// Define the text you will show in the text box
18+
const char* text="This is an example of a text written in a textbox. When a word doesn't fit into the current row, it goes to the next one."\
19+
" If the text reaches the lower bound, it ends with three dots (...) to mark that the text isnt displayed fully";
20+
21+
void setup()
22+
{
23+
display.begin(); // Init Inkplate library (you should call this function ONLY ONCE)
24+
display.clearDisplay(); // Clear frame buffer of display
25+
display.display(); // Put clear image on display
26+
27+
// Create a text box without any optional parameters
28+
// x0- x coordinate of upper left corner
29+
// y0- y coordinate of upper left corner
30+
// x1- x coordinate of bottom right corner
31+
// y1- y coordinate of bottom right corner
32+
// text - text we want to display
33+
display.drawTextBox(100,100,300,300,text);
34+
35+
// Create a text box with all parameters
36+
// x0- x coordinate of upper left corner
37+
// y0- y coordinate of upper left corner
38+
// x1- x coordinate of bottom right corner
39+
// y1- y coordinate of bottom right corner
40+
// text - text we want to display
41+
// textSizeMultiplier - by what factor we want to enlarge the size of a font
42+
// font - address of selected custom font
43+
// verticalSpacing - how many pixels between each row of text
44+
// showBorder - Create a visible rectangle around the box
45+
// fontSize - size of the used font in pt
46+
int offset=32; // Note - some custom fonts are drawn from bottom-to-top which requires an offset, use an offset that best suits the font you use
47+
display.drawTextBox(400,100+offset,600,300,text,1,&Roboto_Light_36,27,false,36);
48+
49+
// Display both text boxes
50+
display.display();
51+
}
52+
53+
void loop()
54+
{
55+
// Nothing...
56+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
/*
2+
Inkplate10_HTTPS_With_Certificate example for Soldered Inkplate 10
3+
For this example you will need a micro USB cable, Inkplate 10, and an available WiFi connection.
4+
Select "Soldered Inkplate 10" from Tools -> Board menu.
5+
6+
You can open .bmp files that have color depth of 1 bit (BW bitmap), 4 bit, 8 bit and
7+
24 bit
8+
9+
This example will show you how you can download a .bmp file (picture) from the web securely by providing a
10+
certificate for the website that will be validated upon conncection and
11+
display that image on e-paper display.
12+
13+
Want to learn more about Inkplate? Visit www.inkplate.io
14+
Looking to get support? Write on our forums: https://forum.soldered.com/
15+
15 March 2024 by Soldered
16+
*/
17+
18+
// Next 3 lines are a precaution, you can ignore those, and the example would also work without them
19+
#if !defined(ARDUINO_INKPLATE10) && !defined(ARDUINO_INKPLATE10V2)
20+
#error "Wrong board selection for this example, please select e-radionica Inkplate10 or Soldered Inkplate10 in the boards menu."
21+
#endif
22+
23+
#include "Inkplate.h" //Include Inkplate library to the sketch
24+
Inkplate display(INKPLATE_1BIT); // Create an object on Inkplate library and also set library into 1 Bit mode (BW)
25+
26+
const char ssid[] = ""; // Your WiFi SSID
27+
const char *password = ""; // Your WiFi password
28+
29+
//This is the certificate for the website https://varipass.org
30+
31+
const char* certificate = \
32+
"-----BEGIN CERTIFICATE-----\n" \
33+
"MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw\n" \
34+
"TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n" \
35+
"cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4\n" \
36+
"WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu\n" \
37+
"ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY\n" \
38+
"MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc\n" \
39+
"h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+\n" \
40+
"0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U\n" \
41+
"A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW\n" \
42+
"T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH\n" \
43+
"B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC\n" \
44+
"B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv\n" \
45+
"KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn\n" \
46+
"OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn\n" \
47+
"jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw\n" \
48+
"qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI\n" \
49+
"rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\n" \
50+
"HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq\n" \
51+
"hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL\n" \
52+
"ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ\n" \
53+
"3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK\n" \
54+
"NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5\n" \
55+
"ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur\n" \
56+
"TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC\n" \
57+
"jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc\n" \
58+
"oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq\n" \
59+
"4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA\n" \
60+
"mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d\n" \
61+
"emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=\n" \
62+
"-----END CERTIFICATE-----\n";
63+
64+
void setup()
65+
{
66+
display.begin(); // Init Inkplate library (you should call this function ONLY ONCE)
67+
display.clearDisplay(); // Clear frame buffer of display
68+
display.display(); // Put clear image on display
69+
70+
display.print("Connecting to WiFi...");
71+
display.partialUpdate();
72+
display.connectWiFi(ssid, password);
73+
74+
while (!display.isConnected())
75+
{
76+
delay(500);
77+
display.print(".");
78+
display.partialUpdate();
79+
}
80+
display.println("\nWiFi OK! Downloading...");
81+
display.partialUpdate();
82+
83+
//Apply the certificate previously defined
84+
display.applyHttpsCertificate(certificate);
85+
//Here we will draw the image using a valid certificate. Photo taken by: Roberto Fernandez
86+
if (!display.drawImage("https://varipass.org/neowise_mono.bmp", 0, 0, false, true))
87+
{
88+
// If is something failed (wrong filename or wrong bitmap format), write error message on the screen.
89+
// REMEMBER! You can only use Windows Bitmap file with color depth of 1, 4, 8 or 24 bits with no compression!
90+
display.println("Image open error");
91+
display.display();
92+
}
93+
display.display();
94+
delay(3000);
95+
display.clearDisplay();
96+
//Next we will try to load an image from a different website, which will not work as the certificate is
97+
//not valid for this page
98+
if (!display.drawImage("https://raw.githubusercontent.com/SolderedElectronics/Inkplate-Arduino-library/master/examples/Inkplate5V2/Advanced/WEB_WiFi/Inkplate5V2_Show_JPG_With_HTTPClient/image.jpg", 0, 100, true, false))
99+
{
100+
display.println("This image wont load as the certificate is invalid");
101+
display.display();
102+
}
103+
display.display();
104+
105+
display.disconnect();
106+
}
107+
108+
void loop()
109+
{
110+
// Nothing...
111+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
Inkplate10_Hello_World example for Soldered Inkplate 10
3+
4+
For this example, you only need a USB cable and your Inkplate 10.
5+
Select "e-radionica Inkplate10" or "Soldered Inkplate10" from the Tools -> Board menu in Arduino IDE.
6+
Don't see the "e-radionica Inkplate10" or "Soldered Inkplate10" option? Follow this tutorial to add it:
7+
https://soldered.com/learn/add-inkplate-6-board-definition-to-arduino-ide/
8+
9+
This example demonstrates the most basic usage: displaying "Hello World!" on the screen.
10+
It uses the Inkplate library's built-in text drawing functions, fully compatible with Adafruit GFX.
11+
12+
Want to learn more about Inkplate? Visit www.inkplate.io
13+
Need support? Visit our forums: https://forum.soldered.com/
14+
24 April 2025 by Soldered
15+
16+
In order to convert your images into a format compatible with Inkplate,
17+
use the Soldered Image Converter available at:
18+
https://github.com/SolderedElectronics/Soldered-Image-Converter/releases
19+
*/
20+
21+
22+
// Next 3 lines are a precaution, you can ignore those, and the example would also work without them
23+
#if !defined(ARDUINO_INKPLATE10) && !defined(ARDUINO_INKPLATE10V2)
24+
#error "Wrong board selection for this example, please select e-radionica Inkplate10 or Soldered Inkplate10 in the boards menu."
25+
#endif
26+
27+
#include "Inkplate.h" // Include the Inkplate library
28+
Inkplate display(INKPLATE_1BIT); // Create an Inkplate object for Inkplate6 FLICK
29+
30+
void setup() {
31+
display.begin(); // Initialize the display hardware
32+
display.clearDisplay(); // Clear the frame buffer (does NOT clear the physical screen)
33+
display.setCursor(10, 10); // Set the text position to (10, 10) pixels
34+
display.setTextSize(6); // Set text size to 6 (default is 1)
35+
display.print("Hello World!"); // Print "Hello World!" at the set position
36+
display.display(); // Refresh the e-paper display to show changes
37+
}
38+
39+
void loop() {
40+
// No code needed here for this example
41+
}

examples/Inkplate10/Diagnostics/Inkplate10_Factory_Programming_VCOM/Inkplate10_Factory_Programming_VCOM.ino

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,9 @@ void setup()
261261
void loop()
262262
{
263263
// Let's show the slides!
264+
// The first slide is the splash screen
265+
showSplashScreen(waveformEEPROM);
266+
waitForWakeButtonPress(); // Wait until the wake button is pressed to go to the next slide
264267

265268
// First, certain slides have to be decompressed, so this is not done in a loop automatically
266269
// This slide is the 'welcome' slide

examples/Inkplate10/Diagnostics/Inkplate10_Factory_Programming_VCOM/images/compress.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ def create_cpp_array(data, variable_name='compressed_data'):
3232
return cpp_array
3333

3434
def main():
35-
input_file = 'slide02_cropped.h'
36-
output_file = 'compressed_data.h'
35+
input_file = 'slide_02_uncompresed.h'
36+
output_file = 'slide_02.h'
3737

3838
# Check if input file exists
3939
if not os.path.isfile(input_file):

examples/Inkplate10/Diagnostics/Inkplate10_Factory_Programming_VCOM/images/slide_02.h

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)