RodDaq/Dsp
The SCT DSP code development under RodDaq?/Dsp is currently in a branch called Rod-Sct-1-20. I've tagged the "working" version of this today (6/10/2005 AJB @ SR1), which was fixed up by Peter and Trevor in Oxford as Sct-1-20-pre-error-task-2005-10-06. Trevor has since then checked in modifications to several files which should make the error task run, however he was unable to check-in all of the necessary files due to a CVS "tag is not a branch" conflict relating to the CommonWithDsp? tag below. Alan believes this to be close to the code he ran on (6/10/2005) in which he noted ProblemsSeenInCurrentCode. (PWP - present binaries built from this source exactly.)RodDaq/CommonWithDsp
Unfortunately Rod-Sct-1-20 is used as a NON BRANCH TAG in RodDaq?/CommonWithDsp?. This means that while Rod-Sct-1-20 moves up the branch in RodDaq?/Dsp, it is a fixed version in RodDaq?/CommonWithDsp?.It is not clear whether Doug actually meant to use a branch tag for both Dsp and CommonWithDsp?, or a non-branch tag for both. Surely he cant have intended what we actually have?
In fact CommonWithDsp? CVS HEAD of today 6/10/2005 has not changed much since the Rod-Sct-1-20 tag. The only differences are in registerIndices.h. See SortingOutRodDaqCommonWithDsp. (PWP these changes seem to be a result of subsequent development of the pixel code.)
RodDaq/RodCrate
Rod-Sct-1-20 does not exist in RodDaq?/RodCrate?.The version of this we have been compiling against for our SctRodDaq code are modifications of files taken off of the SctRodDaq_3_0_BRANCH. The local modifications to this branch are NOT in CVS in the SctRodDaq_3_0_BRANCH, but ARE in Chris Lester's TDAQ1_BRANCH, which, because he didnt know what to do with it, was branched off a later part of the trunk.
Modified files in local copy not in SctRodDaq_3_0_BRANCH: M RodCrate/BocAddresses.h M RodCrate/BocCard.cxx M RodCrate/BocCard.h M RodCrate/Makefile M RodCrate/RodModule.cxx M RodCrate/RodModule.hResult of CVS diff and comments in this on page SortingOutRodDaqRodCrate.
The exceptions are TimDefine?.h, TimModule?.h and TimModule?.cxx, for we were using HEAD, because we wanted the updates for the TIM 3C.
RodDaq/RodUtils
Similar to RodCrate?.Rod-Sct-1-20 does not exist in RodDaq?/RodUtils?
The files have come off the SctRodDaq_3_0_BRANCH. Differences since then: in the local oxford-dev4 (now SR1) code:
M RodUtils/BocTest.cxx M RodUtils/FlashLoad.cxx M RodUtils/Makefile M RodUtils/MdspFlashLoad.cxxFor detailed diff see SortingOutRodDaqRodUtils
The most recent files ARE NOT in the SctRodDaq_3_0_BRANCH, but ARE in Chris Lester's TDAQ1_BRANCH, which, because he didnt know what to do with it, was branched off a later part of the trunk.
Making it Build
Checking out the packages as above provided me with a code base which nearly builds but not quite...
The only changes needed were to copy Doug's modified version of the file Rod-Sct-1-20 Dsp/Common/Include/memoryPartitions.h. The mods are in the TDAQ1_BRANCH version of this file, so checking out TDAQ1_BRANCH of this is equivalent. The differences are:
[pcphsctr05] /home/sctroddq/sctsw/RodDaq-sct-120-branch/RodDaq > cvs diff -r Rod-Sct-1-20 -r TDAQ1_BRANCH Dsp/Common/Include/memoryPartitions.h Index: Dsp/Common/Include/memoryPartitions.h =================================================================== RCS file: /afs/cern.ch/user/s/sctpixel/private/cvsroot/RodDaq/Dsp/Common/Include/memoryPartitions.h,v retrieving revision 1.5.2.1 retrieving revision 1.5.4.1 diff -r1.5.2.1 -r1.5.4.1 115c115 < #if defined(I_AM_MASTER_DSP) --- > #if ((defined(I_AM_MASTER_DSP))||(defined(I_AM_HOST))) 169c169 < #if defined(I_AM_MASTER_DSP) --- > #if (defined(I_AM_MASTER_DSP) || defined(I_AM_HOST)) 205c205 < #if defined(I_AM_MASTER_DSP) --- > #if (defined(I_AM_MASTER_DSP)||defined(I_AM_HOST)) 241c241 < #if defined(I_AM_MASTER_DSP) --- > #if (defined(I_AM_MASTER_DSP) || defined(I_AM_HOST)) 293c293 < #if defined(I_AM_MASTER_DSP) --- > #if (defined(I_AM_MASTER_DSP) || defined(I_AM_HOST)) 317a318,322 > //dpsf: Temp fix to allow memoryPartitions.h to be used in conjunction with new comRegDfns.h: > //dpsf: (comRegDfns.h defines memoryMap reg location & also contains IDREGS_BASE for host so > //dpsf: that it can look up the map register. memoryPartitions.h is now private to DSPs & > //dpsf: the map is the public interface.) > #if ((defined(I_AM_MASTER_DSP))||(defined(I_AM_SLAVE_DSP))) 325c330 < --- > #endif 331c336 < #if defined(I_AM_MASTER_DSP) --- > #if (defined(I_AM_MASTER_DSP) || defined(I_AM_HOST)) 469c474 < #if defined(I_AM_MASTER_DSP) --- > #if (defined(I_AM_MASTER_DSP)|| defined(I_AM_HOST))