Awhile back we had requested a feature for the RCG code where a single file would define a memory location's name as well as its explicit hex address. Alex told me it had been implemented in the latest code in SVN. After being unable to find said file, I went back and talked to him and Rolf. Rolf said it existed, but had not been checked into the SVN yet.
I now have a copy of that file, called G1.ipc. It is supposed to live in /cvs/cds/caltech/chans/ipc/ , so I created the ipc directory there. The G1.ipc file is actually for a geo install, so we'll eventually make a C1.ipc file.
The first couple lines look like:
# /cvs/cds/geo/chans/ipc/G1.ipc
[default]
ipcType=SHMEM
ipcRate=2048
ipcNum=0
desc=default entry
[G1:OMC-QPD1P]
ipcType=SHMEM
ipcRate=32768
ipcNum=0
desc=Replaces 0x2000
#[G1:OMC-NOTUSED]
#ipcType=SHMEM
#ipcRate=32768
#ipcNum=1
[G1:OMC-QPD2P]
ipcType=SHMEM
ipcRate=32768
ipcNum=1
desc=Replaces 0x2008
There are also section using ipcType IPC:
[G1:SUS-ADC_CH_24]
ipcType=PCI
ipcRate=16384
ipcNum=1
desc=Replaces 0x20F0
[G1:SUS-ADC_CH_25]
ipcType=PCI
ipcRate=16384
ipcNum=2
desc=Replaces 0x20F0
Effectively the ipcNum tells it which memory location to use, starting with 0x2000 (at least thats how I'm interpreting it. Every entry of a given ipcType has a different ipcNum which seems to be correlated to its description (at least early on - later in the file many desc= lines repeat, which I think means people were copy/pasting and got tired of editing the file. Once I get a C1.ipc file going, it should make our .mdl files much more understandable, at least for communicating between models. It also looks like it somehow interacts with the ADCs/DACs with ipcType PCI, although I'm hoping to get a full intro how to use the file tomorrow from Rolf and Alex. |