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:
_BaseLese- 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