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