Document working SoftSPI touch calibration and ship firmware.
Record XY invert, button hit-test, and 1.5s cooldown in README; refresh cyd_28r prebuilt binaries. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
22
README.md
22
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 冷却;消除误触反复录音 |
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
|
||||
录音写入 microSD `/rec/Rxxxx.WAV`;回放经 GPIO26 DAC2。
|
||||
|
||||
2.8" 触控为 SoftSPI(与 SD 的 VSPI 隔离),坐标 XY 反向对齐横屏按钮;详见根目录 [README.md](../README.md)「2.8" 触控说明」。
|
||||
|
||||
## 直接刷写
|
||||
|
||||
```powershell
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user