Worker side of the libqemu picsimlab_spi_event_batch / CS-gating change: - _on_spi_batch(): replay a whole SPI transfer in bulk (custom-chip runtime, then ePaper feed, then the spi_batch buffer) instead of one _on_spi_event per byte. Registered as a trailing _SPI_BATCH field of _CallbacksT. - _sync_cs_events(): disable SPI chip-select callbacks for pure-display sims, enable them when an ePaper / custom-chip SPI slave is registered (no-op on older libqemu without qemu_picsimlab_enable_spi_cs_events). - _on_pin_change(): flush the SPI batch before each gpio_change so the byte stream stays ordered against the DC pin now that CS no longer triggers the flush. Backward compatible: an older libqemu never calls the batch callback or the CS setter, so it just keeps the per-byte path. esp32-doom: 0.04 -> ~1.0-1.5 FPS wall-clock (~26-37x), render verified correct. |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| database | ||
| mcp | ||
| models | ||
| schemas | ||
| services | ||
| utils | ||
| __init__.py | ||
| main.py | ||