Join GitHub today
Library for Sharp Memory LCDs
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Introduction ============ The smemlcd library provides C library (with Python 3 bindings) for Sharp Memory LCDs http://www.sharpmemorylcd.com/ At the moment only 2.7" LCD screen (LS027B7DH01) is supported. The screen was tested with Raspberry Pi, Arietta G25 and Kuzyatech Sharp Memory LCD breakout A2 https://www.tindie.com/products/kuzyatech/sharp-memory-lcd-breakout-a2/ Connecting 2.7" LCD =================== The LCD should be connected to a board using the following connection scheme:: Breakout Raspberry Pi Arietta G25 --------------------------------------- VIN 3V3 Power 3V3 Power GND Ground Ground DISP GPIO 25 PA25 SCS GPIO 24 PA24 SI GPIO 10 (MOSI) PA22 (SPI1 MOSI) SCLK GPIO 11 (SCLK) PA23 (SPI1 CK) SPI Message Length ================== SPI message length limit is 4096 bytes by default. For 2.7" screen it has to be increased to 12482 bytes. If spidev module is built into kernel, then parameter:: spidev.bufsiz=12482 should be added into /boot/cmdline.txt file (Raspberry Pi) or bootloader (i.e. Arietta G25). Otherwise, create /etc/modprobe.d/spidev.conf file with the following contents:: options spidev bufsiz=12482 Compiling Library ================= The library build system uses GNU Autotools. To build the library one has to execute `configure` script followed by `make` command. The `BOARD` variable has to be passed to `configure` script to build the library for specific board, i.e. $ ./configure BOARD=at91 will build the library for Arietta G25 board. The list of boards and `BOARD` variable values is contained in the table below:: Board `BOARD` value ----------------------------- Raspberry Pi rpi Arietta G25 at91 Using Library ============= The library is very basic and does not provide any drawing primitives. Additional library like PIL or Cairo should be used to create framebuffer, draw in the framebuffer and finally send the framebuffer to a LCD screen. See `examples` directory for various examples.