panda

Open a panda adapter over USB on Linux, macOS, or Windows. PandaAdapter() uses the default bus timing; pass a PandaConfig to customize it. USB access permissions are required.

Configuration

The configuration is shared by the async and sync APIs. Omitted bitrate settings use 500 kbit/s nominal and 2 Mbit/s data timing, with 80% sample points.

class automotive.adapters.PandaConfig(*, bitrate: BitrateSettings | None = None)[source]

Configure a panda USB adapter.

Parameters:

bitrate – Reusable timing inputs. None uses Rust’s 500 kbit/s nominal and 2 Mbit/s FD data timing, with 80% sample points.

An explicit BitrateSettings starts without presets. A nominal bitrate alone selects Classic CAN. USB access permissions are required.

backend: ClassVar[str] = 'panda'
bitrate: BitrateSettings | None
property resolved_bitrate: BitrateConfig | None

Calculated timing for this backend, including its defaults.

Asynchronous API

Send, receive, and lifecycle methods are inherited from automotive.adapters.CanAdapter.

class automotive.adapters.PandaAdapter(config: PandaConfig | None = None)[source]

Bases: CanAdapter

Open a panda USB adapter immediately.

Parameters:

config – Reusable PandaConfig; None uses Rust defaults.

Synchronous API

Blocking methods are inherited from automotive.sync.adapters.CanAdapter.

class automotive.sync.adapters.PandaAdapter(config: PandaConfig | None = None)[source]

Bases: CanAdapter

Open a panda USB adapter immediately.

Parameters:

config – Reusable PandaConfig; None uses Rust defaults.