From b590f5a801e800a16119a35ef1108c7f37c60f80 Mon Sep 17 00:00:00 2001 From: Gijs Schoonderbeek <schoonderbeek@astron.nl> Date: Thu, 7 Jan 2021 17:09:43 +0100 Subject: [PATCH] Update after test op HW --- I2C_serial_pi.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/I2C_serial_pi.py b/I2C_serial_pi.py index d928b77..422b646 100644 --- a/I2C_serial_pi.py +++ b/I2C_serial_pi.py @@ -22,19 +22,20 @@ import smbus import sys from time import * -DEBUG=False +DEBUG = True + class I2C: - def __init__(self, ADDRESS='040'): + def __init__(self, ADDRESS='040',BUSNR=3): self.I2C_Address = ADDRESS - self.BUS_NR = 1 - bus = smbus.SMBus(self.BUS_NR) - + self.bus_nr = BUSNR def read_bytes(self, register, bytes_to_read=2): + bus = smbus.SMBus(self.bus_nr) try: - ret_value = bus.read_i2c_block_data(self.I2C_Address, register, bytes_to_read) + rd_value = bus.read_i2c_block_data(self.I2C_Address, register, bytes_to_read) + ret_value = hex(rd_value[0])[2:] ret_ack = 1 except IOError, err: ret_ack = 0 @@ -45,6 +46,7 @@ class I2C: def read_last_reg(self, bytes_to_read): + bus = smbus.SMBus(self.bus_nr) ret_value=[] for cnt in bytes_to_read: try: @@ -58,8 +60,9 @@ class I2C: return ret_ack,ret_value def write_bytes(self, register, data): + bus = smbus.SMBus(self.bus_nr) try: - bus.write_i2c_block_data(self.I2C_Address, register, data) + bus.write_i2c_block_data(self.I2C_Address, register, [data]) ret_ack = 1 except IOError, err: ret_ack = 0 @@ -69,6 +72,7 @@ class I2C: return ret_ack def write_pointer(self, register): + bus = smbus.SMBus(self.bus_nr) try: ret_value = bus.read_i2c_block_data(self.I2C_Address, register, 1) ret_ack = 1 -- GitLab