picoem_devices/lib.rs
1//! Off-chip device models for the picoem emulator workspace.
2//!
3//! This crate holds external (board-level) devices that compose with the
4//! chip emulators (`rp2040_emu`, `rp2350_emu`) but are not part of the chips
5//! themselves. Each device is a concrete struct with its own API — no
6//! trait polymorphism.
7//!
8//! Devices fall into two categories:
9//!
10//! * **Pin-driving** (e.g. PSRAM) — participates in the per-cycle GPIO
11//! merge inside the emulator's `update_gpio()`. Hosted on `Bus` as a
12//! typed field.
13//! * **Observer** (e.g. LCD decoder, I2S capture) — reads GPIO state from
14//! outside the step loop. Called by the app or harness, not by the
15//! emulator core.
16
17pub mod i2s_capture;
18pub mod lcd;
19pub mod psram;
20
21pub use i2s_capture::I2sCapture;
22pub use lcd::{LcdDecoder, LcdState};
23pub use psram::Psram;