Commit e48ef112 authored by David Cussans's avatar David Cussans

Adding scripts before modifying MarocSC.py

git-svn-id: https://svn2.phy.bris.ac.uk/svn/uob-hep-pc049a/trunk@34 e1591323-3689-4d5a-aa31-d1a7cbdc5706
parent 8a83cba7
This diff is collapsed.
#
# Script to read board ID from MAROC board
#
from PyChipsUser import *
bAddrTab = AddressTable("./pc049aAddrTable_marocdemo.txt")
board = ChipsBusUdp(bAddrTab,"192.168.200.16",50001)
adcData=board.blockRead("adcData",50)
print "adcData = " , adcData
#
# Script to read board ID from MAROC board
#
from PyChipsUser import *
bAddrTab = AddressTable("./pc049aAddrTable_marocdemo.txt")
board = ChipsBusUdp(bAddrTab,"192.168.200.16",50001)
firmwareID=board.read("FirmwareId")
print "Firmware ID = " , hex(firmwareID)
#!/bin/sh
export PYTHONPATH=~/PyChips_1_5_0_pre2A/src/:$PYTHONPATH
python readBoardID.py
#!/bin/python
import uhal
uri = "ipbusudp-2.0://192.168.200.16:50001"
address_table = "file://pc049aAddrTable_marocdemo.xml"
hw = uhal.getDevice( "pc049a" , uri , address_table )
# Debugging....
device_id = hw.id()
print hw
# Grab the device's URI
device_uri = hw.uri()
print device_uri
#...................
reg = hw.getNode("FirmwareId").read()
hw.dispatch()
print " REG =", hex(reg)
#
# Script to read board ID from MAROC board
#
from PyChipsUser import *
bAddrTab = AddressTable("./pc049aAddrTable.txt")
#board = ChipsBusUdp(bAddrTab,"192.168.201.8",50001)
board = ChipsBusUdp(bAddrTab,"192.168.200.16",50001)
board.write("Ram",0xDEADBEEF)
#board.write("Ram",0xFEADDEAD)
ramContents = board.read("Ram")
print "ram contents = " , hex(ramContents )
#
# Script to read out Trigger counters
#
from PyChipsUser import *
import sys
from optparse import OptionParser
####################################################################################################
parser = OptionParser()
parser.add_option("-i", dest = 'ipAddress' , default="192.168.200.16")
parser.add_option("-a", dest = 'boardAddressTable' , default="./pc049aAddrTable_marocdemo.txt")
(options, args) = parser.parse_args()
print "IP address = " + options.ipAddress
print "Board address table " + options.boardAddressTable
bAddrTab = AddressTable(options.boardAddressTable)
board = ChipsBusUdp(bAddrTab,options.ipAddress,50001)
firmwareID=board.read("FirmwareId")
print "Firmware = " , hex(firmwareID)
nChan = 64
#trigCounters = board.blockRead("trigCounterBase", nChan )
for chan in range(0 , nChan) :
trigCounterVal = board.read("trigCounterBase", nChan )
print "chan, count = " , chan , trigCounterVal
#board.blockWrite("trigCounterBase", nChan*[0] )
#trigCounters = board.blockRead("trigCounterBase", nChan )
#for chan in range(0 , nChan) :
# print "chan, count = " , chan , trigCounters[chan]
#
# Script to write to MAROC configuration ( slow control ) shift register
# Specify a set of bits to write high..
#
import sys
from optparse import OptionParser
from PyChipsUser import *
import MarocSC
parser = OptionParser()
parser.add_option("-i", dest = 'ipAddress' , default="192.168.200.16")
parser.add_option("-a", dest = 'boardAddressTable' , default="./pc049aAddrTable_marocdemo.txt")
(options, args) = parser.parse_args()
print "IP address = " + options.ipAddress
print "Board address table " + options.boardAddressTable
bAddrTab = AddressTable(options.boardAddressTable)
board = ChipsBusUdp(bAddrTab,options.ipAddress,50001)
firmwareID=board.read("FirmwareId")
print "Firmware = " , hex(firmwareID)
marocSC = MarocSC.MarocSC()
marocSC.setFlagValue("ON/OFF_dac",1)
SCData = marocSC.getLocalWordArray()
print SCData
# Should write to output data buffer
board.blockWrite("scSrDataOut",SCData)
scdata0 = board.blockRead("scSrDataOut",len(SCData))
print "SC SR words to write = " , scdata0
writeWithReset = 0
writeNoReset = 1
if writeWithReset:
scdata1 = board.blockRead("scSrDataIn",len(SCData))
print "Returned data (before write) = " , scdata1
# Trigger writing of control register
board.write("scSrCtrl" , 0x00000000)
print "Written data (with reset)"
scdata1 = board.blockRead("scSrDataIn",len(SCData))
print "Returned data (after write with reset = " , scdata1
if writeNoReset:
# Trigger writing of control register
board.write("scSrCtrl" , 0x00000001)
print "Written data (no reset)"
scdata1 = board.blockRead("scSrDataIn",len(SCData))
print "Returned data (after write no reset = " , scdata1
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment