Skip to main content

支持 SBC 显示驱动程序的组件库

项目描述

luma.core | luma.docs | luma .模拟器 | luma .示例 | 亮度.lcd | luma.led_matrix | 发光二极管

亮度核心

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

luma.core是一个组件库,为 Python 3 提供与Pillow兼容的绘图画布,以及其他功能以支持 Raspberry Pi 和其他单板计算机上的小型显示器的绘图原语和文本渲染功能:

  • 滚动/平移功能,

  • 终端式打印,

  • 状态管理,

  • 颜色/灰度(如果支持),

  • 抖动为单色,

  • 精灵动画,

  • 灵活的帧缓冲(取决于设备功能)

文档

API 文档可以在https://luma-core.readthedocs.io/en/latest/找到

驱动程序

设备驱动程序扩展luma.core为特定的物理显示设备/芯片组提供正确的初始化序列。

有多种驱动程序可用于不同类别的设备:

模拟器

根据下面的示例,有实时运行的模拟器(使用 pygame)和其他可以截屏或组装动画 GIF 的模拟器。这些源代码可在luma.examples存储库的示例 目录中找到。

钟 入侵者 爬行

执照

麻省理工学院许可证 (MIT)

版权所有 (c) 2017-2021 理查德赫尔和贡献者

特此免费授予任何人获得本软件和相关文档文件(“软件”)的副本,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或出售本软件的副本,并允许向其提供本软件的人这样做,但须符合以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或大部分内容中。

本软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任承担任何责任,无论是在合同、侵权或其他方面,由本软件或本软件的使用或其他交易引起或与之相关。软件。

贡献

拉取请求(代码更改/文档/拼写错误/功能请求/设置)被欣然接受。如果您打算引入一些大规模的更改,请先与我们联系以确保我们在同一页面上:尝试为任何新方法或类包含一个文档字符串,并保持方法体小、可读和 PEP8-合规。添加测试并努力保持较高的代码覆盖率。

GitHub

源代码可在以下位置克隆:https ://github.com/rm-hull/luma.core

贡献者

  • Thijs Triemstra (@thijstriemstra)

  • 克里斯托夫·亨德尔 (@fragfutter)

  • @Boeeerb

  • @xes

  • 罗杰达尔 (@rogerdahl)

  • Václav Šmilauer (@eudoxos)

  • 克劳斯 Bjerre (@bjerrep)

  • @bkntrx

  • @7754359337

  • @theraspydev

  • @vortigont

  • 马腾洛斯 (@mlos)

  • 乔纳森·佩雷拉 (@jonathanrjpereira)

  • 丹尼尔·斯穆伦 (@drspangle)

  • 汉斯·利斯 (@hansliss)

  • 菲尔霍华德(@gadgetoid)

  • 曼努埃尔·贝斯勒 (@baslr)

  • Dhrone (@dhrone)

  • @jakiee3y

  • 马修洛弗尔(@mattblovell)

  • Tiago F. Pimentel (@antropoiese)

  • Maciej Sokolowski (@matemaciek)

变更日志

版本

描述

日期

2.3.1

  • 添加 Github 发布操作

2021/03/08

2.3.0

  • 只清理使用的 GPIO 引脚,而不是全部

2021/03/08

2.2.0

  • Linux 帧缓冲区:支持 BGR、RGBA 和 BGRA 色彩空间显示

2020/12/11

2.1.0

  • Linux 帧缓冲伪设备使用 diff-to-previous 算法

2020/11/30

2.0.2

  • 更改命名空间 cmdline 的顺序,因此默认使用 SSD1306

2020/11/26

2.0.1

  • 修复以允许 cmdline args 动态创建 full_frame() 实例

2020/11/06

2.0.0

  • 改进了 diff_to_previous 帧缓冲性能

  • 添加 Linux 帧缓冲伪设备

  • 允许更广泛的 SPI 总线速度

2020/11/02

1.17.3

  • 放弃对 Python 3.5 的支持,现在仅支持 3.6 或更高版本

  • 添加缺少的命令行接口:“noop”和“gpio_cs_spi”

  • 当字符不在字体表中时,旧的比例字体包装器会引发用户友好的错误消息

2020/10/24

