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

HBAT PPS update working

parent ead72f9e
No related branches found
No related tags found
No related merge requests found
Pipeline #26401 passed
RECVTR_HB.yaml
\ No newline at end of file
This diff is collapsed.
......@@ -26,11 +26,14 @@ class hba1(hwdev):
logging.warn("RPi GPIO module not found, PPS input disable!")
def OPCUASetVariable(self,varid,var1,data,mask):
logging.info(str(("HBA set Var",var1['name'],data[:32*3],mask[:12])))
logging.info(str(("HBA set Var",var1['name'],len(data),len(mask),data[:32*3],mask[:12])))
self.conf['parentcls'].SetGetVarValueMask(var1,data,mask,getalso=False)
RCUmask=[(mask[i*3] | mask[i*3+1] | mask[i*3+2]) for i in range(32)]
# print(RCUmask)
#Wait for PPS if required else wait a bit
if var1.get('wait')=="PPS":
# logging.info("HBA wait PPS")
logging.info("HBA wait PPS")
self.conf['parentcls'].SetSwitchMask(RCUmask)
channel=GPIO.wait_for_edge(self.pin,GPIO.RISING,timeout=1500)
self.conf['parentcls'].i2csetget(self.addr,[self.reg])
if channel is None:
......@@ -54,12 +57,12 @@ class hba1(hwdev):
logging.debug("SetHba addr=0x%x reg=0x%x",addr,reg)
I2Ccallback=self.conf['parentcls'].i2csetget
I2Ccallback(0x40,[0],read=1)#wakeup, do nothing
sleep(0.01)
#sleep(0.01)
I2Ccallback(addr,data[:16],reg=reg)
if len(data)>16:
sleep(0.01)
#sleep(0.01)
I2Ccallback(addr,data[16:],reg=reg+16)
sleep(0.01)
#sleep(0.01)
return True
def gethba(self,addr,reg,data):
......
......@@ -37,6 +37,7 @@ class i2c_array(i2c_dev):
for RCUi in range(self.N):
if (mask[RCUi]) and (self.I2Cmask[RCUi]<=self.I2Ccut):
self.conf['parentcls'].AddNewChannel(self.RCU_Switch1[RCUi]);
self.RCUi=RCUi
self.conf['parentcls'].UpdateNewChannel();
def SetGetVarValueMask(self,var1,data,mask,getalso=True):
......@@ -180,7 +181,7 @@ class i2c_array(i2c_dev):
if self.disableI2ConError: self.I2Cmask[RCUi]+=1;
self.I2Cmask[RCUi]=0;
value1[RCUi]=value2[0]
if devreg.get('store'):
if devreg.get('store')==True:
if mask[RCUi] and not(value2[0] is None):
storearray[RCUi]=value2[0]
logging.debug(str(("Stored values:",self.getstorearray(devreg))))
......@@ -234,7 +235,7 @@ class i2c_array(i2c_dev):
if not(callback(devreg['addr'],value2,reg=reg,read=rd)): return False;
if value2[0] is None: return False
value[:]=value2[:];
if devreg.get('store'):
if devreg.get('store')==True:
storearray=self.getstorearray(devreg,len(value));
storearray[self.RCUi]=(value[0] if len(value)==1 else value[:])
logging.debug(str(("Store buffer",self.RCUi,storearray[self.RCUi])))
......
......@@ -252,7 +252,7 @@ class yamlreader(yamlconfig):
data3=data2;
# print("OPCset",v['name'],data3[:64],mask)
logging.info(str(("OPCset",v['name'],data3[:64])))
if v['name']=='UNB2_FPGA_POL_ERAM_IOUT': logging.warn(str((data3,data2,mask,var1.get_value(),[hex(d) for d in data])));
# if v['name']=='UNB2_FPGA_POL_ERAM_IOUT': logging.warn(str((data3,data2,mask,var1.get_value(),[hex(d) for d in data])));
if len(data3)==1: data3=data3[0];
var1.set_value(data3);
......
......@@ -14,7 +14,7 @@ parser = argparse.ArgumentParser()
parser.add_argument("-s", "--simulator", help="Do not connect to I2c, but simulate behaviour.", action="store_true")
parser.add_argument("-t", "--test", help="Do not start OPC-UA server.", action="store_true")
parser.add_argument("-p", "--port", help="Port number to listen on [%(default)s].", type=int, default=4842)
parser.add_argument("-l", "--loglevel", help="Log level [%(default)s].", type=str, choices=["DEBUG","INFO","WARNING","ERROR"], default="INFO")
parser.add_argument("-l", "--loglevel", help="Log level [%(default)s].", type=str, choices=["DEBUG","INFO","WARNING","ERROR"], default="WARNING")
parser.add_argument("--loghost", help="Logstash host to which to forward logs [%(default)s]",type=str, default='')
parser.add_argument("-c", "--config", help="YAML config files, comma seperated [%(default)s]",type=str, default='RCU')
args = parser.parse_args()
......
......@@ -20,8 +20,14 @@ setRCUmask(RCUs)
# time.sleep(0.1)
# print("Time=",x*0.1,"s")
#call_debug_method("ADC0_test")
#call_debug_method("ADC1_test")
#call_debug_method("ADC2_test")
#call_debug_method("ADC_scramble_off")
call_debug_method("ADC_scramble_on")
call_debug_method("ADC_dither_off")
#call_debug_method("ADC_dither_on")
#call_debug_method("ADC_scramble_on")
#call_debug_method("ADC_test_off")
#call_debug_method("ADC_DCcorrect_on")
#call_debug_method("RCU_DTH_shutdown")
disconnect();
......@@ -3,10 +3,11 @@ from test_common import *
#RCUs=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];
#RCUs=[4,5];
#RCUs=[3,5,7,8,11];
RCUs=[2];
#RCUs=[0,2];
#RCUs=[0];
#RCUs=[0,1,2,3,4,5];
#RCUs=[4];
#RCUs=[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];
RCUs=[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];
connect()
#8,12
......@@ -20,11 +21,12 @@ setRCUmask(RCUs)
# time.sleep(0.1)
# print("Time=",x*0.1,"s")
callmethod("RCU_off")
#callmethod("RCU_off")
#wait()
#exit()
time.sleep(5)
#time.sleep(5)
callmethod("RCU_on")
#callmethod("RCU_on2") #highband
#wait()
#callmethod("RCU_on")
#time.sleep(1)
......
......@@ -9,6 +9,7 @@ RCU=[0,1,2,3];
#RCU=[2]
LEDvalue=False;
LEDvalue=True;
connect()
setRCUmask(RCU)
......
from test_common import *
name="RCU_PWR_ANT_on"
RCU=[2];
On=[True,True,True]
RCU=[0];
On=[False,True,False]
#On=[False,False,False]
#Att=[10,10,10]
#RCU=[1,2,3];
......
......@@ -2,11 +2,12 @@ from test_common import *
connect()
name="RCU_attenuator_dB"
RCU=[0];
#RCU=[4];
#RCU=[0];
RCU=[0,1,2,3];
#Att=[15,15,15]
#RCU=[0,1,2,3,16,17,18,19];
Att=[0,0,0]
#Att=[4,4,4]
Att=[4,4,4]
setAntmask(RCU)
......
from test_common import *
name="RCU_band_select"
#name="RCU_band_select"
name="RCU_hband_select"
#RCU=[0,1,2,3,4,5,8,12];
#RCU=[0,1,2,3,4];
RCU=[0];
#Att=[2,2,2]
Att=[2,2,2]
#Att=[4,4,4]
RCU=[0,1,2,3];
Att=[2,2,2] #30MHz
#Att=[1,1,1] #10
#Att=[4,4,4]
#Att=[1+4,2,1]
#Att=[2,1+4,1]
......
......@@ -2,7 +2,7 @@ from test_common import *
name="RCU_DAB_select"
#RCU=[0,1,2,3,4,5,8,12];
RCU=[0];
RCU=[0,1,2,3];
Att=[2,2,2] #2=DAB off
#Att=[1,1,1] #1=DAB on
......
......@@ -18,7 +18,7 @@ for r in RCU:
print("Att set:",att[:12])
set_debug_value(name+"_RW",att)
time.sleep(0.5)
time.sleep(1.0)
att=get_debug_value(name+"_R")
print("Att new:",att[:12])
......
......@@ -8,10 +8,11 @@ setRCUmask(RCU)
#call_debug_method("DTH_off")
FRCU=0.05;
FCH=0.425;
F0=101.0
#F0=101.0
F0=97.0
name="RCU_DTH_freq"
if False:
if True:
att=get_value(name+"_R")
print("freq old:",att[3*RCU[0]:3*RCU[-1]+3])
......@@ -27,6 +28,6 @@ if False:
print("freq new :",att[3*RCU[0]:3*RCU[-1]+3])
#callmethod("RCU_DTH_on")
callmethod("RCU_DTH_off")
#callmethod("RCU_DTH_off")
disconnect()
\ No newline at end of file
RCU=0
RCU=1
HBAT=0 #HBAT on RCU 0..2
#HBA=5; #HBA Element in HBAT
#BFX=11 #delay in 0.5ns
......@@ -17,7 +17,7 @@ i=(RCU*3+HBAT)*32
val,tp=get_value_type(name+"_R")
print("old:",val[i:i+32])
val[i:i+32]=np.array(range(32))[::]
val[i:i+32]=np.array(range(32))[::]*0
print("set:",val[i:i+32])
set_value(name+"_RW",val,tp)
......
......@@ -13,13 +13,13 @@ setAntmask([RCU],AntMask)
i=(RCU*3+HBAT)*32+HBA*2
val=get_value(name+"_R")
print("old:",val[i:i+2])
val,tp=get_value_type(name+"_R")
print("old:",tp,val[i:i+2])
val[i]=BFX
val[i+1]=BFY
set_value(name+"_RW",val)
set_value(name+"_RW",val,tp)
time.sleep(1)
val=get_value(name+"_R")
print("new:",val[i:i+2])
......
from test_common import *
connect()
rate= 1 #seconds
rate= 0 #seconds
name="RECVTR_monitor_rate_RW"
print("old:",get_value(name))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment