# 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`](https://docs.python.org/3/builtins/functions.html#object "(in Python v3.15)")

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]
