diff --git a/README.md b/README.md index 2222aab..2d228fd 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ESP32 Cheap Yellow Display + INMP441(I2S)→ microSD **WAV 录音**,支持 | 项目 | 2.8" · 2432S028R | 3.5" C · 3248S035C | |------|------------------|---------------------| | 屏驱 | ILI9341 | ST7796 | -| 触控 | XPT2046 SoftSPI | GT911 Wire1(SDA33/SCL32/INT21/RST25) | +| 触控 | XPT2046 **SoftSPI**(见下) | GT911 Wire1(SDA33/SCL32/INT21/RST25) | | 背光 TFT_BL | **GPIO21** | **GPIO27** | | INMP441 WS | **GPIO22**(CN1/P3) | **GPIO22** | | INMP441 SCK | **GPIO27**(CN1) | **GPIO21**(CN1;勿占 27=BL) | @@ -38,10 +38,22 @@ ESP32 Cheap Yellow Display + INMP441(I2S)→ microSD **WAV 录音**,支持 - 最长约 **120 秒**(自动停) - 实时电平条(近似 dB,与 inmp441test 同一换算) - **PLAY / STOP**:用板载喇叭(GPIO26)回放最近一条录音 -- 短按顶部标题栏切换背光 4 档 - 需插入 **FAT32 microSD** -- 触控备用:板载 **BOOT** 键切换 REC;串口发送 `r` / `p` 切换录音 / 播放 -- 2.8" 触控用 SoftSPI(与 SD 的 VSPI 隔离;勿再用会抢总线的 XPT2046+VSPI) +- 备用:板载 **BOOT** 键切换 REC;串口 `115200` 发 `r` / `p` 切换录音 / 播放 + +## 2.8" 触控说明(重要) + +本板 XPT2046 **不在硬件 SPI 上**(CLK25 / MOSI32 / MISO39 / CS33 / IRQ36),与 microSD 的 **VSPI** 冲突。固件使用 vendored [`lib/CYD28_Touchscreen`](lib/CYD28_Touchscreen)(hexeguitar SoftSPI bit-bang),把 VSPI 留给 SD。 + +| 项 | 做法 | +|----|------| +| 总线 | SoftSPI,读触控前拉高 `SD_CS` | +| 坐标 | raw ADC → 横屏 UI 320×240;**X/Y 均反向** 以对齐 `LVGL ROTATION_270` 画面 | +| 点击 | 只命中屏幕上画的 REC / PLAY 区域(带边距);松手触发 | +| 防抖 | 压力滞回 + **1.5 s** 动作冷却,避免误触反复开停录音 | +| 备用 | BOOT / 串口 `r`·`p`(触控异常时仍可用) | + +参考:[RNT CYD + SoftSPI + SD](https://randomnerdtutorials.com/esp32-cyd-display-touchscreen-microsd-card/)、[hexeguitar/CYD28_Touchscreen](https://github.com/hexeguitar/CYD28_Touchscreen)。 ## 构建与烧录 @@ -78,6 +90,7 @@ cd firmware\cyd_28r # 或 cyd_35r platformio.ini include/pins.h lv_conf.h touch.h sdcard.h recorder.h player.h src/main.cpp touch.cpp sdcard.cpp recorder.cpp player.cpp +lib/CYD28_Touchscreen/ # 2.8 SoftSPI 触控(与 SD 隔离) scripts/exclude_lvgl_asm.py firmware/ README.md @@ -88,3 +101,4 @@ README.md | 日期 | 说明 | |------|------| | 2026-10-27 | 初版:INMP441 → microSD WAV 录音 + DAC 回放;双板 `cyd_28r` / `cyd_35r` | +| 2026-10-27 | 2.8 触控:SoftSPI + XY 反向校准、按钮命中区、1.5s 冷却;消除误触反复录音 | diff --git a/firmware/README.md b/firmware/README.md index d15ab35..c834288 100644 --- a/firmware/README.md +++ b/firmware/README.md @@ -9,6 +9,8 @@ 录音写入 microSD `/rec/Rxxxx.WAV`;回放经 GPIO26 DAC2。 +2.8" 触控为 SoftSPI(与 SD 的 VSPI 隔离),坐标 XY 反向对齐横屏按钮;详见根目录 [README.md](../README.md)「2.8" 触控说明」。 + ## 直接刷写 ```powershell diff --git a/firmware/cyd_28r/VERSION.txt b/firmware/cyd_28r/VERSION.txt index c4c6408..1b1bb37 100644 --- a/firmware/cyd_28r/VERSION.txt +++ b/firmware/cyd_28r/VERSION.txt @@ -1,5 +1,5 @@ name: CYD inmp441recondtest (cyd_28r) -git: 024fcd8 +git: 348cf9d date: 2026-10-27 board: ESP32-2432S028R (ILI9341) inmp441: WS=GPIO22 SCK=GPIO27 SD=GPIO35 @@ -14,5 +14,5 @@ offsets: sha256: bootloader.bin 3D234A7471F67B013686DABD4DEE7C1FA915C9928463616A94BC9297ACF1ABF8 boot_app0.bin F94C5D786A7A8FAB06AC5D10E33BF37711A6697636DC037559EA19CC410A17F0 - firmware.bin CDC0616C236CA29B7849A2CA63A49D3CB1811ED8FA20C087B5F84503D55DFDB4 + firmware.bin 7C0659A130E7ED20DD1DA0006616E31AFA7F597F65E1156C8FF9CD12BBC79994 partitions.bin 0A8B5720E7B77FF11F1462458C3A509DEE79224E5279898F26D6A2E3AE0517B7 diff --git a/firmware/cyd_28r/firmware.bin b/firmware/cyd_28r/firmware.bin index 16863ff..5bb962a 100644 Binary files a/firmware/cyd_28r/firmware.bin and b/firmware/cyd_28r/firmware.bin differ