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

ADC read/write test

parent afab0296
No related branches found
No related tags found
No related merge requests found
Pipeline #51353 passed
...@@ -151,6 +151,8 @@ device_registers: ...@@ -151,6 +151,8 @@ device_registers:
address: 0xFF address: 0xFF
- name: testmode - name: testmode
address: 0x0D address: 0x0D
- name: test
address: 0x19 #a register to test reading and writing
- name: dither - name: dither
address: 0x0C address: 0x0C
- name: JESDscramble - name: JESDscramble
...@@ -504,6 +506,18 @@ variables: ...@@ -504,6 +506,18 @@ variables:
# monitor: true # monitor: true
read_parallel: true read_parallel: true
- name: RCU_ADC_test
driver: I2C_RCU
devreg: [ADC1.test,ADC2.test,ADC3.test]
width: 8
rw: ro
dtype: uint8
dim: 96
dim2: [3,32]
debug: true
read_parallel: true
- name: RCU_ADC_sync - name: RCU_ADC_sync
driver: I2C_RCU driver: I2C_RCU
devreg: [ADC1.SYNC_control,ADC2.SYNC_control,ADC3.SYNC_control] devreg: [ADC1.SYNC_control,ADC2.SYNC_control,ADC3.SYNC_control]
...@@ -668,7 +682,7 @@ methods: ...@@ -668,7 +682,7 @@ methods:
- IO3.CONF1: 0 - IO3.CONF1: 0
- IO3.CONF2: 0 - IO3.CONF2: 0
# - RCU_GPIO1: Update # - RCU_GPIO1: Update
- RCU_GPIO2: Update # - RCU_GPIO2: Update
# - RCU_attenuator: [10,10,10] #Set OPC-UA variable # - RCU_attenuator: [10,10,10] #Set OPC-UA variable
#name="RCU_DTH_shutdown" #name="RCU_DTH_shutdown"
- RCU_update: 0 - RCU_update: 0
......
##NB translator should be off or monitor should be 0
name='RECVTR_LB' #YAML config file with all register values etc
varID='RCU_PCB_ID'
regname="RCU_ADC_test"
logFile='ADCtest'
import logging
import argparse
from pypcc.opcuaserv import opcuaserv,i2client,yamlreader
#from opcuaserv import pypcc2
from pypcc.i2cserv import i2cthread
import threading
import time
import sys
import signal
from pypcc.yamlconfig import Find;
import pypcc.yamlconfig as yc
from datetime import datetime
import numpy as np
testtime=datetime.now().strftime("%y-%m-%d %H:%M")
#if len(sys.argv)<3:
# print("setVersion RCUnr RCUsi HBAnr");
# print("e.g. SetVersion 8 1 1")
# exit();
#RCUNR=int(sys.argv[1]);
#SINR=int(sys.argv[2]);
#HBANR=int(sys.argv[3]);
#print(RCUNR,SINR,HBANR)
logging.basicConfig(level="WARNING",format='%(asctime)s [%(levelname)-8s,%(filename)-20s:%(lineno)-3d] %(message)s')
#logging.basicConfig(level="DEBUG",format='%(asctime)s [%(levelname)-8s,%(filename)-20s:%(lineno)-3d] %(message)s')
RunTimer=True;
conf=yc.yamlconfig(name)
conf.linkdevices()
conf.loaddrivers()
conf.linkdrivers()
def GetVal(name):
varid=conf.getvarid(name);
# print("varid",varid)
var1=conf.getvars()[varid]
dim=var1['dim']
drv=var1.get('drivercls');
mask=[True]*dim#+[True]*N+[False]*((dim-RCUNR-1)*N);
data=drv.OPCUAReadVariable(varid,var1,mask)
data=data[0].data
# N3=len(data[0])//dim
return data,var1
def SetVal(name,data):
varid=conf.getvarid(name);
# print("varid",varid)
var1=conf.getvars()[varid]
dim=var1['dim']
drv=var1.get('drivercls');
mask=[True]*dim#+[True]*N+[False]*((dim-RCUNR-1)*N);
return drv.OPCUASetVariable(varid,var1,data,mask)
def SetReg(name,data,drvvar):
varid=conf.getvarid(drvvar)
var2=conf.getvars()[varid]
drv=var2.get('drivercls');
var1=conf.getdevreg(name);
# print("Var",var1)
# drv=var1.get('drivercls');
# print("DRV",drv)
drv.Setdevreg(var1,data,[])
#reading the ID also set the switch
print("Get IDs")
data,var1=GetVal(varID);
data=np.array(data)[::4]
mask=[not(d is None) for d in data]
#print(data)
print(mask)
#GetReg("GPIO3.
#SetReg("IO3.GPIO1",[21]*32)
#SetReg("IO3.GPIO2",[71]*32)
SetVal("RCU_IO3_GPIO1",[21]*32)
SetVal("RCU_IO3_GPIO2",[71]*32)
#exit()
data,var1=GetVal("RCU_IO3_GPIO1")
print("RCU_IO3_GPIO1",data)
data,var1=GetVal("RCU_IO3_GPIO2")
print("RCU_IO3_GPIO2",data)
#print("Set Reg")
#exit()
#print("Read Reg")
#data,var1=GetVal(regname);
#data=np.array(data).reshape([32,3])
#print(data)
#exit()
for x in range(1,100):
print("Set reg",x)
SetReg("ADC1.test",[x]*32,regname)
SetReg("ADC2.test",[x+1]*32,regname)
SetReg("ADC3.test",[x+2]*32,regname)
# data=np.array([x]*96)
# SetVal(regname,data)
#print("Read reg")
data,var1=GetVal(regname);
data=np.array(data).reshape([32,3])
print(data)
exit()
#ID=("%.2x%.2x%.2x%.2x" % (data[0],data[1],data[2],data[3]))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment