Expand description
rusty_esp_image — esp32-camera / esp_jpeg remade in Rust: sensor bring-up as data, DMA frame pools, pixel ops, JPEG/PNG via rusty_jpeg and rusty_png. Memory safe, no_std core.
This is the facade: it re-exports the no_std core and exposes the
chip backends under esp. Depend on this crate; reach into the
sub-crates only when you are building a backend.
Part of Janus (Remade With Rust). Plan: docs/plans/rusty_esp_image.md.
Modules§
- esp
- Chip backends (
esp-halfor Track B,esp-idffor Track A). - esp_
core rusty_esp_core— the shared vocabulary of the Janus ESP family.- 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.
Structs§
- Frame
Pool Nequal slots carved from one buffer.- Mode
- What a firmware asks a sensor for.
- Register
- One register write.
- Sccb
- A sensor’s control interface over an I²C bus.
- Sensor
Desc - What a driver needs to find and address a sensor.
- SlotId
- Index of a slot in a
FramePool. - Test
Pattern - A deterministic synthetic source: SMPTE-style colour bars with a moving
marker, in Gray8, RGB565 or RGB888. It exists so a pipeline can be
exercised on the host, and so a firmware can prove its wiring before a
sensor is attached. Frame
nis identical on every platform.
Enums§
- RegWidth
- Register address width of a sensor.
- Sensor
Id - The sensors esp32-camera knows, with their product ids.
Constants§
- VERSION
- Crate version, for capability manifests and logs.
Traits§
- Image
Source - Something that produces frames.