RegisterDef#

class RegisterDef(
alias: str,
register: int,
default_value: int = 0,
format: DataFormat = <factory>,
endianness: Literal['little',
'big']='big',
fields: dict[str,
~instro.i2c.types.FieldDef]=<factory>,
)[source]#

Bases: object

I2C register: address, data format, power-on default, byte order, and named bit fields.

alias: str#
register: int#
default_value: int = 0#
format: DataFormat#
endianness: Literal['little', 'big'] = 'big'#
fields: dict[str, FieldDef]#
property data_width_bytes: int#
field(field_name: str) → FieldDef[source]#
extract_data(transfer_raw: int) → int[source]#
pack_data(data_raw: int) → int[source]#
float_from_raw(transfer_raw: int) → float[source]#
raw_from_float(physical: float) → int[source]#