Skip to content
Snippets Groups Projects
Select Git revision
  • 6be0083d7b3ea460f654f85a22d215417861f7ff
  • master default protected
  • dither_on_off_disabled
  • yocto
  • pypcc2
  • pypcc3
  • 2020-12-07-the_only_working_copy
  • v2.1
  • v2.0
  • v1.0
  • v0.9
  • Working-RCU_ADC,ID
  • 2020-12-11-Holiday_Season_release
13 results

Vars.py

  • kruger's avatar
    Paulus Kruger authored
    6be0083d
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Vars.py 8.36 KiB
    #from collections import namedtuple
    from recordclass import recordclass
    #from enum import Enum
    from .HWconf import *
    
    #OPCUA variables
    RCUmod=I2Cmodules.RCU
    
    #Var2dev=namedtuple("Var2dev","name MPaddr type devreg width bitoffset Scale")
    #VarArray=recordclass("VarArray","name nVars Vars RW type OPCR OPCW") #OPCR and OPCW linked at runtime
    RCU_att1= Var2dev("RCU_att1" ,RCUmod,DevType.I2C,RCU_IO1_OUT1,5 ,0,1)
    RCU_att2= Var2dev("RCU_att2" ,RCUmod,DevType.I2C,RCU_IO1_OUT2,5 ,0,1)
    RCU_att3= Var2dev("RCU_att3" ,RCUmod,DevType.I2C,RCU_IO2_OUT1,5 ,0,1)
    RCU_band1=Var2dev("RCU_band1",RCUmod,DevType.I2C,RCU_IO2_OUT2,2 ,0,1)
    RCU_band2=Var2dev("RCU_band2",RCUmod,DevType.I2C,RCU_IO2_OUT2,2 ,2,1)
    RCU_band3=Var2dev("RCU_band3",RCUmod,DevType.I2C,RCU_IO2_OUT2,2 ,4,1)
    RCU_led0= Var2dev("RCU_led0" ,RCUmod,DevType.I2C,RCU_IO2_OUT2,2 ,6,1)
    RCU_pwrd1=Var2dev("RCU_pwrd1",RCUmod,DevType.I2C,RCU_IO2_OUT1,1 ,6,1)
    RCU_temp1=Var2dev("RCU_temp1",RCUmod,DevType.I2C,RCU_AN_Temp ,23,0,4.21e-3)
    
    dummy=Var2dev("Dummy",RCUmod,DevType.Internal,None,8,0,1)
    
    
    Ant_mask=VarArray("Ant_mask"       ,3,[dummy,dummy,dummy]            ,RW.WriteOnly,datatype.dInt,3,None,None)
    RCU_att =VarArray("RCU_attenuator" ,3,[RCU_att1 ,RCU_att2 ,RCU_att3] ,RW.ReadWrite,datatype.dInt,3,None,None)
    RCU_band=VarArray("RCU_band"       ,3,[RCU_band1,RCU_band2,RCU_band3],RW.ReadWrite,datatype.dInt,3,None,None)
    
    RCU_mask=VarArray("RCU_mask"       ,1,[dummy]    ,RW.WriteOnly,datatype.dInt  ,1,None,None)
    RCU_temp=VarArray("RCU_temperature",1,[RCU_temp1],RW.ReadOnly ,datatype.dfloat,1,None,None)
    RCU_pwrd=VarArray("RCU_Pwr_dig"    ,1,[RCU_pwrd1],RW.ReadOnly ,datatype.dInt  ,1,None,None)
    RCU_LED =VarArray("RCU_LED0"       ,1,[RCU_led0] ,RW.ReadWrite,datatype.dInt  ,1,None,None)
    
    RCU_Dth3_freq=Var2dev("RCU_dth1_freq",RCUmod,DevType.I2Cbb,RCU_Dth3_Freq,32,0,1e-6)
    RCU_Dth2_freq=Var2dev("RCU_dth1_freq",RCUmod,DevType.I2Cbb,RCU_Dth2_Freq,32,0,1e-6)
    RCU_Dth1_freq=Var2dev("RCU_dth1_freq",RCUmod,DevType.I2Cbb,RCU_Dth1_Freq,32,0,1e-6)
    RCU_dth_freq=VarArray("RCU_dither_freq",3,[RCU_Dth1_freq,RCU_Dth2_freq,RCU_Dth3_freq],RW.ReadWrite,datatype.dfloat,3,None,None)
    
    HBA1_Delay=Var2dev("",RCUmod,DevType.HBA1,RCU_HBA1,5,2,1)
    HBA1_Pwr  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA1,1,1,1)
    HBA2_Delay=Var2dev("",RCUmod,DevType.HBA1,RCU_HBA2,5,2,1)
    HBA2_Pwr  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA2,1,1,1)
    HBA3_Delay=Var2dev("",RCUmod,DevType.HBA1,RCU_HBA3,5,2,1)
    HBA3_Pwr  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA3,1,1,1)
    HBA1_Delay=VarArray("HBA_element_beamformer_delays",3,[HBA1_Delay,HBA2_Delay,HBA3_Delay],RW.ReadWrite,datatype.dInt,96,None,None)
    HBA1_Pwr  =VarArray("HBA_element_pwr"  ,3,[HBA1_Pwr  ,HBA2_Pwr  ,HBA3_Pwr  ],RW.ReadWrite,datatype.dInt,96,None,None)
    
    #RCU_ID0=Var2dev("",RCUmod,DevType.I2C,RCU_ROM,8,0,1)
    #RCU_ID=VarArray("RCU_ID",1,[RCU_ID0],RW.ReadOnly,datatype.dInt,4,None,None)
    
    RCU_ID0=Var2dev("",RCUmod,DevType.I2C,RCU_ROM_ID,32,0,1)
    RCU_ID=VarArray("RCU_ID",1,[RCU_ID0],RW.ReadOnly,datatype.dInt,1,None,None)
    RCU_Ver0=Var2dev("",RCUmod,DevType.I2C,RCU_ROM_Ver,7,0,1)
    RCU_VER=VarArray("RCU_version",1,[RCU_Ver0],RW.ReadOnly,datatype.dstring,10,None,None)
    
    
    RCU_ADC1_lock=Var2dev("RCU_ADC1_lock",RCUmod,DevType.SPIbb,RCU_ADC1_PLL_stat,8,0,1)
    RCU_ADC2_lock=Var2dev("RCU_ADC2_lock",RCUmod,DevType.SPIbb,RCU_ADC2_PLL_stat,8,0,1)
    RCU_ADC3_lock=Var2dev("RCU_ADC3_lock",RCUmod,DevType.SPIbb,RCU_ADC3_PLL_stat,8,0,1)
    RCU_ADC_lock=VarArray("RCU_ADC_lock",3,[RCU_ADC1_lock,RCU_ADC2_lock,RCU_ADC3_lock],RW.ReadOnly,datatype.dInt,3,None,None)
    
    RCU_ADC1_SYNC=Var2dev("RCU_ADC1_SYNC",RCUmod,DevType.SPIbb,RCU_ADC1_SYNC_ctr,8,0,1)
    RCU_ADC2_SYNC=Var2dev("RCU_ADC2_SYNC",RCUmod,DevType.SPIbb,RCU_ADC2_SYNC_ctr,8,0,1)
    RCU_ADC3_SYNC=Var2dev("RCU_ADC3_SYNC",RCUmod,DevType.SPIbb,RCU_ADC3_SYNC_ctr,8,0,1)
    RCU_ADC_SYNC=VarArray("RCU_ADC_SYNC",3,[RCU_ADC1_SYNC,RCU_ADC2_SYNC,RCU_ADC3_SYNC],RW.ReadOnly,datatype.dInt,3,None,None)
    
    RCU_ADC1_JESD=Var2dev("RCU_ADC1_SYNC",RCUmod,DevType.SPIbb,RCU_ADC1_JESD_ctr,8,0,1)
    RCU_ADC2_JESD=Var2dev("RCU_ADC2_SYNC",RCUmod,DevType.SPIbb,RCU_ADC2_JESD_ctr,8,0,1)
    RCU_ADC3_JESD=Var2dev("RCU_ADC3_SYNC",RCUmod,DevType.SPIbb,RCU_ADC3_JESD_ctr,8,0,1)
    RCU_ADC_JESD=VarArray("RCU_ADC_JESD",3,[RCU_ADC1_JESD,RCU_ADC2_JESD,RCU_ADC3_JESD],RW.ReadOnly,datatype.dInt,3,None,None)
    
    RCU_ADC1_CML=Var2dev("RCU_ADC1_SYNC",RCUmod,DevType.SPIbb,RCU_ADC1_CML_level,8,0,1)
    RCU_ADC2_CML=Var2dev("RCU_ADC2_SYNC",RCUmod,DevType.SPIbb,RCU_ADC2_CML_level,8,0,1)
    RCU_ADC3_CML=Var2dev("RCU_ADC3_SYNC",RCUmod,DevType.SPIbb,RCU_ADC3_CML_level,8,0,1)
    RCU_ADC_CML=VarArray("RCU_ADC_CML",3,[RCU_ADC1_CML,RCU_ADC2_CML,RCU_ADC3_CML],RW.ReadOnly,datatype.dInt,3,None,None)
    
    
    RCU_IO1_1= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO1_OUT1,8,0,1)
    RCU_IO1_2= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO1_OUT2,8,0,1)
    #RCU_IO1_3= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO1_CONF1,8,0,1)
    #RCU_IO1_4= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO1_CONF2,8,0,1)
    #RCU_IO1=VarArray("RCU_IO1",3,[RCU_IO1_1,RCU_IO1_2,RCU_IO1_3],RW.ReadOnly,datatype.dInt,None,None)
    RCU_IO2_1= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO2_OUT1,8,0,1)
    RCU_IO2_2= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO2_OUT2,8,0,1)
    #RCU_IO2_3= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO2_CONF1,8,0,1)
    #RCU_IO2_4= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO2_CONF2,8,0,1)
    #RCU_IO2=VarArray("RCU_IO2",3,[RCU_IO2_1,RCU_IO2_2,RCU_IO2_3],RW.ReadOnly,datatype.dInt,None,None)
    RCU_IO3_1= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO3_OUT1,8,0,1)
    RCU_IO3_2= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO3_OUT2,8,0,1)
    #RCU_IO3_3= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO3_CONF1,8,0,1)
    #RCU_IO3_4= Var2dev("" ,RCUmod,DevType.I2C,RCU_IO3_CONF2,8,0,1)
    #RCU_IO3=VarArray("RCU_IO3",3,[RCU_IO3_1,RCU_IO3_2,RCU_IO3_3],RW.ReadOnly,datatype.dInt,None,None)
    
    RCU_OUT1=VarArray("RCU_OUT1",3,[RCU_IO1_1,RCU_IO2_1,RCU_IO3_1],RW.ReadOnly,datatype.dInt,3,None,None)
    RCU_OUT2=VarArray("RCU_OUT2",3,[RCU_IO1_2,RCU_IO2_2,RCU_IO3_2],RW.ReadOnly,datatype.dInt,3,None,None)
    #RCU_CNF1=VarArray("RCU_CONF1",3,[RCU_IO1_3,RCU_IO2_3,RCU_IO3_3],RW.ReadOnly,datatype.dInt,None,None)
    #RCU_CNF2=VarArray("RCU_CONF2",3,[RCU_IO1_4,RCU_IO2_4,RCU_IO3_4],RW.ReadOnly,datatype.dInt,None,None)
    
    
    
    OPC_devvars=[RCU_mask,Ant_mask,RCU_att,RCU_band,RCU_temp,RCU_pwrd,RCU_LED,RCU_ADC_lock,RCU_ADC_SYNC,RCU_ADC_JESD,RCU_ADC_CML,RCU_OUT1,RCU_OUT2,RCU_ID,RCU_VER]#,HBA1_Delay,HBA1_Pwr]#,RCU_CNF1,RCU_CNF2]
    
    
    
    
    
    
    #Instr=namedtuple("DevInstr","type dev nvalue value")
    #Instrs=namedtuple("Instr","name ninstr instr")
    
    #OPCUA methods
    
    RCU_init=Instrs("ReadRegisters",2,[
       Instr(DevType.VarUpdate,RCU_OUT1,3,[0,0,0]),
       Instr(DevType.VarUpdate,RCU_OUT2,3,[0,0,0])
    ])
    
    ADC_on=Instrs("ADC_on",15,[
       Instr(DevType.SPIbb,RCU_ADC1_JESD_ctr,1,[14]),
       Instr(DevType.SPIbb,RCU_ADC1_CML_level,1,[0x7]),
       Instr(DevType.SPIbb,RCU_ADC1_SYNC_ctr,1,[1]),
       Instr(DevType.SPIbb,RCU_ADC1_update,1,[1]),
       Instr(DevType.SPIbb,RCU_ADC2_JESD_ctr,1,[14]),
       Instr(DevType.SPIbb,RCU_ADC2_CML_level,1,[0x7]),
       Instr(DevType.SPIbb,RCU_ADC2_SYNC_ctr,1,[1]),
       Instr(DevType.SPIbb,RCU_ADC2_update,1,[1]),
       Instr(DevType.SPIbb,RCU_ADC3_JESD_ctr,1,[14]),
       Instr(DevType.SPIbb,RCU_ADC3_CML_level,1,[0x7]),
       Instr(DevType.SPIbb,RCU_ADC3_SYNC_ctr,1,[1]),
       Instr(DevType.SPIbb,RCU_ADC3_update,1,[1]),
    #   Instr(DevType.VarUpdate,RCU_ADC_lock,3,[0,0,0]),
       Instr(DevType.VarUpdate,RCU_ADC_SYNC,3,[0,0,0]),
       Instr(DevType.VarUpdate,RCU_ADC_JESD,3,[0,0,0]),
       Instr(DevType.VarUpdate,RCU_ADC_CML,3,[0,0,0])
    ])
    
    RCU_on=Instrs("RCU_on",12,[
       Instr(DevType.I2C,RCU_IO2_CONF1,1,[0]),
       Instr(DevType.I2C,RCU_IO2_CONF2,1,[0]),
       Instr(DevType.I2C,RCU_IO3_CONF1,1,[0]),
       Instr(DevType.I2C,RCU_IO3_CONF2,1,[0]),
       Instr(DevType.I2C,RCU_IO1_CONF1,1,[0]),
       Instr(DevType.I2C,RCU_IO1_CONF2,1,[0]),
       Instr(DevType.I2C,RCU_IO2_OUT1,1,[0x4A]),
       Instr(DevType.I2C,RCU_IO2_OUT2,1,[0x55]),
       Instr(DevType.I2C,RCU_IO3_OUT1,1,[0x15]),
       Instr(DevType.I2C,RCU_IO3_OUT2,1,[0x47]),
       Instr(DevType.I2C,RCU_IO1_OUT1,1,[0xCA]),
       Instr(DevType.I2C,RCU_IO1_OUT2,1,[0xCA]),
    #   Instr(DevType.VarUpdate,RCU_att,3,[0,0,0]),
       Instr(DevType.VarUpdate,RCU_pwrd,1,[0]),
       Instr(DevType.VarUpdate,RCU_OUT1,3,[0,0,0]),
       Instr(DevType.VarUpdate,RCU_OUT2,3,[0,0,0]),
    #   Instr(DevType.Instr,ADC1_on,0,[]),
    #   Instr(DevType.Instr,ADC2_on,0,[]),
    #   Instr(DevType.Instr,ADC3_on,0,[])
    #   Instr(DevType.VarUpdate,RCU_ADC_lock,3,[0,0,0])
    ])
    
    RCU_off=Instrs("RCU_off",1,[
    #   Instr(DevType.Var,RCU_mask,4,[1,1,1,1]),
       Instr(DevType.Var,RCU_pwrd,32,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),
    #   Instr(DevType.Var,RCU_mask,4,[0,0,0,0])
    ])
    
    
    OPC_methods=[RCU_on,RCU_off,ADC_on]