CAT


D ocumentation

Version

Current

Tag

Date Notes
HEAD cat-2-2  
  • adapt for wxWidgets 2.6.3 compatibility

  • Correct compilation warnings

v2r1 cat-2-1 24/10/06
  • Implementation of the CAT Server for DIM protocole both in the interpreter and the processus classes

  • Add CB.h/.cpp and CB_PGA.h/.cpp for SPD Control board (and PGA) definition.

  • Move classes CROC, CROCFe_PGA, Spy_PGA, RAMFeCroc, CROCPage, ViewCrocFeRAM, RAMCrocDebugWindow, ViewCrocFifo classes to now classes having the same type with the addition of the suffix '_v2'.

    Now, the previous classes describe the next and final version of the CROC (v3)

  • Replace Trailer in Calo data format by a Control word in between header and first data word

  • Add SpecsGlue and SpecsMezzanine classes (SpecsSlave is the base class) to differentiate the implementations

v2r0 cat-2-0 28/03/06 Copy of the SpecUser-Dev-May30-05 branch

Package

CATAdmin CATClient CATCmd CATCore CATEnv CATEvent CATGui CATInterfaces CATPolicy CATProc

Talk

Introduction on CAT:    CERN-080305.pdf

Mails Sent to users

May 12nd, 06

We received the new prototype of the CROC which will be the definitive version of our board. It is now made from reprogrammable APA FPGAs. As the firmware of this new board is being developed, the software is also evolving and I had to create a new type of classes for the new version.

In fact, as the new version will soon be the default and last version of the CROC, I created a new type of classes for the *previous* version of the CROC namely the version 2. Thus, all the classes related to the CROC that you actually have in your test benches have seen their names changed by the addition of the suffix '_v2'. The code has simply be adapted. I tried to modify the processes accordingly and I hope that you will not see any effect.

The classes affected are : CROC, CROCFe_PGA, Spy_PGA, RAMFeCroc, CROCPage, ViewCrocFeRAM, RAMCrocDebugWindow and ViewCROCFifo. You have also to be careful that in your cdf files, the type of CROC that you should presently use is not anymore CROC but CROC_v2. Indeed, the type (in the CAT language) of the Element corresponding to the new class CROC_v2 has also become CROC_v2.  This is understood by the interpreter.

The new version is in the HEAD revision of cvs. It will be tagged soon. You may find the lists of the current modifications on
http://frederic.web.cern.ch/frederic/CAT.htm
In case of trouble, please, feel free to contact me.


April 06th, 06

I modified CATCore in order to include harware modifications in the SPECS into the software. Daniel implemented new functionalities in the Glue which make Specs Mezzanine and Specs Glue different on several respects. The effect is that the control register of the two types of slaves will be different. I cannot simply use a single class (SpecsSlave) for the two.  I defined two new classes derived from the previous SpecsSlave which are called SpecsGlue and SpecsMezzanine (in fact SpecsMezzanine already existed but was essentially empty) and contain the specific implementations. As no 'real' harware corresponds to the base class SpecsSlave, you have to use the two new classes SpecsGlue or SpecsMezzanine in your software. This is quite simple : simply replace SpecsSlave with SpecsGlue or SpecsMezzanine (the function calls and instances used have not been changed). Of course, from a glue implemented with a SpecsSlave class you were able  to virtually reach a DCU !!!! Although this was of course not possible in reality !!! This is not possible anymore and the software implementation follows the hardware design.

Notice that CATCmd has also been modify and will recognize SpecsGlue and SpecsMezzanine in your configuration files... but SpecsSlave will not be understood anymore by the interpreter. That means that the configurations have to be adapted also if you used SpecsSlave in your configuration files.

To compile and test the new version I already had to modify some of the implementations and probably yours.

This new version is in the header directly and should be tagged in a few days.

March 28, 06

the present head revision of CAT has been tagged cat-2-0. This should have no effect on anyone of you. In case you which to get the software in its state after the move of the branch Specs-Dev-May30-05 to the main trunk, you may consider checking out the present tag (cat-2-0) of the program.

Notice that the same tag and hence version number (cat-2-0) is now applied on every package.

Daniel will soon release a new version of the glue. In fact, he is forced in future to have different meaning for the bits of the control register of the glue and the specs mezzanine. Thus we will have to have two classes to manage the specs glue and the specs mezzanine. This should be done soon. The only modification for the users of such components will be to change from SpecsSlave (the existing C++ class) to SpecsMezzanine and SpecsGlue. You will be warned when the modification will be necessary. This should correspond to a new version/tag.


March 16, 06
 

The SpecsUser-Dev-May30-05 branch of CAT has been copied on the main branch of the CVS repository.
The previous version of the main branch had been already tagged incrementing the version numbers.

Hence, you should move you working copy to the main trunk. There should be no difference with respect to what you had before. But future commit should refer to the main trunk and not SpecsUser-Dev-may30-05 which will not be maintained.

The new HEAD will soon be tagged. All the packages will receive a tag or version number v2r0. In the future the versions of the different CAT packages will be the same.

The packages relative to a specific site (CATIHEP, CATLPC) have not been touched. I assumed that they are still in the main branch.

I created a web page for CAT. I will try to fill it with useful information in the next days. The url is :
http://frederic.web.cern.ch/frederic/CAT.htm

In case of trouble, please, contact me.I will wait a bit before tagging v2r0 . If you see any problem, could you tell me so and I will apply a correct before tagging.
 

March 10, 06


since roughly a year, the CAT versions compatible with the SpecsUser library are on a specific branch called SpecsUser-Dev-May30-05.

As no one is still using the main trunk branch (the version based *ONLY* on the SpecsLib) which is anyway not anymore maintained, I plan to replace the main trunk with the SpecsUser-Dev-May30-05 branch.  Of course, the full history will be completely and properly kept. That simply means that to get the new updated version you will simply have to checkout the head revision and not the specific SpecsUser-Dev-May30-05 branch anymore.

The modification is done on my local copy. I plan to commit at the beginning of last week. Before, I will tag the two branches (main trunk and SpecsUser branch).

If those evolution is a problem for you, please tell me soon. I think that Cristina was the last user of the main trunk, but if I am correct now you merged your version with the SpecsUser branch so that you do not need anymore the present version of the main branch.
 

  Frédéric Machefert

Last Modification : 06/03/2008