Skip to content
Snippets Groups Projects
Commit a8c3a697 authored by Paulus Kruger's avatar Paulus Kruger
Browse files

I2C using python periphery

parent 70a6ff23
Branches
Tags
1 merge request!10Pypcc2
#import pylibi2c;
#import
from periphery import I2C;
import time
import logging
#bus = pylibi2c.I2CDevice('/dev/i2c-1'
#read=0: write to register
#read=1: read from register
#read=2: write to register (common in group)
#read=3: wait ms second
I2Ccounter=0;
i2c1=I2C("/dev/i2c-1")
def I2C1server(addr,data,reg=None,read=0):
# print("I2C",addr,reg,data,read)
try:
if read==3:
time.sleep(data[0]/1000.)
return True
logging.debug(str(("I2C",addr,reg,data,read)))
if read==1:
if not(reg is None): i2c1.transfer(addr,[I2C.Message(reg)])
msgs=[I2C.Message(data,read=True)]
i2c1.transfer(addr,msgs)
data[:]=msgs[0].data
else:
if reg is None:
msgs=[I2C.Message(data)]
else:
msgs=[I2C.Message(reg),I2C.Message(data)]
i2c1.transfer(addr,msgs)
return True;
except:
return False;
i2c4=I2C("/dev/i2c-1")
def I2C1server(addr,data,reg=None,read=0):
# print("I2C",addr,reg,data,read)
try:
if read==3:
time.sleep(data[0]/1000.)
return True
logging.debug(str(("I2C",addr,reg,data,read)))
if read==1:
if not(reg is None): i2c4.transfer(addr,[I2C.Message(reg)])
msgs=[I2C.Message(data,read=True)]
i2c4.transfer(addr,msgs)
data[:]=msgs[0].data
else:
if reg is None:
msgs=[I2C.Message(data)]
else:
msgs=[I2C.Message(reg),I2C.Message(data)]
i2c4.transfer(addr,msgs)
return True;
except:
return False;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment