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
Branches
Tags
1 merge request!10Pypcc2
**/env **/env
**/__pycache__ **/__pycache__
**/*.pyc **/*.pyc
**/.DS_Store
...@@ -50,4 +50,22 @@ CLK_PLL_setup=Instrs("CLK_PLL_setup",15,[ ...@@ -50,4 +50,22 @@ CLK_PLL_setup=Instrs("CLK_PLL_setup",15,[
Instr(DevType.VarUpdate,CLK_lock1,1,[0]) 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] OPC_methods=[CLK_on,CLK_off,CLK_PLL_setup]
...@@ -19,7 +19,7 @@ def SetSPIbb(SetI2C,RCUi,dev,value): ...@@ -19,7 +19,7 @@ def SetSPIbb(SetI2C,RCUi,dev,value):
CLKdev=dev.Addr.devs[SPIBB_pins.CLK.value] CLKdev=dev.Addr.devs[SPIBB_pins.CLK.value]
CLKpin=dev.Addr.pins[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 # dev_rw = 0x00 # 0 for write, 1 for read
# data2 = ( reg_address << 9 ) + ( dev_rw << 8 ) + value[0] # data2 = ( reg_address << 9 ) + ( dev_rw << 8 ) + value[0]
...@@ -50,7 +50,7 @@ def GetSPIbb(SetI2C,GetI2C,RCUi,dev,value): ...@@ -50,7 +50,7 @@ def GetSPIbb(SetI2C,GetI2C,RCUi,dev,value):
CLKdev=dev.Addr.devs[SPIBB_pins.CLK.value] CLKdev=dev.Addr.devs[SPIBB_pins.CLK.value]
CLKpin=dev.Addr.pins[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_bytes = 0x00
# ADC_rw = 0x01 # 0 for write, 1 for read # ADC_rw = 0x01 # 0 for write, 1 for read
data = (ADC_reg_address << 1) + 1 #was 7?? data = (ADC_reg_address << 1) + 1 #was 7??
......
if os.sys.platform is 'linux':
import pylibi2c; import pylibi2c;
import time import time
import logging import logging
...@@ -62,6 +63,35 @@ def I2C4server(addr,data,reg=None,read=0): ...@@ -62,6 +63,35 @@ def I2C4server(addr,data,reg=None,read=0):
bus.ioctl_write(reg,str(bytearray(data))) bus.ioctl_write(reg,str(bytearray(data)))
bus.close() bus.close()
return True; 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: except:
if bus: bus.close() if bus: bus.close()
print("I2C4 error") print("I2C4 error")
......
pylibi2c (github.com/amaork/libi2c) git+https://github.com/amaork/libi2c.git; platform_system == "linux"
opcua opcua
numpy numpy
recordclass 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