Skip to content
Snippets Groups Projects
Select Git revision
  • 121f73c528b45a41a576ac63ad380a204a20331a
  • master default protected
  • zhang-master-patch-34807
  • add-single-element-interface
  • ast-919-readthedocs
  • ncp_fix
  • workaround-wsclean-issue-83
  • ast-645-add-beam-normalisation-mode-preapplied
  • ast-645-add-beam-normalisation-mode-jm
  • activate-oskar-pybindings
  • disable-element-beam-1
  • submodulesync
  • fix-eigen
  • ncp_check
  • random-fixes
  • lobes-se607-1
  • test-schaapcommon
  • just-testing
  • extend-add_beaminfo-script
  • extend-telescope-interface-to-support-dp3
  • lobes-investigation
  • v0.3.1
  • v0.3.0
  • v0.2.0
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
28 results

add_beaminfo.py

Blame
  • Forked from ResearchAndDevelopment / EveryBeam
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    RCUH_I2C_test.py 2.09 KiB
    import RPi.GPIO as GPIO
    from time import sleep
    I2C_reset_pin=15
    
    ##NB translator should be off or monitor should be 0
    name='RECVTR_HB' #YAML config file with all register values etc
    varID='RCU_PCB_ID'
    
    import logging
    import argparse
    from pypcc.opcuaserv import opcuaserv
    from pypcc.opcuaserv import i2client
    from pypcc.opcuaserv import 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
    
    testtime=datetime.now().strftime("%y-%m-%d %H:%M")
    
    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')
    
    
    GPIO.setmode(GPIO.BCM)
    
    
    
    
    RunTimer=True;
    conf=yc.yamlconfig(name)
    conf.linkdevices()
    conf.loaddrivers()
    conf.linkdrivers()
    
    
    GPIO.setup(I2C_reset_pin,GPIO.OUT)
    #GPIO.output(I2C_reset_pin,0)
    #sleep(0.5)
    #GPIO.output(I2C_reset_pin,1)
    
    print("State=",GPIO.input(I2C_reset_pin))
    
    def GetVal(name,RCUNR,N=1):
     varid=conf.getvarid(name);
    # print("varid",varid)
     var1=conf.getvars()[varid]
     dim=var1['dim']
     drv=var1.get('drivercls');
     mask=[False]*RCUNR*N+[True]*N+[False]*((dim-RCUNR-1)*N);
     data=drv.OPCUAReadVariable(varid,var1,mask)
     data=data[0].data
     N3=len(data)//dim
     return data[N3*RCUNR:N3*(RCUNR+1)],var1
    
    for x in range(32):
       GPIO.output(I2C_reset_pin,0)
       sleep(0.01)
       GPIO.output(I2C_reset_pin,1)
       sleep(0.01)
       data,var1=GetVal(varID,x);
       if data[0] is None:
         print(x,data[0])
       else:
         ID=("%.2x%.2x%.2x%.2x" % (data[0],data[1],data[2],data[3]))
         print(x,ID)
    #   print("I2C lines=",GPIO.input(2),GPIO.input(3))
    
    if False:
      GPIO.setup(2,GPIO.IN)
      GPIO.setup(3,GPIO.IN)
      print("I2C lines=",GPIO.input(2),GPIO.input(3))
      GPIO.setup(2,GPIO.OUT)
      GPIO.setup(3,GPIO.OUT)
      GPIO.output(2,0)
      GPIO.output(3,0)
      GPIO.output(2,1)
      GPIO.output(3,1)
      GPIO.setup(2,GPIO.IN)
      GPIO.setup(3,GPIO.IN)
      print("I2C lines=",GPIO.input(2),GPIO.input(3))
    GPIO.cleanup()