Skip to main content

A library to drive PCD8544, HT1621, ST7735, ST7567 and UC1701X-based LCDs

Project description

luma.core | luma.docs | luma.emulator | luma.examples | luma.lcd | luma.led_matrix | luma.oled

Luma.LCD

PCD8544, ST7735, ST7567, HT1621, UC1701X Display Drivers

https://travis-ci.org/rm-hull/luma.lcd.svg?branch=master https://coveralls.io/repos/github/rm-hull/luma.lcd/badge.svg?branch=master Documentation Status https://img.shields.io/pypi/pyversions/luma.lcd.svg https://img.shields.io/pypi/v/luma.lcd.svg https://img.shields.io/maintenance/yes/2019.svg?maxAge=2592000

Python library interfacing LCD displays with the PCD8544, ST7735, ST7567, HT1621 and UC1701X driver using SPI on the Raspberry Pi and other linux-based single-board computers - it provides a Pillow-compatible drawing canvas, and other functionality to support:

  • scrolling/panning capability,
  • terminal-style printing,
  • state management,
  • color/greyscale (where supported),
  • dithering to monochrome

All modules can be picked up on ebay with a breakout board for a few pounds.

https://raw.github.com/rm-hull/luma.lcd/master/doc/images/pcd8544.png https://raw.github.com/rm-hull/luma.lcd/master/doc/images/st7735.jpg https://raw.github.com/rm-hull/luma.lcd/master/doc/images/ht1621.jpg https://raw.github.com/rm-hull/luma.lcd/master/doc/images/uc1701x.png

Documentation

Full documentation with installation instructions and examples can be found on https://luma-lcd.readthedocs.io.

Breaking changes

Version 2.0.0 was released on 2 June 2019: this came with the removal of the luma.lcd.aux.backlight class. The equivalent functionality has now been subsumed into the device classes that have a backlight capability.

License

The MIT License (MIT)

Copyright (c) 2013-2019 Richard Hull & Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contributing

Pull requests (code changes / documentation / typos / feature requests / setup) are gladly accepted. If you are intending to introduce some large-scale changes, please get in touch first to make sure we’re on the same page: try to include a docstring for any new method or class, and keep method bodies small, readable and PEP8-compliant. Add tests and strive to keep the code coverage levels high.

GitHub

The source code is available to clone at: https://github.com/rm-hull/luma.lcd.git

Contributors

  • Thijs Triemstra (@thijstriemstra)
  • Dougie Lawson (@dougielawson)
  • WsMithril (@WsMithril)
  • Peter Martin (@pe7er)
  • Saumyakanta Sahoo (@somu1795)
  • Philip Howard (@Gadgetoid)

ChangeLog

Version Description Date
2.0.0
  • Rework namespace handling for luma sub-projects
2019/06/16
2.0.0
  • BREAKING CHANGES: Removal of luma.lcd.aux.backlight class
  • Device classes now incorporate backlight capability
2019/06/02
1.1.1
  • Add support for 160x80 display size for ST7735
  • Minor documentation updates
2019/03/30
1.1.0
  • Add ST7567 Monochrome LCD display driver (courtesy of @Gadgetoid)
  • Change HT1621 tests
  • Update dependencies
2018/09/07
1.0.3
  • Changed version number to inside luma/lcd/__init__.py
2017/11/23
1.0.2
  • Documentation and dependencies updates
2017/10/30
1.0.1
  • Update dependencies
2017/09/14
1.0.0
  • Stable version
  • Remove deprecated methods
2017/09/09
0.5.0
  • Add UC1701X Monochrome LCD display driver
2017/06/11
0.4.1
  • luma.core 0.9.0 or newer is required now
2017/04/22
0.4.0
  • Add HT1621 seven-segment driver
2017/04/22
0.3.3
  • Add deprecation warning for bcm_LIGHT
2017/03/14
0.3.4
  • Add support for 128x128 display size for ST7735
  • Implement horizontal and vertical offsets (for ST7735)
  • Make backlight configurable as active high or active low
2017/04/17
0.3.3
  • Add deprecation warning for bcm_LIGHT
2017/03/14
0.3.2
  • Raise error.UnsupportedPlatform if RPi.GPIO is not available
2017/03/08
0.3.0
  • Add ST7735 Color TFT LCD display driver
  • Removed width and height parameters from device constructors
  • BREAKING CHANGES: Move backlight class to different package
2017/03/05
0.2.3
  • Allow PCD8544 driver constructor to accept any args
2017/03/02
0.2.2
  • Restrict exported Python symbols from luma.lcd.device
2017/03/02
0.2.1
  • Bugfix: Backlight didn’t switch off properly
  • Add tests
2017/01/23
0.2.0
  • BREAKING CHANGES: Package rename to luma.lcd
2017/01/13
0.0.1
  • Bit-bang version using wiringPi
2013/01/28

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
luma.lcd-2.1.0-py2.py3-none-any.whl (12.2 kB) Copy SHA256 hash SHA256 Wheel 3.7
luma.lcd-2.1.0.tar.gz (6.9 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page