diff --git a/README.md b/README.md index ae53724..5fa11ee 100644 --- a/README.md +++ b/README.md @@ -18,15 +18,6 @@ -

Product 📷:

- -| Product | Product Link | -| :--------: | :------------: | -| T-keyboard | [AliExpress]() | - -## Pinout - -![](image/) diff --git a/README_CN.MD b/README_CN.MD index 0628ee9..db55a5e 100644 --- a/README_CN.MD +++ b/README_CN.MD @@ -13,11 +13,4 @@ - [ESP32-BLE-Keyboard](https://github.com/T-vK/ESP32-BLE-Keyboard/tree/0.3.0) - [T-0.99TFT](https://github.com/Xinyuan-LilyGO/T-0.99TFT) -

Product 📷:

-| Product | Product Link | -| :------------: | :------------: | -| [T-keyboard]() | [AliExpress]() | - -## Pinout -![](image/) diff --git a/example/coming_soon/coming_soon.ino b/example/coming_soon/coming_soon.ino new file mode 100644 index 0000000..e69de29 diff --git a/lib/T-0.99TFT/LICENSE b/lib/T-0.99TFT/LICENSE new file mode 100644 index 0000000..bef852e --- /dev/null +++ b/lib/T-0.99TFT/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Xinyuan-LilyGO + +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. diff --git a/lib/T-0.99TFT/README.md b/lib/T-0.99TFT/README.md new file mode 100644 index 0000000..cf54c76 --- /dev/null +++ b/lib/T-0.99TFT/README.md @@ -0,0 +1,40 @@ + +

🌟LILYGO T-0.99TFT🌟

+ + +## **[English](./README.MD) | [中文](./README_CN.MD)** + +

Quick start:

+ + +1. Install the current upstream Arduino IDE at the 1.8 level or later. The current version is at the [Arduino website](http://www.arduino.cc/en/main/software). +2. Start Arduino and open Preferences window. In additional board manager add url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json .separating them with commas. +3. Select Tools -> Board Management -> Search for ESP32 and install +4. Select Tools -> Board -> +5. Copy the folder in the 'lib' directory to '~Arduino/libraries' +6. Define pins and select display direction in TFT GC9D01N.h +#define LANDSCAPE 1 //Horizontal screen +//#define PORTRAIT 2 + +#define TFT_MISO -1 +#define TFT_MOSI 10 +#define TFT_SCLK 20 +#define TFT_CS -1 +#define TFT_DC 2 +#define TFT_RST -1 +#define TFT_BL 8 + + + +

Product 📷:

+ +| Product | Product Link | +| :-------: | :-----------------------------------------------------------------: | +| T-0.99TFT | [AliExpress](https://www.aliexpress.com/item/1005003954508518.html) | + +## Pinout + +![](image/T-0.99TFT_EN.jpg) + + + diff --git a/lib/T-0.99TFT/README_CN.MD b/lib/T-0.99TFT/README_CN.MD new file mode 100644 index 0000000..cd15134 --- /dev/null +++ b/lib/T-0.99TFT/README_CN.MD @@ -0,0 +1,33 @@ +

🌟LILYGO T-0.99TFT🌟

+ +## **[English](./README.MD) | [中文](./README_CN.MD)** + +

快速开始:

+ +1. 安装 Arduino IDE [Arduino website](http://www.arduino.cc/en/main/software). +2. 打开Arduino,打开“文件” ->“首选项”,附加开发板管理器的url添加: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json +3. 选择“工具” -> 开发板选择 -> +4. 复制'lib'下的文件到'~Arduino/libraries' +5. 在TFT_GC9D01N.h 中定义引脚和选择显示方向 +#define LANDSCAPE 1 //Horizontal screen +//#define PORTRAIT 2 + +#define TFT_MISO -1 +#define TFT_MOSI 10 +#define TFT_SCLK 20 +#define TFT_CS -1 +#define TFT_DC 2 +#define TFT_RST -1 +#define TFT_BL 8 + + +

Product 📷:

+ +| Product | Product Link | +| :-------: | :-------------------------------------------------------------------------------------------------------------------: | +| T-0.99TFT | [淘宝](https://item.taobao.com/item.htm?spm=a213gs.success.result.1.936e7a86vB6iht&id=668735936867&qq-pf-to=pcqq.c2c) | + +## Pinout + +![](image/T-0.99TFT_CN.jpg) + diff --git a/lib/T-0.99TFT/examples/Flow_Image/Flow_Image.ino b/lib/T-0.99TFT/examples/Flow_Image/Flow_Image.ino new file mode 100644 index 0000000..c614b85 --- /dev/null +++ b/lib/T-0.99TFT/examples/Flow_Image/Flow_Image.ino @@ -0,0 +1,26 @@ +#include +#include "img.h" +TFT_GC9D01N_Class TFT_099; + +void setup() +{ + // put your setup code here, to run once: + Serial.begin(115200); + + Serial.println("setup "); + TFT_099.begin(); + TFT_099.DispColor(0, 0, TFT_WIDTH, TFT_HEIGHT, BLACK); + delay(100); + +} +uint16_t i = 0; +void loop() +{ + for (int j = 0; j < 4; j++) { + TFT_099.DrawImage(0, (160 - (i + j * 55)), 40, 40, cupcake); + } + i++; + if (i == 55) { + i = 0; + } +} diff --git a/lib/T-0.99TFT/examples/Flow_Image/img.h b/lib/T-0.99TFT/examples/Flow_Image/img.h new file mode 100644 index 0000000..091a692 --- /dev/null +++ b/lib/T-0.99TFT/examples/Flow_Image/img.h @@ -0,0 +1,45 @@ +// +static uint16_t cupcake[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2041, 0x6904, 0x50c3, 0x0820, 0x1841, 0x2861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc1c8, 0xfa6b, 0x7925, 0x3882, 0x50a3, 0xd1e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc9e9, 0xf24a, 0x7105, 0x1841, 0x50a3, 0xfa6b, 0x2841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x1000, 0xfaac, 0xfa4a, 0xe209, 0xea2a, 0xfa8c, 0x1020, 0x3a49, 0x18e3, 0x7c30, 0xdf5d, 0x2124, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9514, 0xffff, 0x29a6, 0x0800, 0xb166, 0xd9e9, 0xd1c8, 0x3062, 0x29a6, 0xc679, 0x2104, 0xadb6, 0xffff, 0x2145, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4249, 0xceba, 0xefff, 0x5b2c, 0x21c7, 0x1965, 0x08c3, 0x0000, 0x73cf, 0x2965, 0x4a8a, 0xd73c, 0xb5f7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7c30, 0x31c7, 0x7c51, 0xdf7d, 0xe79e, 0xe7df, 0xdf7d, 0x7c51, 0x4a8a, 0x634d, 0x73ef, 0xc679, 0xe7be, 0x0841, 0x8492, 0x4228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7c10, 0xe7be, 0xc679, 0xbe79, 0xe7be, 0x31a6, 0x39e7, 0xb638, 0xc6ba, 0xcefb, 0xefdf, 0xefff, 0xefdf, 0xa596, 0x0000, 0xf7ff, 0xc6ba, 0x3a28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xdf5d, 0xdf5d, 0xdf5d, 0xdf7d, 0xc69a, 0x52cb, 0x5b0c, 0xe7be, 0xefdf, 0xbe38, 0x6b8e, 0x94f3, 0x39e7, 0x2145, 0xefff, 0xf7ff, 0x73ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a8a, 0xdf5d, 0xdf5d, 0xd71c, 0xcedb, 0xd71c, 0xadd7, 0x18c3, 0x9d34, 0x6bae, 0x0000, 0x2965, 0x18e3, 0x10a2, 0xb659, 0xbe9a, 0x52ec, 0x0000, 0xb2e4, 0x5142, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39e8, 0x6baf, 0x4acb, 0x2985, 0x20e3, 0x6bcf, 0x73ef, 0x10a2, 0x10a2, 0xcefb, 0xf7ff, 0xbe59, 0x39e7, 0x1020, 0x2020, 0x38c0, 0xa283, 0xcb45, 0xdb85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71c2, 0x6981, 0x5920, 0x6141, 0x71c2, 0x79c2, 0x1860, 0x8cb2, 0xadd7, 0xc6ba, 0xefff, 0xadb7, 0x2104, 0x5921, 0xb2c4, 0xd345, 0xd365, 0xcb25, 0xc325, 0xd345, 0x69a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2080, 0xdb85, 0xd345, 0xd345, 0xd345, 0xcb45, 0xd345, 0x6982, 0x1925, 0xadd7, 0xb5f7, 0x530c, 0x10c3, 0x5961, 0xcb25, 0xcb45, 0xc325, 0xc325, 0xc325, 0xc325, 0xcb25, 0xb2e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa284, 0xcb45, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc304, 0x5141, 0x0000, 0x0000, 0x2880, 0xa263, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xbb04, 0x2081, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbae4, 0xcb25, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xd345, 0xdb65, 0xdb65, 0xd365, 0xcb45, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0x61a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbae4, 0xcb25, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0x4941, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbb04, 0xcb45, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xcb45, 0x9a63, 0x0000, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6982, 0xbb04, 0xd345, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xcb45, 0xd365, 0xdb85, 0xd345, 0x1040, 0x01a7, 0x0104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0081, 0x0800, 0x71e3, 0xdb65, 0xc325, 0xc325, 0xc325, 0xc325, 0xc325, 0xcb45, 0xd365, 0xd365, 0xd345, 0xcb25, 0xc325, 0xc325, 0xd345, 0xa283, 0x2040, 0x1000, 0x0800, 0x01a7, 0x14f4, 0x00a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c51, 0x0cb3, 0x0000, 0x5141, 0xcb24, 0xcb45, 0xcb45, 0xcb25, 0xc304, 0x81c2, 0x2080, 0x1860, 0x6982, 0xbac4, 0xbb04, 0xc324, 0x8202, 0x0000, 0x02ab, 0x0d14, 0x1659, 0x169a, 0x0c92, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0104, 0x0228, 0x3986, 0x3208, 0x4921, 0xa263, 0x9a63, 0x79a1, 0x1881, 0x0146, 0x02ec, 0x030c, 0x01a7, 0x00a2, 0x30a1, 0x30c1, 0x0883, 0x0945, 0x1555, 0x15f8, 0x15f7, 0x0baf, 0x01c7, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c51, 0x2924, 0x5269, 0x0000, 0x0881, 0x0881, 0x01c7, 0x0bf0, 0x1555, 0x167a, 0x1639, 0x1618, 0x0c92, 0x0041, 0x52ab, 0xbe38, 0x08a2, 0x0c30, 0x1639, 0x030c, 0x2082, 0x5aeb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0bcf, 0x0c10, 0x0249, 0x0bcf, 0x0c92, 0x0c92, 0x0cd3, 0x0208, 0x00a2, 0x00c3, 0x1492, 0x15f8, 0x1618, 0x030c, 0x2924, 0x41c6, 0x0104, 0x15b6, 0x15f8, 0x0000, 0xd71c, 0xb5f7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00e3, 0x169a, 0x15d7, 0x15f7, 0x15f7, 0x1618, 0x03af, 0x5a69, 0xd6db, 0x94b2, 0x0020, 0x15d7, 0x15d7, 0x15b7, 0x0cf4, 0x038e, 0x1576, 0x15d7, 0x15f8, 0x0000, 0xad75, 0x7c10, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0c30, 0x1576, 0x1555, 0x15d7, 0x15f7, 0x03af, 0x3145, 0xc659, 0xf7ff, 0x0000, 0x0c10, 0x15f7, 0x15f7, 0x15d7, 0x15f8, 0x15f8, 0x15b7, 0x15f8, 0x0c51, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x1124, 0x0061, 0x0bcf, 0x1618, 0x1534, 0x0186, 0x2124, 0x41e7, 0x00e4, 0x1596, 0x15f7, 0x14d3, 0x028a, 0x0269, 0x0c92, 0x15d7, 0x15b7, 0x15f8, 0x1618, 0x0186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x73cf, 0x94d3, 0x0000, 0x1618, 0x15f7, 0x1555, 0x036d, 0x02eb, 0x14f4, 0x15f7, 0x1618, 0x0145, 0x4a08, 0x6b4d, 0x10c3, 0x0c51, 0x15f7, 0x15d7, 0x1555, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bef, 0xffff, 0x1000, 0x15f8, 0x15b7, 0x15d7, 0x167a, 0x1596, 0x1659, 0x15f8, 0x1618, 0x0104, 0x8430, 0xffff, 0x7bcf, 0x0269, 0x1618, 0x15d7, 0x1514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x31a6, 0x0000, 0x1659, 0x15d7, 0x1596, 0x01a6, 0x0000, 0x0000, 0x0bcf, 0x1679, 0x0bcf, 0x0000, 0x8c92, 0x6b2c, 0x026a, 0x1638, 0x1659, 0x0a6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1514, 0x15f7, 0x1639, 0x032d, 0x2104, 0xf7ff, 0xc638, 0x0040, 0x0c31, 0x169a, 0x0cf4, 0x0041, 0x0124, 0x14b3, 0x1596, 0x14b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c3, 0x0aeb, 0x0c10, 0x02cb, 0x08a2, 0x94f3, 0xa596, 0x39e7, 0x0228, 0x1492, 0x0c72, 0x1492, 0x0bcf, 0x0186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 + + +}; diff --git a/lib/T-0.99TFT/examples/TFT_Demo/TFT_Demo.ino b/lib/T-0.99TFT/examples/TFT_Demo/TFT_Demo.ino new file mode 100644 index 0000000..756c61b --- /dev/null +++ b/lib/T-0.99TFT/examples/TFT_Demo/TFT_Demo.ino @@ -0,0 +1,42 @@ +#include +#include "img.h" + +TFT_GC9D01N_Class TFT_099; +char *str = "ABCabc123"; + +void setup() +{ + // put your setup code here, to run once: + Serial.begin(115200); + + Serial.println("setup "); + TFT_099.begin(); + + TFT_099.DispColor(0, 0, TFT_WIDTH, TFT_HEIGHT, RED); + delay(500); + TFT_099.DispColor(0, 0, TFT_WIDTH, TFT_HEIGHT, BLUE); + delay(500); + TFT_099.DispColor(0, 0, TFT_WIDTH, TFT_HEIGHT, GREEN); + delay(500); + TFT_099.DispColor(0, 0, TFT_WIDTH, TFT_HEIGHT, BLACK); + delay(500); + TFT_099.DispStr(str, 0, 0, WHITE, BLACK); + delay(2000); + TFT_099.DrawImage(0, 0, 40, 40, closeX); + TFT_099.DrawImage(0, 40, 40, 40, closeX); + TFT_099.DrawImage(0, 40 * 2, 40, 40, closeX); + TFT_099.DrawImage(0, 40 * 3, 40, 40, closeX); + + delay(2000); +} +int i = 0; +void loop() +{ + for (int j = 0; j < 4; j++) { + TFT_099.DrawImage(0, (160 - (i + j * 55)), 30, 30, image_data_30); + } + i++; + if (i == 55) { + i = 0; + } +} \ No newline at end of file diff --git a/lib/T-0.99TFT/examples/TFT_Demo/img.h b/lib/T-0.99TFT/examples/TFT_Demo/img.h new file mode 100644 index 0000000..6d99c85 --- /dev/null +++ b/lib/T-0.99TFT/examples/TFT_Demo/img.h @@ -0,0 +1,43 @@ +//ͼRGB +uint16_t closeX[] ={ + 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffdf, 0xf7ff, 0xf7ff, 0xffff, 0xffdf, 0xffff, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffde, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xf7ff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0x9cf3, 0x9cd3, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xad34, 0x738e, 0xffff, 0xffff, 0xffff, 0x7b6d, 0xce18, 0xffff, 0x5b2c, 0xc658, 0xffff, 0xd69a, 0x632c, 0xc638, 0xffff, 0xffff, 0x6b4d, 0xbdf7, 0xffff, 0x8430, 0x31a6, 0x4208, 0xad55, 0xffff, 0xffff, 0xad75, 0x3186, 0x3186, 0xa514, 0xffff, 0x8c71, 0x9cf3, 0xa514, 0x8c51, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0x52aa, 0x0000, 0xffff, 0xffff, 0xffff, 0x0800, 0x838e, 0xffff, 0x0020, 0x740f, 0xffff, 0xffff, 0x18a3, 0x0000, 0xffff, 0x2965, 0x0000, 0xffff, 0x2965, 0x0000, 0x39e7, 0x2945, 0x0020, 0xffff, 0x9492, 0x0000, 0x8430, 0x94b2, 0x0000, 0x7bef, 0xa534, 0x8c51, 0x7bef, 0xa534, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0x5aeb, 0x0000, 0xffff, 0xffff, 0xffff, 0x0800, 0x8bef, 0xffff, 0x0000, 0x8c91, 0xffff, 0xffff, 0xffff, 0x0000, 0x0841, 0x0000, 0xffff, 0xc638, 0x0000, 0xa514, 0xffff, 0xffff, 0xf79e, 0xffff, 0x0000, 0x9492, 0xffff, 0xffff, 0xad55, 0x0000, 0xef7d, 0x7bef, 0x8c51, 0xc638, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0x5aeb, 0x0020, 0xffff, 0xffff, 0xffff, 0x0000, 0x83cf, 0xffff, 0x0000, 0x8450, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0xbdf7, 0xffdf, 0x8c71, 0x0000, 0xffff, 0x8410, 0x0020, 0x0000, 0xffdf, 0x0000, 0xc638, 0xffdf, 0xffff, 0xe71c, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0x62eb, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x8410, 0xffff, 0x0000, 0x9cd2, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0xe71c, 0xffff, 0xb5b6, 0x0000, 0x9cd3, 0xf7be, 0x8c71, 0x0000, 0xffff, 0x0000, 0x9492, 0xffff, 0xffff, 0xad75, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0x5a8a, 0x0000, 0x31a6, 0x18e3, 0xdefc, 0x0000, 0x73cf, 0xffff, 0x0000, 0x1062, 0x3145, 0x4208, 0xffff, 0xdedb, 0x0000, 0xdedb, 0xffff, 0xffff, 0x2104, 0x0000, 0x39c7, 0x39e7, 0x0000, 0xffdf, 0x8c51, 0x0000, 0x9492, 0x9cf3, 0x0000, 0x632c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffdf, 0xad35, 0x73ae, 0x6b8e, 0x632d, 0xe73d, 0x6b8e, 0xbe38, 0xffff, 0x6b2d, 0x83cf, 0x734d, 0x840f, 0xffff, 0xef7d, 0x5aeb, 0xef5d, 0xffff, 0xffff, 0xffff, 0x8c51, 0x39c7, 0x4a49, 0xa534, 0xffff, 0xffff, 0xa534, 0x2965, 0x2965, 0x94b2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffde, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xf7ff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x8c71, 0x39e7, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, + 0xfffe, 0xffff, 0xffdf, 0xffff, 0xf7ff, 0xffff, 0xeeda, 0xff1b, 0xffdd, 0xfffe, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xfffe, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0x94b2, 0x0000, 0x0000, 0xdedb, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffdf, 0xffff, 0xf7ff, 0xffff, 0xf6b9, 0xf616, 0xff9c, 0xff9c, 0xffde, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xe73c, 0x0000, 0x0000, 0x0000, 0x18c3, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffdf, 0xf7ff, 0xf7ff, 0xfffe, 0xfe98, 0xed94, 0xfed8, 0xf73a, 0xfffe, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4208, 0x0000, 0x7bcf, 0x8c71, 0xbdd7, 0x3186, 0x0000, 0x0000, 0x0000, 0x2124, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, + 0xffff, 0xffdf, 0xffff, 0xf7ff, 0xf7ff, 0xfffe, 0xff7c, 0xed53, 0xedb3, 0xffdc, 0xffde, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0x2124, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xfffe, 0xfffe, 0xffff, 0xffff, 0xfffe, 0xf75b, 0xde57, 0xffdd, 0xffde, 0xffff, 0xffff, 0xffdf, 0xffff, 0x83ef, 0x0020, 0x0020, 0x0000, 0x0000, 0x0001, 0x0000, 0x0020, 0x0020, 0x0000, 0x4167, 0xd659, 0xfffe, 0xfffe, 0xffff, 0xffff, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, + 0xffff, 0xf7df, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x736c, 0xb532, 0x7b6b, 0xfffe, 0xffff, 0xffff, 0xffff, 0xffdf, 0xfffe, 0xce15, 0x5ae8, 0xbdf5, 0xad34, 0x6b0d, 0x0000, 0x0040, 0x0020, 0x0000, 0xffff, 0xffff, 0xffde, 0xfffe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce7a, 0x2943, 0xce16, 0x5206, 0xfffe, 0xf7ff, 0xf7ff, 0xef7d, 0x944f, 0xb572, 0xde59, 0x0800, 0xdef7, 0xef3a, 0xeefb, 0x0000, 0x0000, 0x0020, 0x0040, 0xdf1d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, + 0xffbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffde, 0xbd32, 0xfffc, 0xfffe, 0xefff, 0xf7ff, 0xef5c, 0x9c4e, 0xde54, 0x8c75, 0x0000, 0xf756, 0xe6b5, 0xfffe, 0x2105, 0x0001, 0x0020, 0x0881, 0xffff, 0xffff, 0xf7bf, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xfffe, 0xd5d3, 0xffdb, 0xfffd, 0xf7ff, 0xf7ff, 0xfffe, 0xffdb, 0xf6f6, 0xceff, 0x0800, 0xfff8, 0xee73, 0xfffe, 0xce7b, 0x0001, 0x0000, 0x9c91, 0xffff, 0xffff, 0x8410, 0x9d14, 0x8c92, 0xf79d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xd593, 0xffbb, 0xfffd, 0xf7ff, 0xffff, 0xfffe, 0xfffc, 0xeeb6, 0xfffd, 0xffbb, 0xfeb6, 0xffdc, 0xffde, 0xffff, 0x2124, 0x0000, 0xffdf, 0xffff, 0xa514, 0xf77d, 0xfffe, 0xffff, 0x73ae, 0x9472, 0xdefb, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7ff, 0xffdf, 0xd593, 0xffbb, 0xffbd, 0xffff, 0xffff, 0xffff, 0xfffd, 0xffdc, 0xa3c7, 0xffda, 0xffde, 0xffdf, 0xffff, 0xfffd, 0xbdb4, 0xdeba, 0xffff, 0xffff, 0x8c71, 0xffff, 0xffff, 0x73cf, 0xbdf9, 0xffff, 0xbdf7, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xf7ff, 0xffff, 0xd5b4, 0xffbc, 0xffde, 0xf7df, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xff97, 0xe676, 0xef7d, 0xfffe, 0xff38, 0xee94, 0xfffc, 0xffff, 0xffff, 0xbdf6, 0xef5c, 0xce9b, 0xaddb, 0x5310, 0xf7ff, 0xffff, 0xd6ba, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xf7ff, 0xf7ff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffdf, 0xd5d5, 0xffbb, 0xffde, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffbe, 0xffff, 0xe7bd, 0xf799, 0xcd2b, 0xffb7, 0xfffc, 0xffff, 0xffff, 0x9c8f, 0xffdd, 0x5a8c, 0x8c98, 0xa5bd, 0xf7ff, 0xfffe, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xfffe, 0xffde, 0xffff, 0xffff, 0xffff, 0xde15, 0xff7a, 0xffdc, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xf7ff, 0xfffe, 0xfff8, 0xd50a, 0xff95, 0xffdc, 0xffff, 0xe75e, 0xd616, 0xc4f0, 0x93ad, 0x526c, 0xe77f, 0xf7ff, 0xe77b, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xffff, 0xf7ff, 0xffff, 0xe656, 0xf655, 0xff7b, 0xffbd, 0xffde, 0xffff, 0xffff, 0xf7ff, 0xf7ff, 0xffff, 0xff7b, 0xff17, 0xed8e, 0xfed3, 0xff9a, 0xffdf, 0x8cb6, 0xd659, 0xfe73, 0xe56d, 0xcd71, 0xef5d, 0xffff, 0x8c70, 0xffdf, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xffff, 0xf7ff, 0xffff, 0xff9c, 0xfeb8, 0xe5f5, 0xd5f6, 0x7b8c, 0x3a06, 0xa554, 0xf7ff, 0xfffc, 0xf635, 0xed93, 0xed94, 0xfdf3, 0xfdb0, 0xf5b1, 0xee39, 0x9495, 0x9c70, 0xedee, 0xe548, 0xfed2, 0xf7bd, 0xf7df, 0xb554, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffd, 0xfffe, 0xffde, 0x94b1, 0x18e2, 0x0000, 0x0000, 0xcc6e, 0xfdd3, 0xfdb3, 0xfd93, 0xfdd3, 0xfdb1, 0xfdb1, 0xfdb4, 0xe5f7, 0xf696, 0xcce8, 0xdd69, 0xc5d0, 0xbe38, 0x7c31, 0xfffd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xefff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xde18, 0xfdb4, 0xfd72, 0xfd91, 0xfdd2, 0xfd92, 0xfdb2, 0xfd90, 0xfd91, 0xfdb2, 0xfe73, 0xfff6, 0xc56d, 0xbdb2, 0x7bef, 0xc617, 0xffdc, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xf7ff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xfefb, 0xfd72, 0xfdd2, 0xfdd1, 0xfdb2, 0xfdb3, 0xfd93, 0xfdf2, 0xfdb0, 0xfdb1, 0xedb3, 0x83ac, 0xfffd, 0xd613, 0xffb9, 0xffdc, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffbf, 0xffff, 0xffff, 0xffde, 0xee98, 0xfd90, 0xf5d1, 0xf5f2, 0xfdb3, 0xfdb4, 0xfdb4, 0xf5d2, 0xfdd0, 0xfd91, 0xf618, 0x5b2f, 0x0020, 0xf672, 0xf54a, 0xfef6, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xe71c, 0xfd70, 0xfd91, 0xfdb2, 0xf5b3, 0xfdf3, 0xfd91, 0xfd91, 0xfd91, 0xfdb3, 0xfe37, 0xffdd, 0xad11, 0x49c0, 0xfe4d, 0xf4e3, 0xfea6, 0xffdf, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf550, 0xfdd3, 0xf5b3, 0xfdd3, 0xfdb2, 0xfdb2, 0xfdb2, 0xfdb2, 0xe572, 0xff9c, 0xffff, 0xfffe, 0xfffb, 0xe610, 0xe528, 0xf505, 0xf717, 0xfffc, 0xfffe, 0xffdf, 0xffff, 0xffff, 0xffff, 0xfffe, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbb, 0xe5f4, 0xedd4, 0xfe35, 0xfdf4, 0xfdf4, 0xf5f3, 0xe5d3, 0xff7b, 0xffff, 0xf7ff, 0xffff, 0xfffe, 0xfffc, 0xff36, 0xdd6e, 0xbd6a, 0xff55, 0xfffc, 0xffdf, 0xffdf, 0xffdf, 0xffff, 0xfffe, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xfffe, 0xe657, 0x72a8, 0x9bac, 0x82e9, 0xcd93, 0xfffd, 0xfffe, 0xffff, 0xffff, 0xf7ff, 0xffff, 0xffff, 0xfffe, 0xffdd, 0xe6d0, 0xfff7, 0xfffc, 0xffdf, 0xffdf, 0xffdf, 0xffff, 0xfffe, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd699, 0x0800, 0x0800, 0x0000, 0xa4f2, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfffd, 0xfffe, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xce9a, 0x0000, 0x10a2, 0x0841, 0x7bf0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7ff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xf7ff, 0xf7ff, 0xf7fe, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffdf, 0xffdf, 0xffdf, 0xffbf, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffdf, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe +}; diff --git a/lib/T-0.99TFT/image/T-0.99TFT_CN.jpg b/lib/T-0.99TFT/image/T-0.99TFT_CN.jpg new file mode 100644 index 0000000..a2b3f86 Binary files /dev/null and b/lib/T-0.99TFT/image/T-0.99TFT_CN.jpg differ diff --git a/lib/T-0.99TFT/image/T-0.99TFT_EN.jpg b/lib/T-0.99TFT/image/T-0.99TFT_EN.jpg new file mode 100644 index 0000000..0f903eb Binary files /dev/null and b/lib/T-0.99TFT/image/T-0.99TFT_EN.jpg differ diff --git a/lib/T-0.99TFT/keywords.txt b/lib/T-0.99TFT/keywords.txt new file mode 100644 index 0000000..9a7e451 --- /dev/null +++ b/lib/T-0.99TFT/keywords.txt @@ -0,0 +1,11 @@ +####################################### +#T-0.99TFT +####################################### +# Class +####################################### + +TFT_GC9D01N_Class KEYWORD1 + +####################################### +# Methods and Functions +####################################### \ No newline at end of file diff --git a/lib/T-0.99TFT/library.properties b/lib/T-0.99TFT/library.properties new file mode 100644 index 0000000..646a972 --- /dev/null +++ b/lib/T-0.99TFT/library.properties @@ -0,0 +1,9 @@ +name=T-0.99TFT_Library +version=1.0.0 +author=LILYGO +maintainer= +sentence=Arduino library for 0.99 TFT +paragraph=Arduino library for 0.99 TFT. Tested with ESP32 +category=Communication +url=https://github.com/Xinyuan-LilyGO/T-0.99TFT +architectures=esp32 diff --git a/lib/T-0.99TFT/src/Fonts.h b/lib/T-0.99TFT/src/Fonts.h new file mode 100644 index 0000000..17b622f --- /dev/null +++ b/lib/T-0.99TFT/src/Fonts.h @@ -0,0 +1,298 @@ +#pragma once +#ifdef CHAR_FONT_W8_H16 +//ascii 32~90(!~Z), (32~47)�ո�~/,(48~57)0~9,(58~64):~@,(65~126)A~~ +//ord 0~95, (48~57)0~9,(65~126)A~z,(33~47)!~/,(58~64):~@ +unsigned char ascii[] = { +//����12,����Ϊ����x��=8x16 +//0(ord:0) + 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, + +//(ord:1)~1 + 0x00, 0x00, 0x00, 0x10, 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + +//(ord:2)~2 + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x04, 0x04, 0x08, 0x10, 0x20, 0x42, 0x7E, 0x00, 0x00, + +//(ord:3)~3 + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x04, 0x18, 0x04, 0x02, 0x02, 0x42, 0x44, 0x38, 0x00, 0x00, + +//(ord:4)~4 + 0x00, 0x00, 0x00, 0x04, 0x0C, 0x14, 0x24, 0x24, 0x44, 0x44, 0x7E, 0x04, 0x04, 0x1E, 0x00, 0x00, + +//(ord:5)~5 + 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x58, 0x64, 0x02, 0x02, 0x42, 0x44, 0x38, 0x00, 0x00, + +//(ord:0)~6 + 0x00, 0x00, 0x00, 0x1C, 0x24, 0x40, 0x40, 0x58, 0x64, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, + +//(ord:0)~7 + 0x00, 0x00, 0x00, 0x7E, 0x44, 0x44, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, + +//(ord:0)~8 + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x24, 0x18, 0x24, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + +//(ord:0)~9 + 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x26, 0x1A, 0x02, 0x02, 0x24, 0x38, 0x00, 0x00, + +// A~Z,����12; �������¶�Ӧ�ĵ���Ϊ����x��=8x16 +//(ord:10)~A + 0x00, 0x00, 0x00, 0x10, 0x10, 0x18, 0x28, 0x28, 0x24, 0x3C, 0x44, 0x42, 0x42, 0xE7, 0x00, 0x00, + +//(ord:11)~B + 0x00, 0x00, 0x00, 0xF8, 0x44, 0x44, 0x44, 0x78, 0x44, 0x42, 0x42, 0x42, 0x44, 0xF8, 0x00, 0x00, + +//(ord:12)~C + 0x00, 0x00, 0x00, 0x3E, 0x42, 0x42, 0x80, 0x80, 0x80, 0x80, 0x80, 0x42, 0x44, 0x38, 0x00, 0x00, + +//(ord:13)~D + 0x00, 0x00, 0x00, 0xF8, 0x44, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x44, 0xF8, 0x00, 0x00, + +//(ord:14)~E + 0x00, 0x00, 0x00, 0xFC, 0x42, 0x48, 0x48, 0x78, 0x48, 0x48, 0x40, 0x42, 0x42, 0xFC, 0x00, 0x00, + +//(ord:15)~F + 0x00, 0x00, 0x00, 0xFC, 0x42, 0x48, 0x48, 0x78, 0x48, 0x48, 0x40, 0x40, 0x40, 0xE0, 0x00, 0x00, + +//(ord:16)~G + 0x00, 0x00, 0x00, 0x3C, 0x44, 0x44, 0x80, 0x80, 0x80, 0x8E, 0x84, 0x44, 0x44, 0x38, 0x00, 0x00, + +//(ord:17)~H + 0x00, 0x00, 0x00, 0xE7, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x42, 0xE7, 0x00, 0x00, + +//(ord:18)~I + 0x00, 0x00, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + +//(ord:19)~J + 0x00, 0x00, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x88, 0xF0, + +//(ord:20)~K + 0x00, 0x00, 0x00, 0xEE, 0x44, 0x48, 0x50, 0x70, 0x50, 0x48, 0x48, 0x44, 0x44, 0xEE, 0x00, 0x00, + +//(ord:21)~L + 0x00, 0x00, 0x00, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42, 0xFE, 0x00, 0x00, + +//(ord:22)~M + 0x00, 0x00, 0x00, 0xEE, 0x6C, 0x6C, 0x6C, 0x6C, 0x54, 0x54, 0x54, 0x54, 0x54, 0xD6, 0x00, 0x00, + +//(ord:23)~N + 0x00, 0x00, 0x00, 0xC7, 0x62, 0x62, 0x52, 0x52, 0x4A, 0x4A, 0x4A, 0x46, 0x46, 0xE2, 0x00, 0x00, + +//(ord:24)~O + 0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38, 0x00, 0x00, + +//(ord:25)~P + 0x00, 0x00, 0x00, 0xFC, 0x42, 0x42, 0x42, 0x42, 0x7C, 0x40, 0x40, 0x40, 0x40, 0xE0, 0x00, 0x00, + +//(ord:26)~Q + 0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0xB2, 0xCA, 0x4C, 0x38, 0x06, 0x00, + +//(ord:27)~R + 0x00, 0x00, 0x00, 0xFC, 0x42, 0x42, 0x42, 0x7C, 0x48, 0x48, 0x44, 0x44, 0x42, 0xE3, 0x00, 0x00, + +//(ord:28)~S + 0x00, 0x00, 0x00, 0x3E, 0x42, 0x42, 0x40, 0x20, 0x18, 0x04, 0x02, 0x42, 0x42, 0x7C, 0x00, 0x00, + +//(ord:29)~T + 0x00, 0x00, 0x00, 0xFE, 0x92, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, + +//(ord:30)~U + 0x00, 0x00, 0x00, 0xE7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + +//(ord:31)~V + 0x00, 0x00, 0x00, 0xE7, 0x42, 0x42, 0x44, 0x24, 0x24, 0x28, 0x28, 0x18, 0x10, 0x10, 0x00, 0x00, + +//(ord:32)~W + 0x00, 0x00, 0x00, 0xD6, 0x92, 0x92, 0x92, 0x92, 0xAA, 0xAA, 0x6C, 0x44, 0x44, 0x44, 0x00, 0x00, + +//(ord:33)~X + 0x00, 0x00, 0x00, 0xE7, 0x42, 0x24, 0x24, 0x18, 0x18, 0x18, 0x24, 0x24, 0x42, 0xE7, 0x00, 0x00, + +//(ord:34)~Y + 0x00, 0x00, 0x00, 0xEE, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, + +//(ord:35)~Z + 0x00, 0x00, 0x00, 0x7E, 0x84, 0x04, 0x08, 0x08, 0x10, 0x20, 0x20, 0x42, 0x42, 0xFC, 0x00, 0x00, + +//(ord:36)~ [ + 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1E, 0x00, + +//(ord:37)~ '\' + 0x00, 0x00, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, + +//(ord:38)~ ] + 0x00, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x78, 0x00, + +//(ord:39)~ ^ + 0x00, 0x1C, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +//(ord:40)~ _ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + +//(ord:41)~ ` + 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +//(ord:42)~ a + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x1E, 0x22, 0x42, 0x42, 0x3F, 0x00, 0x00, + +//(ord:43)~ b + 0x00, 0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x58, 0x64, 0x42, 0x42, 0x42, 0x64, 0x58, 0x00, 0x00, + +//(ord:44)~ c + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x40, 0x40, 0x40, 0x22, 0x1C, 0x00, 0x00, + +//(ord:45)~ d + 0x00, 0x00, 0x00, 0x06, 0x02, 0x02, 0x02, 0x1E, 0x22, 0x42, 0x42, 0x42, 0x26, 0x1B, 0x00, 0x00, + +//(ord:46)~ e + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, + +//(ord:47)~ f + 0x00, 0x00, 0x00, 0x0F, 0x11, 0x10, 0x10, 0x7E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + +//(ord:48)~ g + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x44, 0x44, 0x38, 0x40, 0x3C, 0x42, 0x42, 0x3C, + +//(ord:49)~ h + 0x00, 0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0xE7, 0x00, 0x00, + +//(ord:50)~ i + 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + +//(ord:51)~ j + 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x1C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x44, 0x78, + +//(ord:52)~ k + 0x00, 0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x4E, 0x48, 0x50, 0x68, 0x48, 0x44, 0xEE, 0x00, 0x00, + +//(ord:53)~ l + 0x00, 0x00, 0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + +//(ord:54)~ m + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x49, 0x49, 0x49, 0x49, 0x49, 0xED, 0x00, 0x00, + +//(ord:55)~ n + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x62, 0x42, 0x42, 0x42, 0x42, 0xE7, 0x00, 0x00, + +//(ord:56)~ o + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + +//(ord:57)~ p + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x64, 0x42, 0x42, 0x42, 0x44, 0x78, 0x40, 0xE0, + +//(ord:58)~ q + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x22, 0x42, 0x42, 0x42, 0x22, 0x1E, 0x02, 0x07, + +//(ord:59)~ r + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x32, 0x20, 0x20, 0x20, 0x20, 0xF8, 0x00, 0x00, + +//(ord:60)~ s + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x42, 0x40, 0x3C, 0x02, 0x42, 0x7C, 0x00, 0x00, + +//(ord:61)~ t + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x00, 0x00, + +//(ord:62)~ u + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x42, 0x42, 0x42, 0x42, 0x46, 0x3B, 0x00, 0x00, + +//(ord:63)~ v + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x42, 0x24, 0x24, 0x28, 0x10, 0x10, 0x00, 0x00, + +//(ord:64)~ w + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x92, 0x92, 0xAA, 0xAA, 0x44, 0x44, 0x00, 0x00, + +//(ord:65)~ x + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x24, 0x18, 0x18, 0x18, 0x24, 0x76, 0x00, 0x00, + +//(ord:66)~ y + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x42, 0x24, 0x24, 0x28, 0x18, 0x10, 0x10, 0xE0, + +//(ord:67)~ z + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x44, 0x08, 0x10, 0x10, 0x22, 0x7E, 0x00, 0x00, + +//(ord:68)~ { + 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, + +//(ord:69)~ | + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + +//(ord:70)~ } + 0x00, 0x60, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x60, 0x00, + +//(ord:71)~ ~ + 0x30, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + +//(ord:72)~ �ո� + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +//(ord:73)~ ! + 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, + +//(ord:74)~ " + 0x00, 0x12, 0x36, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +//(ord:75)~ # + 0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0xFE, 0x48, 0x48, 0x48, 0xFE, 0x48, 0x48, 0x48, 0x00, 0x00, + +//(ord:76)~ $ + 0x00, 0x00, 0x10, 0x38, 0x54, 0x54, 0x50, 0x30, 0x18, 0x14, 0x14, 0x54, 0x54, 0x38, 0x10, 0x10, + +//(ord:77)~ % + 0x00, 0x00, 0x00, 0x44, 0xA4, 0xA8, 0xA8, 0xA8, 0x54, 0x1A, 0x2A, 0x2A, 0x2A, 0x44, 0x00, 0x00, + +//(ord:78)~ & + 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x48, 0x50, 0x6E, 0xA4, 0x94, 0x88, 0x89, 0x76, 0x00, 0x00, + +//(ord:79)~ ' + 0x00, 0x60, 0x60, 0x20, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +//(ord:80)~ ( + 0x00, 0x02, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x02, 0x00, + +//(ord:81)~ ) + 0x00, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, + +//(ord:82)~ * + 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xD6, 0x38, 0x38, 0xD6, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + +//(ord:83)~ + + 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, + +//(ord:84)~ , + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x20, 0xC0, + +//(ord:85)~ - + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +//(ord:86)~ . + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + +//(ord:87)~ / + 0x00, 0x00, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x00, + +//(ord:88)~ : + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, + +//(ord:89)~ ; + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, + +//(ord:90)~ < + 0x00, 0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, + +//(ord:91)~ = + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + +//(ord:92)~ > + 0x00, 0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, + +//(ord:93)~ ? + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x62, 0x02, 0x04, 0x08, 0x08, 0x00, 0x18, 0x18, 0x00, 0x00, + +//(ord:94)~ @ + 0x00, 0x00, 0x00, 0x38, 0x44, 0x5A, 0xAA, 0xAA, 0xAA, 0xAA, 0xB4, 0x42, 0x44, 0x38, 0x00, 0x00, + +//(ord:95)~ 0xff + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + +}; +#endif diff --git a/lib/T-0.99TFT/src/TFT_GC9D01N.cpp b/lib/T-0.99TFT/src/TFT_GC9D01N.cpp new file mode 100644 index 0000000..45a31d9 --- /dev/null +++ b/lib/T-0.99TFT/src/TFT_GC9D01N.cpp @@ -0,0 +1,782 @@ + +#include "TFT_GC9D01N.h" +#include "Fonts.h" + +void TFT_GC9D01N_Class::begin_tft_write() +{ + SPI.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0)); // RP2040 SDK -> 68us delay! + CS_L; + // SET_BUS_WRITE_MODE; +} + +void TFT_GC9D01N_Class::end_tft_write() +{ + // SPI_BUSY_CHECK; // Check send complete and clean out unused rx data + CS_H; + SPI.endTransaction(); // RP2040 SDK -> 0.7us delay +} + +void TFT_GC9D01N_Class::writedata(uint8_t d) +{ + begin_tft_write(); + + DC_D; // Play safe, but should already be in data mode 高电平1为数据 + + SPI.transfer(d); + + CS_L; // Allow more hold time for low VDI rail + + end_tft_write(); +} + +void TFT_GC9D01N_Class::writecommand(uint8_t c) +{ + begin_tft_write(); + + DC_C; + + SPI.transfer(c); + + DC_D; + + end_tft_write(); + +} + +void TFT_GC9D01N_Class::lcd_init() +{ + + RST_H; + delay(80); + + RST_L; + delay(80); + + RST_H; + delay(480); + + + writecommand(0xFE); + writecommand(0xEF); + + writecommand(0x80); + writedata(0xFF); + + writecommand(0x81); + writedata(0xFF); + + writecommand(0x82); + writedata(0xFF); + + writecommand(0x83); + writedata(0xFF); + + writecommand(0x84); + writedata(0xFF); + + writecommand(0x85); + writedata(0xFF); + + writecommand(0x86); + writedata(0xFF); + + writecommand(0x87); + writedata(0xFF); + + writecommand(0x88); + writedata(0xFF); + + writecommand(0x89); + writedata(0xFF); + + writecommand(0x8A); + writedata(0xFF); + + writecommand(0x8B); + writedata(0xFF); + + writecommand(0x8C); + writedata(0xFF); + + writecommand(0x8D); + writedata(0xFF); + + writecommand(0x8E); + writedata(0xFF); + + writecommand(0x8F); + writedata(0xFF); + + writecommand(0x3A); + writedata(0x05); + + writecommand(0xEC); + writedata(0x11); + + + writecommand(0x7E); + writedata(0x7a); + + + writecommand(0x74); + writedata(0x02); + writedata(0x0E); + writedata(0x00); + writedata(0x00); + writedata(0x28); + writedata(0x00); + writedata(0x00); + + writecommand(0x98); + writedata(0x3E); + writecommand(0x99); + writedata(0x3E); + + + + + writecommand(0xB5); + writedata(0x0E); + writedata(0x0E); + writecommand(0x60); + writedata(0x38); + writedata(0x09); + writedata(0x6D); + writedata(0x67); + + + writecommand(0x63); + writedata(0x38); + writedata(0xAD); + writedata(0x6D); + writedata(0x67); + writedata(0x05); + + + writecommand(0x64); + writedata(0x38); + writedata(0x0B); + writedata(0x70); + writedata(0xAB); + writedata(0x6D); + writedata(0x67); + + + writecommand(0x66); + writedata(0x38); + writedata(0x0F); + writedata(0x70); + writedata(0xAF); + writedata(0x6d); + writedata(0x67); + + writecommand(0x6A); + writedata(0x00); + writedata(0x00); + + writecommand(0x68); + writedata(0x3B); + writedata(0x08); + writedata(0x04); + writedata(0x00); + writedata(0x04); + writedata(0x64); + writedata(0x67); + + + + writecommand(0x6C); + writedata(0x22); + writedata(0x02); + writedata(0x22); + writedata(0x02); + writedata(0x22); + writedata(0x22); + writedata(0x50); + + writecommand(0x6E); + writedata(0x00); + writedata(0x00); + writedata(0x00); + writedata(0x00); + writedata(0x07); + writedata(0x01); + writedata(0x13); + writedata(0x11); + + writedata(0x0B); + writedata(0x09); + writedata(0x16); + writedata(0x15); + writedata(0x1D); + writedata(0x1E); + writedata(0x00); + writedata(0x00); + + writedata(0x00); + writedata(0x00); + writedata(0x1E); + + writedata(0x1D); + writedata(0x15); + writedata(0x16); + writedata(0x0A); + writedata(0x0C); + + writedata(0x12); + writedata(0x14); + writedata(0x02); + writedata(0x08); + writedata(0x00); + writedata(0x00); + writedata(0x00); + writedata(0x00); + + + writecommand(0xA9); + writedata(0x1B); + + writecommand(0xA8); + writedata(0x6B); + + writecommand(0xA8); + writedata(0x6D); + + writecommand(0xA7); + writedata(0x40); + + writecommand(0xAD); + writedata(0x47); + + + writecommand(0xAF); + writedata(0x73); + + writecommand(0xAF); + writedata(0x73); + + writecommand(0xAC); + writedata(0x44); + + writecommand(0xA3); + writedata(0x6C); + + writecommand(0xCB); + writedata(0x00); + + writecommand(0xCD); + writedata(0x22); + + + writecommand(0xC2); + writedata(0x10); + + writecommand(0xC5); + writedata(0x00); + + writecommand(0xC6); + writedata(0x0E); + + writecommand(0xC7); + writedata(0x1f); + + writecommand(0xC8); + writedata(0x0E); + + writecommand(0xbf); + writedata(0x00); + + writecommand(0xF9); + writedata(0x20); + + writecommand(0x9b); + writedata(0x3b); + writecommand(0x93); + writedata(0x33); + writedata(0x7f); + writedata(0x00); + + writecommand(0x70); + writedata(0x0E); + writedata(0x0f); + writedata(0x03); + writedata(0x0e); + writedata(0x0f); + writedata(0x03); + + writecommand(0x71); + writedata(0x0e); + writedata(0x16); + writedata(0x03); + + writecommand(0x91); + writedata(0x0e); + writedata(0x09); + + + + writecommand(0xc3); + writedata(0x2c); + writecommand(0xc4); + writedata(0x1a); + + + + + writecommand(0xf0); + writedata(0x51); + writedata(0x13); + writedata(0x0c); + writedata(0x06); + writedata(0x00); + writedata(0x2f); + + writecommand(0xf2); + writedata(0x51); + writedata(0x13); + writedata(0x0c); + writedata(0x06); + writedata(0x00); + writedata(0x33); + + writecommand(0xf1); + writedata(0x3c); + writedata(0x94); + writedata(0x4f); + writedata(0x33); + writedata(0x34); + writedata(0xCf); + + writecommand(0xf3); + writedata(0x4d); + writedata(0x94); + writedata(0x4f); + writedata(0x33); + writedata(0x34); + writedata(0xCf); + + +#define TFT_MAD_MY 0x80 +#define TFT_MAD_MX 0x40 +#define TFT_MAD_MV 0x20 +#define TFT_MAD_ML 0x10 + + writecommand(0x36); + +//#if LANDSCAPE +//writedata(0x00 | TFT_MAD_MX | TFT_MAD_MY); + +#if (LANDSCAPE==2)||(PORTRAIT==2) + writedata(0x00); +#else + writedata(0x00 | TFT_MAD_MX | TFT_MAD_MY); +#endif + writecommand(0x11); + delay(200); + writecommand(0x29); + writecommand(0x2C); + + +} + +//init lcd +int TFT_GC9D01N_Class::begin() +{ + + pinMode(TFT_BL, OUTPUT); + pinMode(TFT_SCLK, OUTPUT); + pinMode(TFT_MISO, OUTPUT); + pinMode(TFT_MOSI, OUTPUT); + pinMode(TFT_DC, OUTPUT); + + pinMode(TFT_CS, OUTPUT); + pinMode(TFT_RST, OUTPUT); + + digitalWrite(TFT_BL, LOW); //开启背光 + delay(100); + SPI.begin(TFT_SCLK, TFT_MISO, TFT_MOSI, TFT_CS); + + lcd_init(); + + return 1; + +} + +void TFT_GC9D01N_Class::backlight(uint8_t state) +{ + digitalWrite(TFT_BL, state); +} + +/** + * @brief Select the block area to write to 选择写的块区域 + * @note + * @param Xstart: + * @param Xend: + * @param Ystart: + * @param Yend: + * @retval None + */ +void TFT_GC9D01N_Class::BlockWrite(unsigned int Xstart, unsigned int Xend, unsigned int Ystart, unsigned int Yend) +{ + + writecommand(0x2A); + writedata(Xstart >> 8); + writedata(Xstart); + writedata(Xend >> 8); + writedata(Xend); + + writecommand(0x2B); + writedata(Ystart >> 8); + writedata(Ystart); + writedata(Yend >> 8); + writedata(Yend); + + writecommand(0x2c); + +} + +/** + * @brief Drawing function + * @note + * @param Xstart: starting x-coordinate x坐标开始 + * @param Ystart: starting y-coordinate y坐标结束 + * @param w: The width of the image + * @param h: The height of the image + * @param color: + * @retval None + */ +void TFT_GC9D01N_Class::DrawImage(unsigned int Xstart, unsigned int Ystart, unsigned int w, unsigned int h, uint16_t *color) +{ + unsigned int i, j; + unsigned int Xend = Xstart + w; + unsigned int Yend = Ystart + h; + + BlockWrite(Xstart, Xend - 1, Ystart, Yend /*- 1*/); + uint32_t len = w * h; + + +#if LANDSCAPE + + SPI.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0)); + CS_L; + DC_D; + for (int i = 0; i <= h; i++) { + for (int j = w - 1 ; j >= 0 ; j--) { + SPI.transfer16(*(color + ((j * (Yend - Ystart)) + (i)))); + } + } + CS_H; + SPI.endTransaction(); + +#else + + SPI.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0)); + CS_L; + DC_D; + for (int i = 0; i <= h; i++) { + for (int j = w - 1 ; j >= 0 ; j--) { + SPI.transfer16(*color); + color++; + } + } + CS_H; + SPI.endTransaction(); + +#endif + +} + + +void TFT_GC9D01N_Class::DispColor(unsigned int Xstart, unsigned int Ystart, unsigned int Xend, unsigned int Yend, unsigned int color) +{ + + + unsigned int i, j; + uint32_t len = TFT_HEIGHT * TFT_WIDTH; + BlockWrite(Xstart, Xend - 1, Ystart, Yend - 1); + + SPI.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0)); + CS_L; + DC_D; + for (i = 0; i <= TFT_HEIGHT; i++) { + for (j = 0; j < TFT_WIDTH; j++) { + SPI.transfer16(color); + } + } + CS_H; + SPI.endTransaction(); + +} + +void TFT_GC9D01N_Class::WriteOneDot(unsigned int color) +{ + + + CS_L; + DC_D; + + writedata(color >> 8); + writedata(color); + + CS_H; + +} + +unsigned char ToOrd( char ch) +{ + if (ch < 32) { + ch = 95; + } else if ((ch >= 32) && (ch <= 47)) { + ch = (ch - 32) + 10 + 62; + } else if ((ch >= 48) && (ch <= 57)) { + ch = ch - 48; + } else if ((ch >= 58) && (ch <= 64)) { + ch = (ch - 58) + 10 + 62 + 16; + } else if ((ch >= 65) && (ch <= 126)) { + ch = (ch - 65) + 10; + } else if (ch > 126) { + ch = 95; + } + + return ch; +} + +void hz816_s90(const unsigned char *p_ucHz, unsigned char *p_ucResult) //A conversion function that rotates an 8x16 character font 90 degrees clockwise 把8x16字符字模顺时针旋转90度的转换函数 +{ + + unsigned char a; + + unsigned char b; + + unsigned char c; + + unsigned char uiBuffer[16]; + for (a = 0; a < 16; a++) + + { + uiBuffer[a] = p_ucHz[a]; + } + + c = 0; + + for (a = 0; a < 8; a++) + + { + + for (b = 0; b < 8; b++) + + { + + p_ucResult[c] = p_ucResult[c] << 1; + + p_ucResult[c] = p_ucResult[c] & 0xfe; + + if (uiBuffer[15 - b] >= 0x80) + + { + + p_ucResult[c] = p_ucResult[c] + 1; + + } + + uiBuffer[15 - b] = uiBuffer[15 - b] << 1; + + + } + + c++; + + for (b = 0; b < 8; b++) + + { + + p_ucResult[c] = p_ucResult[c] << 1; + + p_ucResult[c] = p_ucResult[c] & 0xfe; + + if (uiBuffer[7 - b] >= 0x80) + + { + + p_ucResult[c] = p_ucResult[c] + 1; + + } + + uiBuffer[7 - b] = uiBuffer[7 - b] << 1; + + } + + c++; + + } + +} + +void hz816_s270(const unsigned char *p_ucHz, unsigned char *p_ucResult) +{ + + unsigned char a; + + unsigned char b; + + unsigned char c; + + unsigned char uiBuffer[16]; + + + for (a = 0; a < 16; a++) + + { + + uiBuffer[a] = p_ucHz[a]; + + } + + c = 0; + + for (a = 0; a < 8; a++) + + { + + for (b = 0; b < 8; b++) + + { + + p_ucResult[c] = p_ucResult[c] << 1; + + + if ((uiBuffer[b] & 0x01) >= 0x01) + + { + + p_ucResult[c] = p_ucResult[c] + 1; + + } + + uiBuffer[b] = uiBuffer[b] >> 1; + + + } + + c++; + + for (b = 0; b < 8; b++) + + { + + p_ucResult[c] = p_ucResult[c] << 1; + + if ((uiBuffer[8 + b] & 0x01) >= 0x01) + + { + + p_ucResult[c] = p_ucResult[c] + 1; + + } + + uiBuffer[8 + b] = uiBuffer[8 + b] >> 1; + + } + + c++; + + } + +} + +void TFT_GC9D01N_Class::DispOneChar( char ord, unsigned int Xstart, unsigned int Ystart, unsigned int TextColor, unsigned int BackColor) // ord:0~95 +{ + unsigned char hou[16] = {0}; + unsigned char i, j; + unsigned char *p; + unsigned char dat; + unsigned int index; + + + index = ord; + + if (index > 95) + index = 95; + + index = index * ((FONT_W / 8) * FONT_H); + + p = ascii; + p = p + index ; + + +#if LANDSCAPE + + int y = Ystart; + y = y - 23; + Ystart = abs(y); + + + BlockWrite(Ystart, Ystart + (FONT_H - 1), Xstart, Xstart + (FONT_W - 1)); + + hz816_s90(p, hou); + + for (i = 0; i < (FONT_W / 8 * FONT_H); i++) { + dat = hou[i]; + for (j = 0; j < 8; j++) { + if ((dat << j) & 0x80) { + WriteOneDot(TextColor); + } else { + WriteOneDot(BackColor); + } + } + } +#else + BlockWrite(Xstart, Xstart + (FONT_W - 1), Ystart, Ystart + (FONT_H - 1)); + + + for (i = 0; i < (FONT_W / 8 * FONT_H); i++) { + dat = *p++; + for (j = 0; j < 8; j++) { + if ((dat << j) & 0x80) { + WriteOneDot(TextColor); + } else { + WriteOneDot(BackColor); + } + } + } + +#endif +} + +void TFT_GC9D01N_Class::DispStr( char *str, unsigned int Xstart, unsigned int Ystart, unsigned int TextColor, unsigned int BackColor) +{ + + while (!(*str == '\0')) { + DispOneChar(ToOrd(*str++), Xstart, Ystart, TextColor, BackColor); + +#if LANDSCAPE + if (Xstart > ((TFT_HEIGHT - 1) - FONT_W)) { + //Xstart = 0; + //Ystart = Ystart - FONT_H; + } else { + Xstart = Xstart + FONT_W; + } + + if (Ystart > ((TFT_WIDTH - 1) - FONT_H)) { + Ystart = 23; + } +#else + + + if (Xstart > ((TFT_WIDTH - 1) - FONT_W)) { + Xstart = 0; + Ystart = Ystart + FONT_H; + } else { + Xstart = Xstart + FONT_W; + } + + if (Ystart > ((TFT_HEIGHT - 1) - FONT_H)) { + Ystart = 0; + } + +#endif + + + } + BlockWrite(0, TFT_WIDTH - 1, 0, TFT_HEIGHT - 1); +} diff --git a/lib/T-0.99TFT/src/TFT_GC9D01N.h b/lib/T-0.99TFT/src/TFT_GC9D01N.h new file mode 100644 index 0000000..ace1449 --- /dev/null +++ b/lib/T-0.99TFT/src/TFT_GC9D01N.h @@ -0,0 +1,88 @@ + +#pragma once + +#include +#include +#include +#include + +#define TFT_WIDTH 40 +#define TFT_HEIGHT 160 +#define CHAR_FONT_W8_H16 //typeface + +#define LANDSCAPE 1 //Horizontal screen +//#define PORTRAIT 2 + +#define TFT_MISO -1 +#define TFT_MOSI 10//21 +#define TFT_SCLK 20//22 +#define TFT_CS -1//18 // Chip select control pin +#define TFT_DC 2 // Data Command control pin +#define TFT_RST -1//27 +#define TFT_BL 8//4 + +/* +#define TFT_MISO -1 +#define TFT_MOSI 21 +#define TFT_SCLK 22 +#define TFT_CS 18 // Chip select control pin +#define TFT_DC 2 // Data Command control pin +#define TFT_RST 27 +#define TFT_BL 23//4 +*/ +//RGB565 +#define RED 0xF800 +#define GREEN 0x07E0 +#define BLUE 0x001F +#define WHITE 0xFFFF +#define BLACK 0x0000 +#define GRAY 0xEF5D +#define GRAY75 0x39E7 +#define GRAY50 0x7BEF +#define GRAY25 0xADB5 + +#ifdef CHAR_FONT_W8_H16 +#define FONT_W 8 +#define FONT_H 16 +#endif + + +#define SPI_FREQUENCY 40000000 +#define DC_C digitalWrite(TFT_DC, LOW) +#define DC_D digitalWrite(TFT_DC, HIGH) +#if (TFT_CS==-1) +#define CS_L ;//digitalWrite(TFT_CS, LOW) +#define CS_H ;//digitalWrite(TFT_CS, HIGH) +#else +#define CS_L digitalWrite(TFT_CS, LOW) +#define CS_H digitalWrite(TFT_CS, HIGH) +#endif + +#if (TFT_RST==-1) +#define RST_L ;//digitalWrite(TFT_RST, LOW) +#define RST_H ;//digitalWrite(TFT_RST, HIGH) +#else +#define RST_L digitalWrite(TFT_RST, LOW) +#define RST_H digitalWrite(TFT_RST, HIGH) +#endif + + +class TFT_GC9D01N_Class +{ +public: + + int begin(); + void begin_tft_write(); + void end_tft_write(); + void writedata(uint8_t d); + void writecommand(uint8_t c); + void lcd_init(); + void backlight(uint8_t state); + void BlockWrite(unsigned int Xstart, unsigned int Xend, unsigned int Ystart, unsigned int Yend) ; + void DrawImage(unsigned int Xstart, unsigned int Ystart, unsigned int Xend, unsigned int Yend, uint16_t *color); + void DispColor(unsigned int Xstart, unsigned int Ystart, unsigned int Xend, unsigned int Yend, unsigned int color); + void WriteOneDot(unsigned int color); + void DispOneChar( char ord, unsigned int Xstart, unsigned int Ystart, unsigned int TextColor, unsigned int BackColor); + void DispStr( char *str, unsigned int Xstart, unsigned int Ystart, unsigned int TextColor, unsigned int BackColor); + +};