1.17.2

  • 移除 SPI cs_high 能力(在 5.4 内核线上的最新版本 spidev 中导致 SystemException)

2020/10/11

1.17.1

  • 添加 cmdline opt: “pcf8574” 和 “bitbang_6800” 接口

2020/09/26

1.17.0

  • 将 ST7735 的 –inverse 选项添加到 cmdline opt

  • 允许 SPI 接口定义复位持续时间

  • 更改 bitmap_font 以与 Pillow < 7.0 兼容

2020/09/25

1.16.2

  • 添加了新的并行接口模块

  • 将并行类重命名为 bitbang_6800;移至并行模块

2020/09/20

1.16.1

  • 修复 bitmap_font 中的错误:现在可以正确计算 glyph_index

2020/08/29

1.16.0

  • 嵌入式字体并行设备(用于即将推出的 HD44780、Winstar 字符设备)

2020/08/27

1.15.0

  • 并行总线和 I²C 背包支持

2020/08/10

1.14.1

  • 将 spidev 固定在 v3.4 或更低版本;v3.5 似乎导致 SystemException 在最新的 linux 内核上运行

  • 修复快照中的错误:应始终在启动时重绘

2020/07/26

1.14.0

  • 放弃对 Python 2.7 的支持,现在仅支持 3.5 或更高版本

  • 添加对 SPI 模式的支持(时钟极性和相位)

2020/04/07

1.13.0

  • 添加对使用任何 GPIO 引脚作为 SPI 的 CS 引脚的支持

2020/01/12

1.12.0

  • 重做子项目的命名空间支持

2019/06/15

1.11.0

  • 支持 luma.lcd.aux(如果存在)

2019/06/02

1.10.1

  • 修复与 SSD1327 设备一起使用时从 I2C 串行适配器内部发出的 [错误 22]

2019/05/25

1.10.0

  • 在使用低保真颜色模式渲染到设备时允许视口伪显示抖动

2019/05/23

1.9.0

  • 通过不分块为 32 字节块来提高 I2C 渲染速度

  • 添加对桥接 FTDI 到 I2C/SPI 的支持

2019/05/10

1.8.3

  • 改进命令行帮助输出

  • 将 API 文档拆分为单独的页面

2019/01/07

1.8.2

  • 修复 SPI 的 cs_high 参数的类型提示

2018/11/05

1.8.1

  • 可变字符串现在可以在 unicode 上工作(对于 py2/3)

2018/09/18

1.8.0

  • 命名空间打包修复

  • pkgutil 风格命名空间的正确实现

  • 支持 Python 3.7

  • 文档字符串更新

2018/09/04

1.7.2

  • 修复倒置的 SEG7_FONT

2018/03/29

1.7.1

  • 终端类支持unicode

2018/03/22

1.7.0

  • 在设备上添加持久标志

2018/03/21

1.6.0

  • 在命令行参数中添加--spi-transfer-size=...标志

2018/02/21

1.5.0

  • 添加 SEG7_FONT:LED 矩阵的紧凑型 7x3 字体

2018/02/06

1.4.0

  • 在命令行参数中添加--spi-cs-high=...标志

2018/01/29

1.3.0

  • 在命令行参数中添加--gpio-mode=...标志

2018/01/02

1.2.1

  • setup.py中使用extras_require获取 Linux 依赖项

2017/11/26

1.2.0

  • 添加了 get_library_versionget_library_for_display_type

2017/11/23

1.1.1

  • 版本号现在可用作luma.core.__version__

2017/11/23

1.1.0

  • 添加了图像合成类

2017/10/28

1.0.3

  • 读取文件时在设置中明确声明“UTF-8”编码

2017/10/18

1.0.2

  • 修复有条件安装在车轮上

2017/09/15

1.0.1

  • 如果安装程序在 OSX 上运行,请不要安装 RPi.GPIO 和 spidev

2017/09/04

1.0.0

  • 稳定版本(删除所有已弃用的方法和参数)

2017/07/29

0.9.5

  • 删除终端中的断言以允许打印扩展字符(注意:这目前仅适用于 Python3)

2017/07/06

0.9.4

  • 为处理非 ASCII 字符的旧字体添加容错类

  • 将 CP437 字符添加到 fonts.py

2017/07/01

0.9.3

  • LCD_FONT:添加了小写西里尔字符,小写大写字符更正

