Expand description
rusty_esp_image-core — the pure heart of rusty_esp_image.
esp32-camera and Espressif’s JPEG components, remade: what a camera on an ESP32 needs above the DMA engine, with no driver in sight.
| Module | Holds |
|---|---|
source | ImageSource — capture into caller memory; a TestPattern source for host and smoke tests |
pool | FramePool — N fixed slots over one caller buffer: the DMA ring in user clothes |
jpeg | jpeg::probe — geometry, precision and progressive flag from a JPEG header, no decode; find_eoi to trim DMA over-read |
ops | pixel kernels (RGB565 ↔ RGB888, YUYV → RGB/gray, 2× downscale, crop, rotate) — scalar, tested; the oracles for any later PIE twin |
sensor | sensor identity and register tables as data (SensorDesc, Register, the OV2640 / OV5640 tables derived from esp32-camera) |
sccb | Sccb — the camera control bus (I²C without repeated start) over embedded-hal 1.0 |
Rules (from the package plan): every buffer is caller-owned; nothing here
allocates on a hot path; forbid(unsafe); the scalar path is the oracle.
The DVP / MIPI capture engines and the hardware JPEG codecs live in
rusty_esp_image-esp; the software JPEG codec is rusty_jpeg, behind a
feature once its encoder is no_std.
Re-exports§
pub use pool::FramePool;pub use pool::SlotId;pub use sccb::RegWidth;pub use sccb::Sccb;pub use sensor::Mode;pub use sensor::Register;pub use sensor::SensorDesc;pub use sensor::SensorId;pub use source::ImageSource;pub use source::TestPattern;pub use rusty_esp_core as esp_core;
Modules§
- jpeg
- Reading a JPEG’s header without decoding it.
- ops
- Pixel operations — scalar, bounds-checked, and the oracle for every faster twin.
- pool
- A frame pool over one caller-owned buffer.
- prelude
- The names a sketch or firmware wants in scope.
- sccb
- SCCB — the camera control bus. It is I²C without a repeated start: a register read is a write transaction (the address) followed by a separate read transaction. Sensors use 8-bit (OV2640, OV7670) or 16-bit (OV5640, OV3660) register addresses.
- sensor
- Sensor identity and register tables — as data.
- source
- The capture seam.
Constants§
- VERSION
- Crate version, for capability manifests and logs.