这是 PocketJS 在 StopWatch(ESP32-S3R8)上的交互演示固件:一份 TypeScript 应用(QuickJS + Rust UI Core 布局 + RGB565 软件渲染)逐帧画到那块圆 AMOLED 上。这个 Demo 是一块会动的「小球场」——彩色小球在画面里弹跳;点屏幕就在落点生成一颗新球,A / B 键分别加球 / 清空。
RUNNING frames=… errors=…;触摸时会打印
touch raw x,y -> logical x,y(用于校准触点坐标)。
应用逻辑跑在 QuickJS,布局由 Rust UI Core 逐像素求解;无 DOM / 无浏览器内核。
S3 走完整软件光栅;P4 才有 PPA 硬件加速。这里验证 S3 的软件路径。
ESP-IDF v6.0.3 + esp-rs Xtensa Rust 1.97.0-nightly;原生核从源码编译。
CST820 电容触摸(I²C @0x15,经 M5IOE1 复位)+ A/B 两枚 GPIO 按键;输入经 PocketJS 的触摸/按键模态直接进应用。
应用约 1.43 MB,factory 分区 4MB。面板 CO5300 QSPI AMOLED,用 esp_lcd 官方驱动。NVS 位于 0x9000,重刷不丢。
用桌面版 Chrome / Edge 打开,USB 连接 ESP32-S3 开发板。三分区烧录,不动 NVS。