[Jamie, Jenne, Mirko]
We have installed the new c1oaf (online adaptive feed-forward) model. This model is now running on c1lsc. It's not really doing anything at the moment, but we wanted to get the model running, with all of it's interconnections to the other models.
c1oaf has interconnections to both c1lsc and c1pem via the following routes:
c1lsc ->SHMEM-> c1oaf
c1oaf ->SHMEM-> c1lsc
c1pem ->SHMEM-> c1rfm ->PCIE-> c1oaf
Therefore c1lsc, c1pem, and c1rfm also had to be modified to receive/send the relevant signals.
As always, when adding PCIx senders and receivers, we had to compile all the models multiple times in succession so that the /opt/rtcds/caltech/c1/chans/ipc/C1.ipc would be properly populated with the channel IPC info.
There were a couple of issues that came up when we installed and re/started the models:
When the c1oaf model was started, it had no C1:DAQ-FB0_C1OAF_STATUS channel, as it's supposed to. In the daqd log (/opt/rtcds/caltech/c1/target/fb/logs/daqd.log.19901) I found the following:
Unable to find GDS node 22 system c1oaf in INI files
It turns out this channel is actually created by the frame builder, and it could not find the channel definition file for the new model, so it was failing to create the channels for it. The frame builder "master" file (/opt/rtcds/caltech/c1/target/fb/master) needs to list the c1oaf daq ini files:
These were added, and the framebuilder was restarted. After which the C1:DAQ-FB0_C1OAF_STATUS appeared correctly.
This turned out to be because of an oversight in how we wired up the skeleton c1oaf model. For the moment the c1oaf model has only the PCIx sends and receives. I had therefore grounded the inputs to the SHMEM parts that were meant to send signals to C1LSC. However, this made the RCG think that these SHMEM parts were actually receivers, since it's the grounding of the inputs to these parts that actually tells the RCG that the part is a receiver. I fixed this by adding a filter module to the input of all the senders.
Once this was all fixed, the models were recompiled, installed, and restarted, and everything came up fine.
All model changes were of course committed to the cds_user_apps svn as well.