# oed_tcon_b_open **Repository Path**: QiuRiSiYu_admin/oed_tcon_b_open ## Basic Information - **Project Name**: oed_tcon_b_open - **Description**: A minimalist electronic ink display development project based on the ESP32 platform。 Supports black and white and color ink screens of OED, with a maximum resolution of 2240 * 1680 - **Primary Language**: C - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-08 - **Last Updated**: 2026-07-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OED TCON-B 基于 ESP32 的电子纸(EPD)时序控制器固件,集成 LVGL 图形框架与多应用模块,用于驱动 OPM 系列墨水屏面板。 ## 硬件平台 - **主控**: ESP32-S3 / ESP32-P4 - **框架**: ESP-IDF > v6.0.1 - **支持面板**: | 型号 | 分辨率 | 说明 | 状态 | |------|--------|------|------| | OPM060 | 1024×768 | 6寸低分黑白屏 | ✅ 已适配 | | OPM062A | 1648×824 | 6.2寸黑白长屏 | ✅ 已适配 | | OPM060E | 1448×1072 | 6寸高分黑白屏 | ✅ 已适配 | | OPM103C6 | 1872×1404 | 10.3寸低分黑白屏 | ✅ 已适配 | | OPM103B | 2200×1650 | 13.3寸墨白屏 | ✅ 已适配 | | OPM103E1 | 2240×1680 | 10.3寸高分彩色屏 | 🚧 开发中 | | OPM133A1 | 2200×1650 | 13.3寸彩色屏 | 🚧 开发中 | ## 开发板 - **ESP32S3_V0.0.1**: https://item.taobao.com/item.htm?id=1067641188369&spm=a213gs.v2success.0.0.66b24831eEJdum ## 目录结构 ``` oed_tcon_b/ ├── main/ # 入口 & 字库资源 │ ├── main.c # app_main 入口 │ └── mmap_generate_fonts.h # 自动生成的字库映射 ├── components/ │ └── apps/ # 应用框架 & 模块 │ ├── app.c/h # 应用生命周期管理 │ ├── oed_event.c # 事件系统(按键/触摸/TCON) │ ├── views.c # 页面视图系统 │ ├── fs.c # 文件系统(LittleFS + SPIFFS) │ ├── system_prop.c # NVS 持久化配置,系统动态属性,系统持久化设置 │ ├── system_ui/ # 主页 / 系统界面 │ ├── ebook_app/ # 电子书阅读(TXT + EPUB) │ ├── html_parser/ # HTML 解析引擎 │ ├── demo_app/ # 功能演示 │ └── template_app/ # 应用模板(可复制开发) ├── docs/ # SDK 文档 └── resource/ # 资源文件 ``` ## 核心特性 ### TCON 驱动 - 自研 TCON 驱动,支持 8bit、16bit 并行总线 - **自适应刷新**:根据内容复杂度自适应调整刷新速率 - **异步刷新**:多线程架构,TCON 同步信号驱动 - **16 级灰阶**:4bpp|2bpp 打包模式,自适应波形刷新 - **残影处理**:内置清残影算法 - **DMA 传输**:GDMA 驱动的行缓冲流水线 - **旋转支持**:硬件级画面旋转 ### 应用框架 - **事件驱动**:按键、触摸、TCON 帧同步统一事件队列 - **App 生命周期**:enter / exit / event_listener 三回调模型 - **深睡切换**:App 之间通过深度睡眠隔离内存 - **模组化设计**:OEDAPP_MODULE_t 枚举 + OedAppDefinition_t 注册 ### 已集成应用 | 应用 | 说明 | |------|------| | System UI | 主页界面,应用入口 | | eBook | TXT / EPUB 阅读器 | | Demo | 各项功能验证 | | Template | 新应用开发模板 | | HTML Parser | HTML 页面解析渲染 | | Handwriting | 手写笔迹(开发中) | | WiFi | 网络配网 & 数据获取 | | OTA | 远程固件升级 | ### 依赖库 | 组件 | 版本 | 用途 | |------|------|------| | LVGL | 9.5.0 | UI 图形框架 | | esp_lvgl_adapter | 0.6.2 | LVGL ESP 适配 | | littlefs | 1.20.4 | 文件系统 | | esp_image_effects | 1.1.0 | 图像处理 | | esp_new_jpeg | ≥1.0.0 | JPEG 解码 | ## 分区布局 | 分区 | 类型 | 偏移 | 大小 | 说明 | |------|------|------|------|------| | nvs | data | 0x9000 | 24KB | 系统配置 | | otadata | data | 0xf000 | 8KB | OTA 状态 | | phy_init | data | 0x11000 | 4KB | 射频校准 | | ota_0 | app | 0x20000 | 2MB | 固件 | | fonts | spiffs | 0x220000 | 10.25MB | 字库 | | data | littlefs | 0xC60000 | 3.5MB | 用户数据 | ## 构建 & 烧录 ```bash # 设置目标芯片 (S3 或 P4) idf.py set-target esp32s3 # 编译 idf.py build # 烧录 & 监控 idf.py -p COMx flash monitor ``` ## 开发新应用 1. 复制 `components/apps/template_app/` 为你的应用目录 2. 实现 `enter()`、`exit()`、`event_listener()` 三个回调 3. 在 `app_common.h` 的 `OEDAPP_MODULE_t` 枚举中注册 ID 4. 在 `app_common.c` 的 `register_all_apps()` 中注册 详见 `docs/03-tutorial-building-an-app.md`。 ## Git 历史概要 - 驱动层:TCON 并口驱动、多线程异步刷新、GDMA 行缓冲、4-32 灰阶 2+1| 4+1 bpp - 面板适配:OPM060/060E/062A/103 系列 / 133 系列 - 上层:LVGL + TTF + EPD + D2 字库集成 - 平台:ESP32S3 → ESP32P4 双平台 ## License Code in this repository is in the Public Domain (or CC0 licensed, at your option). Unless required by applicable law or agreed to in writing, this software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.