QR code

QR code generation with LVGL. Uses QR-Code-generator by nayuki.

Get started

  • Download or clone this repository

    • Download from GitHub

    • Clone: git clone https://github.com/lvgl/lv_lib_qrcode.git

  • Include the library: #include "lv_lib_qrcode/lv_qrcode.h"

  • Test with the following code:

const char * data = "Hello world";

/*Create a 100x100 QR code*/
lv_obj_t * qr = lv_qrcode_create(lv_scr_act(), 100, lv_color_hex3(0x33f), lv_color_hex3(0xeef));

/*Set data*/
lv_qrcode_update(qr, data, strlen(data));

Notes

  • QR codes with less data are smaller, but they scaled by an integer number to best fit to the given size.

Example

Create a QR Code

C code  

 GitHub

MicroPython code  

 GitHub Simulator

API

Functions

lv_obj_t *lv_qrcode_create(lv_obj_t *parent, lv_coord_t size, lv_color_t dark_color, lv_color_t light_color)

Create an empty QR code (an lv_canvas) object.

Parameters
  • parent -- point to an object where to create the QR code

  • size -- width and height of the QR code

  • dark_color -- dark color of the QR code

  • light_color -- light color of the QR code

Returns

pointer to the created QR code object

lv_res_t lv_qrcode_update(lv_obj_t *qrcode, const void *data, uint32_t data_len)

Set the data of a QR code object

Parameters
  • qrcode -- pointer to aQ code object

  • data -- data to display

  • data_len -- length of data in bytes

Returns

LV_RES_OK: if no error; LV_RES_INV: on error

void lv_qrcode_delete(lv_obj_t *qrcode)

DEPRECATED: Use normal lv_obj_del instead Delete a QR code object

Parameters

qrcode -- pointer to a QR code object

Variables

const lv_obj_class_t lv_qrcode_class