from smbus2 import SMBus, i2c_msg import struct import time # Beispiel: I2C-Adresse des Geräts DEVICE_ADDRESS = 0x48 # z.B. EEPROM oder Sensoradresse I2C_BUS = 1 # I2C-1 ist meist Standard beim Raspberry Pi slot = input("Slot id (default: 0): ") if slot == "": slot = 0 else: slot = int(slot) def read_status(bus): data_to_write = [(0x06 | slot << 4)] write = i2c_msg.write(DEVICE_ADDRESS, data_to_write) bus.i2c_rdwr(write) # Lesen von 3 Bytes roher Binärdaten read = i2c_msg.read(DEVICE_ADDRESS, 8) bus.i2c_rdwr(read) data_read = bytes(read) print("data:", data_read.hex()) data = struct.unpack(" n Zyklen lesen") print(" w i mA Strom positiv: laden (DAC), negativ entladen: (PWM)") act = input("nächste Aktion: ") if act[0] == "r": n = int(act.split(" ")[1]) for i in range(n): time.sleep(1) try: read_status(bus) except: print("Bus error.") elif act[0] == "w": i = int(act.split(" ")[1]) # 5 is the command for setting the current byte_str = struct.pack("