Skip to main content

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;