from test_common import * busy="RECVTR_translator_busy_R" RCU=0 AntMask=[False,True,False] connect() set_value("RECVTR_monitor_rate_RW",0) if False: setRCUmask([RCU]) callmethod("RCU_on") wait_not_busy(busy,timeout_sec=4) setAntmask([RCU],AntMask) wait_not_busy(busy,timeout_sec=4) #val,tp=get_value_type(name+"_R") if False: print("LEDs & PWR on") set_value("HBAT_PWR_on_RW",[True]*(32*96)) set_value("HBAT_PWR_LNA_on_RW",[True]*(32*96)) set_value("HBAT_LED_on_RW",[True]*(32*96)) val,tp=get_value_type("HBAT_BF_delay_steps_R") set_value("HBAT_BF_delay_steps_RW",val,tp) wait_not_busy(busy,timeout_sec=4) setAntmask([RCU],AntMask,name="AHBAT_mask_RW") wait_not_busy(busy,timeout_sec=4) sinr=1 if False: set_value("AHBAT_Vref_RW",[0x04]*96) wait_not_busy(busy,timeout_sec=4) if False: print("Configuration:") callmethod("AHBAT_update") wait_not_busy(busy,timeout_sec=8) #print("UID",get_value("AHBAT_UID_R")[16*sinr:16*(sinr+1)]) uid=get_value("AHBAT_UID_R")[16*sinr:16*(sinr+1)] #print("UID",[hex(x) for x in uid]) swver=get_value("AHBAT_software_version_R")[16*sinr:16*(sinr+1)] #print("SW ver",[('%08x'%x)[::-1] for x in swver]) PCBver=get_value("AHBAT_PCB_version_R")[16*sinr:16*(sinr+1)] PCBnr=get_value("AHBAT_PCB_number_R")[16*sinr:16*(sinr+1)] #print("PCB ver",PCBver) config=get_value("AHBAT_config1_R")[16*sinr:16*(sinr+1)] config2=get_value("AHBAT_config2_R")[16*sinr:16*(sinr+1)] for cnt,u1,s1,p1,c1,c2,n1 in zip(range(16),uid,swver,PCBver,config,config2,PCBnr): print('%2i %016x %08x %016x%016x %s %s'%(cnt+1,u1,s1,c1,c2,p1,n1)) if True: print("ADC values:") callmethod("AHBAT_read_ADC") wait_not_busy(busy,timeout_sec=8) uid=get_value("AHBAT_ADC_R")[16*sinr:16*(sinr+1)] for cnt,val in enumerate(uid): print('%2i %6i %6i %6i %6i %6i'%(cnt+1,val&0xffff,(val>>16)&0xffff,(val>>32)&0xffff,(val>>48)&0xffff,((val>>16)&0xffff)-((val)&0xffff))) # print("ADC",['%016x'%x for x in uid]) disconnect() exit() name="HBAT_BF_delay_steps" NewVal1=range(32) NewVal2=[1]*32 #NewValues=[NewVal1,NewVal2,NewVal1,NewVal2,NewVal1,NewVal2,NewVal1,NewVal2,NewVal1,NewVal2] NewValues=[NewVal1,NewVal2] DEBUG=True from test_common import * import numpy as np connect() i=(RCU*3)*32 val,tp=get_value_type(name+"_R") if DEBUG: print("Current values:"); for x in range(3): print(val[i+x*32:i+(x+1)*32]) for cnt,NewVal in enumerate(NewValues): for x in range(3): val[i+x*32:i+(x+1)*32]=NewVal set_value(name+"_RW",val,tp) if DEBUG: print("set:") for x in range(3): print(val[i+x*32:i+(x+1)*32]) time.sleep(1) wait_not_busy(busy,timeout_sec=4) # time.sleep(0.1) val=get_value(name+"_R") if DEBUG: print("readback:") for x in range(3): print(val[i+x*32:i+(x+1)*32]) same=True; for x in range(3): for y in range(32): if not(val[i+x*32+y]==NewVal[y]): same=False; print(cnt+1,"Success" if same else "FAILED!") #time.sleep(5) #val[i:i+64]=[0]*64 #set_value(name+"_RW",val) #print("set:",val[i:i+64]) #time.sleep(1) #val=get_value(name+"_R") #print("new:",val[i:i+64]) disconnect()