Skip to main content

Crate rusty_esp_image

Crate rusty_esp_image 

Source
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-hal for Track B, esp-idf for 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§

FramePool
N equal 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.
SensorDesc
What a driver needs to find and address a sensor.
SlotId
Index of a slot in a FramePool.
TestPattern
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 n is identical on every platform.

Enums§

RegWidth
Register address width of a sensor.
SensorId
The sensors esp32-camera knows, with their product ids.

Constants§

VERSION
Crate version, for capability manifests and logs.

Traits§

ImageSource
Something that produces frames.