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

Merge branch 'master' into 'pypcc2'

parents 03649d9a cc287f03
No related branches found
No related tags found
1 merge request!10Pypcc2
**/env
**/__pycache__
**/*.pyc
**/.DS_Store
......@@ -50,4 +50,22 @@ CLK_PLL_setup=Instrs("CLK_PLL_setup",15,[
Instr(DevType.VarUpdate,CLK_lock1,1,[0])
])
def SPIinst(reg,value):
return Instr(DevType.SPIbb,DevReg(SPIBB_PLL,0,reg,0),1,[value]),
CLK_PLL_setup=Instrs("CLK_PLL_setup",2,[
SPIinst(0x03,0x08),
SPIinst(0x05,0x97),
SPIinst(0x06,0x10),
SPIinst(0x07,0x04),
SPIinst(0x08,0x01),
SPIinst(0x07,0x00),
SPIinst(0x09,0x10),
SPIinst(0x0A,0x14),
SPIinst(0x09,0x00),
SPIinst(0x0D,0x01),#was 2
SPIinst(0x0F,0x01),
SPIinst(0x11,0x01),
SPIinst(0x13,0x01)
])
OPC_methods=[CLK_on,CLK_off,CLK_PLL_setup]
......@@ -19,7 +19,7 @@ def SetSPIbb(SetI2C,RCUi,dev,value):
CLKdev=dev.Addr.devs[SPIBB_pins.CLK.value]
CLKpin=dev.Addr.pins[SPIBB_pins.CLK.value]
logging.warn(str(("SPIbb set",ADC_address,value)))
logging.info(str(("SPIbb set",ADC_address,value)))
# dev_rw = 0x00 # 0 for write, 1 for read
# data2 = ( reg_address << 9 ) + ( dev_rw << 8 ) + value[0]
......@@ -50,7 +50,7 @@ def GetSPIbb(SetI2C,GetI2C,RCUi,dev,value):
CLKdev=dev.Addr.devs[SPIBB_pins.CLK.value]
CLKpin=dev.Addr.pins[SPIBB_pins.CLK.value]
logging.warn(str(("SPIbb get",ADC_reg_address)))
logging.info(str(("SPIbb get",ADC_reg_address)))
ADC_bytes = 0x00
# ADC_rw = 0x01 # 0 for write, 1 for read
data = (ADC_reg_address << 1) + 1 #was 7??
......
if os.sys.platform is 'linux':
import pylibi2c;
import time
import logging
......@@ -62,6 +63,35 @@ def I2C4server(addr,data,reg=None,read=0):
bus.ioctl_write(reg,str(bytearray(data)))
bus.close()
return True;
except:
if bus: bus.close()
# data[0]=0
return False;
def I2C2server(addr,data,reg=None,read=0):
try:
if read==3:
time.sleep(data[0]/1000.)
return True
logging.debug(str(("I2C2",addr,reg,data,read)))
# print("I2C",addr,reg,data,read)
# return True;
bus=pylibi2c.I2CDevice('/dev/i2c-2',addr)
if read==1:
length=len(data)
bus.iaddr_bytes=0
if not(reg is None):
bus.ioctl_write(0,str(bytearray([reg])))
data[:]=[int(x) for x in bus.ioctl_read(0,length)]
else:
if reg is None:
bus.iaddr_bytes=0
reg=0;
bus.ioctl_write(reg,str(bytearray(data)))
bus.close()
return True;
except:
if bus: bus.close()
print("I2C4 error")
......
pylibi2c (github.com/amaork/libi2c)
git+https://github.com/amaork/libi2c.git; platform_system == "linux"
opcua
numpy
recordclass
from test_common import *
name="RCU_LED0_RW"
#RCU=0;
#LEDvalue=0;
#setRCUmask([RCU])
A=get_value(name)
print(A)
#A[0]=1.;
A[0]='on';
print(A)
set_value(name,A)
#print("LED old:",led)
#led[RCU]=LEDvalue
#set_value(name+"_RW",led)
#time.sleep(0.1)
#print("LED new:",get_value(name+"_R"))
disconnect()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment