用于 ESP32(ESP-IDF/ArduinoESP32)、ESP8266(ArduinoESP8266)和 SAMD51(Seeed ArduinoSAMD51)的 SPI LCD 图形库
用于 ESP32(ESP-IDF/ArduinoESP32)、ESP8266(ArduinoESP8266)和 SAMD51(Seeed ArduinoSAMD51)的 SPI LCD 图形库
ESP32とSPI, I2C, 8ビットパラレル接続のディスプレイ / ESP8266とSPI接続のディスプレイ / ATSAMD51とSPI接続のディスプレイの組み合わせで動作するグラフィックライブラリです。
This is a graphics library that works with a combination of ESP32 with SPI, I2C, 8-bit parallel / ESP8266 with SPI / ATSAMD51 with SPI to the Display. (see compatibility list below).
AdafruitGFX や TFT_eSPI と互換性をある程度持ちつつ、より高機能・高速動作を目標としています。
This library mimics AdafruitGFX and TFT_eSPI APIs while aiming for higher functional coverage and performances.
既存のライブラリに対して、以下のアドバンテージがあります。
This library has the following advantages.
※ HW = HardWare Peripheral / SW = SoftWare implementation
TouchScreens ESP32 supported ESP32-S2 supported ESP32-S3 supported ESP32-C3 supported ESP8266 supported SAMD51 supported SAMD21 supported RP2040 ---プラットフォーム Platform
ディスプレイ Displays
GC9107 (M5AtomS3)
GC9A01
GC9B72 (GalaxyCore GC9B72 controller on 2.1-inch 360×360 round SPI TFT panels)
GDEW0154M09 (M5Stack CoreInk)
HX8357
ILI9163
ILI9225
ILI9341 (WioTerminal, ESP-WROVER-KIT, ODROID-GO, LoLin D32 Pro, WiFiBoy Pro)
ILI9342 (M5Stack, M5Stack Core2, ESP32-S3-BOX)
ILI9481
ILI9486
ILI9488 (Makerfabs Touch with Camera)
IT8951 (M5Paper)
NT35510/OTM8009A
R61529
RA8875
RM68120
SH110x (SH1106, SH1107, M5Stack Unit OLED)
S6D04K1
SSD1306 (SSD1309)
SSD1327
SSD1331
SSD1351 (SSD1357)
SSD1963
ST7735 (M5StickC, TTGO T-Wristband, TTGO TS, LoLin D32 Pro, WiFiBoy mini, ESPboy, PyBadge)
ST7789 (M5StickCPlus, TTGO T-Watch, ESP-WROVER-KIT, Makerfabs MakePython, DSTIKE D-duino-32 XS)
ST7796 (WT32-SC01)
ST77916 (JC3636W518C)
M5Stack Unit LCD
M5Stack AtomDisplay
タッチスクリーン TouchScreens
設定方法のサンプルはsrc/lgfx_userにあります。
上記対応機種とコマンド体系の類似したディスプレイであれば対応可能ですが、当方で入手し動作確認が取れたもののみ正式対応としています。
対応要望を頂けた機種には優先的に対応を検討致します。
setting examples is src/lgfx_user
This library is also compatible with the above models and display panels with a similar command system,
but only those that have been obtained and confirmed to work are officially supported.
examplesに具体的なサンプルがあります。
…
本ライブラリはビルド内の Arduino コンポーネント (arduino / arduino-esp32 / espressif__arduino-esp32) を自動的にリンクし、アプリケーションと同じ ARDUINO 定義でコンパイルされます (揃っていないと同じクラスをアプリ側とライブラリ側で異なるレイアウトで読み、クラッシュします)。別名のコンポーネントは CMake キャッシュ変数 LGFX_ARDUINO_COMPONENT=<name>、無効化は LGFX_ARDUINO_COMPONENT=OFF で指定できます。
When arduino-esp32 is used as an ESP-IDF component together with this library, the library links the Arduino component automatically (it looks for a component named arduino, arduino-esp32 or espressif__arduino-esp32 in the build) so that it is compiled with the same ARDUINO definitions as the application. Without that, the application and the library would see different layouts of the same classes. Set LGFX_ARDUINO_COMPONENT=<name> (CMake cache variable) if your Arduino component has another name, or LGFX_ARDUINO_COMPONENT=OFF to disable this.
include <M5Stack.h> より後に include <LovyanGFX.hpp> を書いてください。
M5.Lcdは使わずに、別途LGFXのインスタンスを用意して使用してください。
ESP32-Chimera-Core を利用すると、M5.Lcd が LovyanGFX になります。
TFT_eSPIは素晴らしいライブラリです。しかし、複数のアーキテクチャを対象とするため構造的に複雑となっており、ESP-IDFへの対応や18bitカラーへの対応など、求める機能の追加を行う事が非常に困難となっていました。
LovyanGFX はこれらの機能の追加とパフォーマンスの最適化を実現するために作成しました。
TFT_eSPI is a great library. However, it is structurally complex because it targets multiple architectures, making it very difficult to add required functions such as ESP-IDF support and 18-bit color support.
LovyanGFX has been created to add these features and optimize performance.
このライブラリを作成するにあたり、インスピレーションを頂いたTFT_eSPIライブラリの作者Bodmer氏へ感謝いたします。
TFT_eSPIのベースとなった、AdafruitGFXを公開されているAdafruit Industriesへ感謝いたします。
TJpgDec (Tiny JPEG Decompressor) の作者 ChaN氏へ感謝いたします。
Pngle (PNG Loader for Embedding) の作者 kikuchan氏へ感謝いたします。
QRCode (QR code generation library) の作者 Richard Moore氏へ感謝いたします。
多くの技術的なアドバイスやESP-IDF環境での検証に協力してくださったciniml氏へ感謝いたします。
不具合の多い開発初期からの動作検証および多数の助言をくださったmongonta0716氏へ感謝いたします。
多数のボードでの動作検証や英語への翻訳および多数の助言をくださったtobozo氏へ感謝いたします。
フォントデータの作成に協力してくださったTANAKA Masayuki氏へ感謝いたします。
日本語フォントサブセットジェネレーターを製作してくださったYAMANEKO氏へ感謝いたします。
Raspberry pi pico (RP2040)対応に協力してくださったyasuhirok氏へ感謝いたします。
Linux FrameBuffer対応に協力してくださったIAMLIUBO氏へ感謝いたします。
コンポジットビデオ信号をESP32で出力するプロジェクトを公開されているrossum氏とRoger Cheng氏へ感謝いたします。
Thanks to Bodmer, author of the TFT_eSPI library, for the inspiration to create this library.
Thanks to Adafruit Industries for publishing AdafruitGFX, which is the basis for TFT_eSPI.
Thanks to ChaN, author of TJpgDec (Tiny JPEG Decompressor).
Thanks to kikuchan, author of Pngle (PNG Loader for Embedding).
Thanks to Richard Moore, author of QRCode (QR code generation library).
Thanks to ciniml, for many technical tips and help with validation in the ESP-IDF environment.
Thanks to mongonta0716, for verifying the work from the beginning of the development with many bugs and for his advice.
Thanks to tobozo, for testing it on various boards, translating it into English and giving me a lot of advice.
Thanks to TANAKA Masayuki, for creating the font data.
Thanks to YAMANEKO, for creating the lgfxFontSubsetGenerator.
Thanks to yasuhirok, for add Raspberry pi pico (RP2040) support.
Thanks to IAMLIUBO, for add Linux FrameBuffer support.
Thanks to rossum and Roger Cheng, published the project to output a composite video signal from ESP32.
TJpgDec ChaN
Pngle kikuchan
QRCode Richard Moore and Nayuki
main : FreeBSD
TJpgDec : original ChaN
Pngle : MIT kikuchan
QRCode : MIT Richard Moore and Nayuki
result : MIT Matthew Rodusek
GFX font and GLCD font : 2-clause BSD Adafruit Industries
Font 2,4,6,7,8 : FreeBSD Bodmer
converted IPA font : IPA Font License IPA
efont : 3-clause BSD The Electronic Font Open Laboratory
TomThumb font : 3-clause BSD Brian J. Swetland / Vassilii Khachaturov / Dan Marks
暂无开放 Issues,或尚未同步最近议题。