Bitrate configuration¶
These timing and configuration types are shared by automotive.can.bitrate
and automotive.sync.can.bitrate.
Reusable bitrate requests and the timing values calculated by Rust.
- class automotive.can.bitrate.BitTiming(*, brp: int, tseg1: int, tseg2: int, sjw: int, bitrate: int, sample_point: float)[source]¶
Resolved timing for one CAN phase.
- Variables:
brp (int) – Bitrate prescaler.
tseg1 (int) – Time segment 1, in time quanta.
tseg2 (int) – Time segment 2, in time quanta.
sjw (int) – Synchronization jump width, in time quanta.
bitrate (int) – Actual calculated bitrate, in bits per second.
sample_point (float) – Actual normalized sample point between zero and one.
- brp: int¶
- tseg1: int¶
- tseg2: int¶
- sjw: int¶
- bitrate: int¶
- sample_point: float¶
- class automotive.can.bitrate.BitrateConfig(nominal: BitTiming, data: BitTiming | None = None)[source]¶
Calculated nominal timing and optional CAN-FD data-phase timing.
Obtain this record with
BitrateSettings.resolve(backend)or an adapter config’sresolved_bitrateproperty. It reports Rust’s calculation.
- class automotive.can.bitrate.BitrateSettings(*, bitrate: int | None = None, sample_point: float | None = None, brp: int | None = None, tseg1: int | None = None, tseg2: int | None = None, sjw: int | None = None, data_bitrate: int | None = None, data_sample_point: float | None = None, data_sjw: int | None = None, max_bitrate_error: int | None = None)[source]¶
Bitrate-builder inputs, resolved for the selected adapter by Rust.
- Parameters:
bitrate – Target nominal bitrate in bits per second.
sample_point – Normalized nominal sample point; None uses Rust’s bitrate-dependent default.
brp – Direct nominal prescaler, used with tseg1 and tseg2.
tseg1 – Direct nominal segment 1, in time quanta.
tseg2 – Direct nominal segment 2, in time quanta.
sjw – Nominal synchronization jump width, in time quanta.
data_bitrate – Optional CAN-FD data bitrate in bits per second.
data_sample_point – Normalized data-phase sample point.
data_sjw – Data-phase synchronization jump width, in time quanta.
max_bitrate_error – Maximum bitrate error in hundredths of one percent. None retains Rust’s 50 (0.5%) default.
Supply either a target bitrate or complete direct nominal timing. Explicit settings start without preset timing: setting only
bitrateproduces Classic CAN. Omitting settings on an adapter retains that adapter’s defaults, including its default FD data bitrate where applicable.- bitrate: int | None¶
- sample_point: float | None¶
- brp: int | None¶
- tseg1: int | None¶
- tseg2: int | None¶
- sjw: int | None¶
- data_bitrate: int | None¶
- data_sample_point: float | None¶
- data_sjw: int | None¶
- max_bitrate_error: int | None¶
- resolve(backend: str) BitrateConfig[source]¶
Calculate timing using this backend’s Rust capabilities.
- Parameters:
backend – “panda”, “peak”, “vector”, or “j2534”.
- Returns:
Calculated nominal timing and optional data timing.
- Raises:
ValueError – The requested timing cannot be represented.
NotSupportedError – This build cannot configure the backend.