QR-code¶
The QR-code turns a text into a 2D QR-code.
Configure¶
Warning
Ensure the QR-code library is included and initialised according to the configuration procedure.
Danger
This library requires the external QRcode library to generate the patterns.
Ensure the external QRcode
library is installed and configured properly.
As a function, the QR-code element requires no configuration.
Use¶
1 2 3 4 |
|
The required parameters are
-
The first line sets the link to the screen;
-
The second line sets the x-y coordinates of the top-left corner of the code-bar;
-
The third line provides the text.
The optional parameter is
- The fourth line sets the multiplier, with
2
as default. This ensures a good readability, as resolution exceeds 100 dpi.
The generated QR-code handles up to 68 characters in a 43-pixel square.
codeQR
returns RESULT_SUCCESS
if successful, RESULT_ERROR
otherwise. The most common cause of error is an overflow due to a text too long.
uint16_t dz = getSizeCodeQR(2);
getCodeBar39Size()
returns the size of the square of the QR-code in pixels.
Example¶
This is the core of the code from example Code_QR.ino
.
void displayCodeQR()
{
myScreen.setOrientation(myOrientation);
uint16_t x, y, dx, dy, dz;
uint8_t result;
x = myScreen.screenSizeX();
y = myScreen.screenSizeY();
dx = x / 5;
dy = y / 5;
myScreen.selectFont(fontMedium);
myScreen.gText(0, 0, "QR-code");
myScreen.selectFont(fontMedium);
dz = getQRcodeSize(2);
myScreen.setFontSolid(true);
myScreen.gText(0, 4 * dy, formatString("Multiplier=%ix Size= %i pixels", 2, dz), myColours.black, myColours.white);
result = codeQR(&myScreen, (x - dz) / 2, (y - dz) / 2, "www.pervasivedisplays.com", 2);
if (result == RESULT_SUCCESS)
{
myScreen.flushFast();
}
}