Code: Select all
import machine
import sys
import utime
ADDR = 0x38
def reg_write(i2c,addr,reg,data):
msg = bytearray(data)
i2c.writeto_mem(addr, reg, msg, addrsize = 16)
def reg_read(i2c,addr,reg,nbytes = 1):
if nbytes < 1:
return bytearray()
data = i2c.readfrom_mem(addr,reg,nbytes, addrsize = 16)
return data
# Main
i2c = machine.I2C(0, scl = machine.Pin(17), sda = machine.Pin(16), freq = 400000)
reg_write(i2c,ADDR,0x00FE,0xAD) #Unlocking register 0x0120 for optimal configuration
reg_write(i2c,ADDR,0x0120,0x30)
data = reg_read(i2c,ADDR,0x0120,nbytes = 2)
if(data != bytearray(0x30)):
print("Error")
sys.exit()
else:
print("Successful.")
sys.exit()
Code: Select all
OSError: [Errno 5] EIO