Alex updated the awg.par file to handle all the testpoints. Basically its very similar to the testpoint.par, but the prognum lines have to be 1 higher than the corresponding prognum in testpoint.par. A entry looks like:
After running "diag -i" and seeing some RPC number conflicts, we went into /cvs/cds/caltech/cds/target/gds/param/diag_C.conf and changed the line from
&chn * * 192.168.1.2 822087685 1
&chn * * 192.168.1.2 822087700 1
The number represents an RPC number. This was conflicting with the RPC number associated with the awgtpman processes. We then had to update the /etc/rpc file as well. At the end we changed chnconf 822087685 to chnconf 822087700. We then run /usr/sbin/xinetd reload
Lastly we edited the /etc/xinetd.d/chnconf file line
server_args = /cvs/cds/caltech/target/gds/param/tpchn_C4.par /cvs/cds/caltech/target/gds/param/tpchn_C5.par
server_args = /cvs/cds/caltech/target/gds/param/tpchn_C1.par /cvs/cds/caltech/target/gds/param/tpchn_C2.par /cvs/cds/caltech/target/gds/param/tpchn_C3.par /cvs/cds/caltech/target/gds/param/tpchn_C4.par /cvs/cds/caltech/target/gds/param/tpchn_C5.par /cvs/cds/caltech/target/gds/param/tpchn_C6.par /cvs/cds/caltech/target/gds/param/tpchn_C7.par /cvs/cds/caltech/target/gds/param/tpchn_C8.par /cvs/cds/caltech/target/gds/param/tpchn_C9.par
Alex also recompiled the frame builder code to be able to handle more than 7 front ends. This involved tracking down a newer version of libtestpoint.so on c1iscex and moving it over to megatron, then going in and by hand adding the ability to have up to 10 front ends connected.
Alex has said he doesn't like this code and would like it to dynamically allocate properly for any number of servers rather than having a dumb hard coded limit.
Other changes he needs to make:
1) Get rid of set dcu_rate ## = 16384 type lines in the daqrc file. That information is available from the /caltech/chans/C1LSC.ini type files which are automatically generated when you compile a model. This means not having to go in by hand to update these in daqrc.
2) Get some awg.par and testpoint.par rules, so that these are automatically updates when you build a model. Make it so it automatically assigns a prognum when read in rather than having to hard code them in by hand.
3)Slave the awgtpmans to a single clock running from the IO processor x00. This ensures they are all in sync.