DataFormat#
- class DataFormat(
- transfer_bits: int,
- data_width_bits: int | None = None,
- data_lsb: int = 0,
- signed: bool = False,
- scaling: ScalingFunction | None = None,
- units: str = '',
Bases:
objectHow to extract logical data from an I2C transfer and convert to physical units.
- Variables:
transfer_bits (int) – Total bits transferred over I2C.
data_width_bits (int | None) – Logical data width if narrower than transfer_bits;
Noneuses all.data_lsb (int) – Starting bit position of the logical data.
signed (bool) – Whether the logical data is 2’s-complement signed.
scaling (ScalingFunction | None) – Optional scaling to convert raw → physical.
units (str) – Display string for the physical units.
- scaling: ScalingFunction | None = None#
- extract_data(transfer_raw: int) int[source]#
Slice the logical data field out of
transfer_raw(sign-extended whensigned).
- pack_data(data_raw: int) int[source]#
Pack
data_rawinto the transfer container atdata_lsb; validates range vssigned.