SystemDefinition#

class SystemDefinition(
devices: dict[str,
~instro.i2c.types.RegisterDevice | ~instro.i2c.types.CommandDevice]=<factory>,
)[source]#

Bases: object

Top-level container of all I2C device definitions, passed to I2CInterface.

>>> system = SystemDefinition()
>>> system.add_device(RegisterDevice(name="power_gpio", address=0x20))
>>> system.add_device(CommandDevice(name="adc", address=0x09, data_format=DataFormat(...)))
>>> i2c = I2CInterface(
...     name="main_i2c",
...     driver=Aardvark(serial_number="123456"),
...     system_definition=system,
... )
>>> i2c.write("power_gpio", "LED_OUTPUT_STATE", 0xFF)
devices: dict[str, RegisterDevice | CommandDevice]#
add_device(
dev: RegisterDevice | CommandDevice,
) → None[source]#
device(
periph: str,
) → RegisterDevice | CommandDevice[source]#