2017/06/25

0.9.2

  • background=选项添加到luma.core.render.canvas

  • 添加 TCA9548A I2C 多路复用扫描器 (contrib)

  • 发生错误时以十六进制显示 I2C 地址

2017/06/19

0.9.1

  • 添加 180 的 cmdline 块方向

2017/05/01

0.9.0

  • 向luma.core.virtual.terminal添加自动换行功能

  • 滚动时对luma.core.virtual.terminal的错误修复

2017/04/22

0.8.1

  • 通过其他虚拟设备传播 segment_mapper

2017/04/14

0.8.0

  • 从luma.led_matrix迁移七段包装器

2017/04/14

0.7.5

  • 允许替代 RPi.GPIO 实现

2017/04/09

0.7.4

  • 减少传统比例字体中空格字符的大小

2017/04/09

0.7.3

  • Cmdline args 现在支持背光激活高/低

2017/04/07

0.7.2

  • --h-offset=N--v-offset=N参数添加到 cmdline args

2017/04/07

0.7.1

  • 改进命令行选项中的格式

2017/04/06

0.7.0

  • 添加基于软件的 bitbang SPI 实现

  • 命令行参数解析

  • 使用单调时钟

2017/03/27

0.6.2

  • 引用时将 GPIO.setmode() 移动到指向

  • 在 ANSI 颜色解析器中使用正则表达式前缀(修复弃用警告)

2017/03/19

0.6.1

  • 弃用 spi 参数

  • 修复 spritesheet 中的资源泄漏

2017/03/13

0.6.0

  • 终端支持 ANSI 颜色转义码

  • 捕获并重新抛出 IOErrors

2017/03/13

0.5.4

  • 返工装饰器

2017/03/08

0.5.3

  • 捕获并重新抛出所有 RPi.GPIO RuntimeExceptions

2017/03/08

0.5.2

  • 如果RPi.GPIO不可用,则引发error.UnsupportedPlatform

  • 修复了luma.core.virtual.terminal以处理多个 \n

2017/03/08

0.5.1

  • 错误修复:legacy.show_message回归

2017/03/05

0.5.0

  • 重大变化:返工framework_regulator

  • 文档更新

2017/03/05

0.4.4

  • 错误修复:legacy.show_message off-by-one bug

2017/03/02

0.4.3

  • 限制从luma.core.serial导出的 Python 符号

2017/03/02

0.4.2

  • 帧缓冲区边界框与字边界的可选对齐

2017/02/28

0.4.1

  • 重构帧缓冲接口

2017/02/27

0.4.0

  • 添加 spritesheet 和 framerate_regulator 功能

  • 添加全帧和 diff-to-previous 帧缓冲区实现

  • 移除不必要的 travis/tox 依赖

2017/02/27

0.3.2

  • 错误修复:legacy.show_message错误的设备高度

  • 将西里尔字符添加到旧字体

  • 使 pytest-runner 成为条件要求

2017/02/24

0.3.1

  • 从rm-hull/luma.led_matrix导入旧字体处理

2017/02/19

0.2.0

  • 修复七段变换中的错误(显示正确的字符)

  • 将模拟器代码移至rm-hull/luma.emulator github repo

2017/02/17

0.1.15

  • 至少需要 Pillow 4.0.0

  • SPI 写入时可配置的transfer_size

  • 文档更新

2017/02/11

0.1.14

  • 使用更灵活的无操作实现

  • 使用 spidev 的writebytes()而不是xfer2()

  • 如果什么都没有显示就不要写 GIF 动画

  • 保存 GIF 动画时尝试优化调色板

2017/02/03

0.1.13

  • 修复设置脚本中的错误

2017/01/23

0.1.12

  • 断言有效的 SPI 总线速度

  • 关机不报错

  • 不要打包为 zip-safe

  • 添加7段LED仿真变压器

2017/01/21

0.1.11

  • 重新封装以包含模拟器资产

2017/01/20

0.1.3

  • 初始化时重置 SPI 设备

  • 添加LED矩阵仿真变压器

2017/01/19

0.1.2

  • 命名空间包装

2017/01/10

0.1.0

  • 从rm-hull/ssd1306 中分离出核心功能

2017/01/10

项目详情