Luma.LCD: Display drivers for PCD8544, ST7735, ST7789, ST7567, HT1621, UC1701X, ILI9341, HD44780

https://github.com/rm-hull/luma.lcd/workflows/luma.lcd/badge.svg?branch=master https://coveralls.io/repos/github/rm-hull/luma.lcd/badge.svg?branch=master https://img.shields.io/maintenance/yes/2021.svg?maxAge=2592000 https://img.shields.io/pypi/pyversions/luma.lcd.svg https://img.shields.io/pypi/v/luma.lcd.svg https://img.shields.io/pypi/dm/luma.lcd

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)

  • Ricardo Amendoeira (@ric2b)

  • Kevin Stone (@kevinastone)

  • Dhrone (@dhrone)

  • Matthew Lovell (@mattblovell)

  • Maciej Sokolowski (@matemaciek)

ChangeLog

Version

Description

Date

2.9.0

  • Add ST7789 Colour LCD display driver

2021/03/14

2.8.0

  • Add ILI9486 Colour LCD display driver

2020/12/14

2.7.1

  • Fix mutable default parameter bug when using multiple displays

2020/11/15

2.7.0

  • Improved performance for ST7739 and ILI9341 displays

2020/11/04

2.6.0

  • Drop support for Python 3.5, only 3.6 or newer is supported now

  • Pin luma.core to 1.x.y line only, in anticipation of performance improvements in upcoming major release

2020/10/25

2.5.0

  • Add HD44780 LCD display driver

2020/09/24

2.4.0

  • Drop support for Python 2.7, only 3.5 or newer is supported now

2020/07/04

2.3.0

  • Add PWM backlight control

2020/01/08

2.2.0

  • Add ILI9341 Colour LCD display driver

2019/11/25

2.1.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

The MIT License (MIT)

Copyright (c) 2013-2021 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.