Modul fusion_hat._i2c

Lese- und Schreibfunktionen für den I2C-Bus

Eine einfache Hülle für die smbus2-Bibliothek.

Beispiel

import I2C

>>> from fusion_hat.i2c import I2C

Initialisiert den I2C-Bus mit der Adresse 0x17

>>> i2c = I2C(address=0x17)

Schreibt ein Byte 0x00

>>> i2c.write_byte(0x00)

Schreibt ein Byte 0x01 in das Register 0x01

>>> i2c.write_byte_data(0x01, 0x01)

Schreibt ein Wort 0x0001 in das Register 0x01

>>> i2c.write_word_data(0x01, 0x0001)

Schreibt ein Wort 0x0001 in das Register 0x01 mit LSB zuerst

>>> i2c.write_word_data(0x01, 0x0001, lsb=True)

Schreibt einen Block von Bytes in das Register 0x01

>>> i2c.write_block_data(0x01, [0x00, 0x01, 0x02])

Liest ein Byte

>>> print(i2c.read_byte())
0

Liest ein Byte aus dem Register 0x01

>>> print(i2c.read_byte_data(0x01))
1

Liest ein Wort aus dem Register 0x01

>>> print(i2c.read_word_data(0x01))
256

Liest ein Wort aus dem Register 0x01 mit LSB zuerst

>>> print(i2c.read_word_data(0x01, lsb=True))
1

Liest einen Block von Bytes aus dem Register 0x01

>>> print(i2c.read_block_data(0x01))
[0, 1, 2]
class fusion_hat._i2c.I2C(*args, address: int = None, bus: int = 1, **kwargs)[Quellcode]

Basisklassen: _Base

Lese- und Schreibfunktionen für den I2C-Bus

Parameter:
  • address (int) – I2C-Geräteadresse

  • bus (int) – I2C-Busnummer

  • *args – Parameter, die an fusion_hat._base._Base übergeben werden.

  • **kwargs – Schlüsselwortargumente, die an fusion_hat._base._Base übergeben werden.

RETRY = 5
DEFAULT_BUS = 1
write_byte(**kwargs)
write_byte_data(**kwargs)
write_word_data(**kwargs)
write_i2c_block_data(**kwargs)
read_byte(**kwargs)
read_byte_data(**kwargs)
read_word_data(**kwargs)
read_i2c_block_data(**kwargs)
is_ready(**kwargs)
static scan(bus: int = 1, force: bool = False) list[Quellcode]

Scannt den I2C-Bus nach Geräten

Parameter:
  • bus (int, optional) – I2C-Busnummer, Standard ist 1

  • force (bool, optional) – True, wenn der Zugriff auf den I2C-Bus erzwungen wird, andernfalls False, Standard ist False

Rückgabe:

Liste der I2C-Adressen der gefundenen Geräte

Rückgabetyp:

list

write(data: int | list | bytearray) None[Quellcode]

Schreibt Daten an das I2C-Gerät

Parameter:

data (int | list | bytearray) – Zu schreibende Daten

Verursacht:

ValueError – wenn write kein int, keine Liste oder kein Bytearray ist

read(length: int = 1) list[Quellcode]

Liest Daten vom I2C-Gerät

Parameter:

length (int) – Anzahl der zu empfangenden Bytes

Rückgabe:

Empfangene Daten

Rückgabetyp:

list

mem_write(data: int | list | bytearray, memaddr: int) None[Quellcode]

Schreibt Daten an eine bestimmte Registeradresse

Parameter:
  • data (int | list | bytearray) – Zu sendende Daten

  • memaddr (int) – Registeradresse

Verursacht:

ValueError – Wenn die Daten kein int, keine Liste oder kein Bytearray sind

mem_read(length: int, memaddr: int) list[Quellcode]

Liest Daten von einer bestimmten Registeradresse

Parameter:
  • length (int) – Anzahl der zu empfangenden Bytes

  • memaddr (int) – Registeradresse

Rückgabe:

Empfangene Bytearray-Daten oder False bei Fehler

Rückgabetyp:

list

is_avaliable() bool[Quellcode]

Prüft, ob das I2C-Gerät verfügbar ist

Rückgabe:

True, wenn das I2C-Gerät verfügbar ist, andernfalls False

Rückgabetyp:

bool

_write_byte(data: int) None[Quellcode]

[DEPRECATED] Schreibt ein Byte in ein I2C-Register

Parameter:

data (int) – Zu schreibende Daten

_write_byte_data(reg: int, data: int) None[Quellcode]

[DEPRECATED] Schreibt ein Byte-Datum in ein I2C-Register

Parameter:
  • reg (int) – Registeradresse

  • data (int) – Zu schreibende Daten

_write_word_data(reg: int, data: int) None[Quellcode]

[DEPRECATED] Schreibt Wortdaten in ein I2C-Register

Parameter:
  • reg (int) – Registeradresse

  • data (int) – Zu schreibende Daten

_write_i2c_block_data(reg: int, data: list) None[Quellcode]

[DEPRECATED] Schreibt Blockdaten in ein I2C-Register

Parameter:
  • reg (int) – Registeradresse

  • data (list) – Zu schreibende Daten

_read_byte() int[Quellcode]

[DEPRECATED] Liest ein Byte vom I2C-Bus

Rückgabe:

vom I2C-Bus gelesenes Byte

Rückgabetyp:

int

_read_byte_data(reg: int) int[Quellcode]

[DEPRECATED] Liest ein Byte vom I2C-Bus

Parameter:

reg (int) – Registeradresse

Rückgabe:

vom I2C-Bus gelesenes Byte

Rückgabetyp:

int

_read_word_data(reg: int) list[Quellcode]

[DEPRECATED] Liest ein Wort vom I2C-Bus

Parameter:

reg (int) – Registeradresse

Rückgabe:

vom I2C-Bus gelesenes Wort

Rückgabetyp:

list

_read_i2c_block_data(reg: int, length: int) list[Quellcode]

[DEPRECATED] Liest Blockdaten aus einem I2C-Register

Parameter:
  • reg (int) – Registeradresse

  • length (int) – Anzahl der zu empfangenden Bytes

Rückgabe:

Empfangene Bytearray-Daten oder False bei Fehler

Rückgabetyp:

list