Main Page   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields  

configuration.idl

Go to the documentation of this file.
00001 #ifndef IPC_IDL
00002 #include "ipc/ipc.idl"
00003 #define IPC_IDL
00004 #endif
00005 
00006 module sctConf {
00007   struct SlaveConfig {
00008      string emifFile;
00009      string ipramFile;
00010      string idramFile;
00011      string extFile;
00012   };
00013 
00014   typedef sequence <SlaveConfig> SlaveList;
00015 
00016   struct RodConfig {
00017     unsigned long baseAddress;
00018     unsigned long mapSize;
00019     long numSlaves;
00020     SlaveList slaves;
00021   };
00022 
00023   struct TimConfig {
00024     unsigned long baseAddress;
00025     unsigned long mapSize;
00026   };
00027 
00028   // Old direct BOC access
00029 //   struct BOCAddress {
00030 //     long address;
00031 //     long value;           // Possibly byte??
00032 //   };
00033 
00034   struct BOCChannelConfig {
00035     short current;
00036     short delay;
00037     short markSpace;
00038 
00039     short threshold0;
00040     short delay0;
00041 
00042     short threshold1;
00043     short delay1;
00044   };
00045 
00046   struct BOCGlobalConfig {
00052     short validMask;
00053 
00054     short clockControl;
00055     short rxDataMode;
00056     short rxDacClear;
00057     short txDacClear;
00058     short vernierFinePhase;
00059     short vernierClockPhase0;
00060     short vernierClockPhase1;
00061     short bpmClockPhase;
00062     short bregClockPhase;
00063   };
00064 
00065   //
00066   // This next section defines an ABCDModule
00067   // You should refer to RodDaq/CommonWithDsp/sctStructure.h for information
00068   // This structure is defined so that in C/C++ sizeof this structure and sizeof
00069   // ABCDModule are the same allowing a re-interpret cast.
00070   //
00071   
00072 
00073     struct ABCDConfig {
00074     short bitField; //This is a bitfield - needs to be interpreted according to sctStructure.h
00075     };
00076 
00077     typedef unsigned long UnusedArray[3];
00078     typedef float RcParam[3];
00079   struct ABCDCaldata{
00080     octet rc_function;
00081     RcParam rc_params;
00082     float c_factor;
00083     UnusedArray unused;
00084     };
00085 
00086     typedef unsigned long MaskArray[4];
00087   struct ABCDBasic {
00088       ABCDConfig   config;
00089     unsigned short unused;
00090     octet  vthr;
00091     octet  vcal;
00092     octet  delay;
00093     octet  preamp;
00094     octet  shaper;
00095     MaskArray mask;
00096     };
00097 
00098     typedef octet TrimArray[128];
00099     struct ABCDChip{
00100     octet        active;
00101     octet        address;
00102     octet        unused;
00103     octet        target;
00104     ABCDBasic    basic;
00105     ABCDCaldata  caldata;
00106     TrimArray    trim;
00107     };
00108 
00109   typedef ABCDChip ChipArray[12];
00110 //   typedef octet RxArray[4];
00111   typedef octet RxArray[2];
00112 //   typedef octet UnusedArray1[2];
00113   typedef octet UnusedArray1[4];
00114 //   typedef unsigned long UnusedArray2[3];
00115   typedef unsigned long UnusedArray2[4];
00116   struct ABCDModule{
00117     ChipArray chip;
00118     octet present;
00119     octet active;
00120     octet select;
00121     octet groupId;
00122     unsigned long bocConfig;        //Should be ignored
00123     octet pTTC;
00124     octet rTTC;
00125     RxArray rx;
00126     UnusedArray1 unused1;
00127     UnusedArray2 unused2;
00128     };
00129 
00130   
00131   //
00132   // End of ABCDModule section
00133   //
00134 
00135 
00136   exception ConfigurationException {
00137     //    ConfigurationException(in string str);
00138     string detail;
00139   };
00140 
00141   typedef sequence <unsigned long> PartitionList;
00142   typedef sequence <unsigned long> CrateList;
00143   typedef sequence <unsigned long> RodList;
00144   typedef sequence <unsigned long> MURList;
00145   typedef sequence <string> ModuleList;
00146 //   typedef sequence <BOCAddress> BOCAddressList;
00147   typedef sequence <octet> CharBlock;
00148 
00149   enum MURType {BARREL, ENDCAP, UNMAPPED, UNKNOWN};
00150 
00151   interface Configuration : ipc::freeable {
00152     const string serverName = "SCTConfigurationServer";
00153     const string instanceName = "Test_Server";
00154 
00155     // Not allowed to throw anything!
00156 //     string getReleaseVersion();
00157 //     string getLocation();
00158 
00159     PartitionList listPartitions()
00160       raises(ConfigurationException);
00161     CrateList listCratesInPartition(in unsigned long partition)
00162       raises(ConfigurationException);
00163     boolean isDummyCrate(in unsigned long partition, in unsigned long crate);
00164     RodList listRodsInCrate(in unsigned long partition, in unsigned long crate) 
00165       raises(ConfigurationException);
00166     MURList listMURSInRod(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00167       raises(ConfigurationException);
00168     ModuleList listModulesInMUR(in unsigned long partition, in unsigned long MUR)
00169       raises(ConfigurationException);
00170     ModuleList listRModulesInMUR(in unsigned long partition, in unsigned long MUR)
00171       raises(ConfigurationException);
00172 
00173     ModuleList listAllModules()
00174       raises(ConfigurationException);
00175 
00176     ModuleList listUnusedModules()
00177       raises(ConfigurationException);
00178 
00179     ABCDModule getModuleConfig(in string mod)
00180       raises(ConfigurationException);
00181     RodConfig getRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00182       raises(ConfigurationException);
00183     TimConfig getTimConfig(in unsigned long partition, in unsigned long crate)
00184       raises(ConfigurationException);
00185 
00186     CharBlock getFibreMappings(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00187       raises(ConfigurationException);
00188     void setFibreMapping(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00189                          in unsigned long channel, in unsigned long tx, in unsigned long rx0, in unsigned long rx1)
00190       raises(ConfigurationException);
00191 
00192     BOCChannelConfig getBOCConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00193                                   in unsigned long channel)
00194       raises(ConfigurationException);
00195 
00196     BOCGlobalConfig getBOCGlobalConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00197       raises(ConfigurationException);
00198 
00199     void printModuleConfig(in ABCDModule conf)
00200       raises(ConfigurationException);
00201 
00202     MURType getMURType(in unsigned long MUR) 
00203       raises(ConfigurationException);
00204 
00205     void translateToROD(in unsigned long MUR, in unsigned long mod,
00206                         out unsigned long partition, out unsigned long crate, 
00207                         out unsigned long rod, out unsigned long channel)
00208       raises(ConfigurationException);
00209  
00210     void translateToRROD(in unsigned long MUR, in unsigned long mod,
00211                          out unsigned long partition, out unsigned long crate, 
00212                          out unsigned long rod, out unsigned long channel)
00213       raises(ConfigurationException);
00214  
00215     void translateToSN(in unsigned long MUR, in unsigned long mod,
00216                        out string sn)
00217       raises(ConfigurationException);
00218 
00219     void translateToBarrel(in unsigned long MUR, in unsigned long mod,
00220                            out unsigned long barrel, out unsigned long row, out long number)
00221       raises(ConfigurationException);
00222 
00223     void translateToEndcap(in unsigned long MUR, in unsigned long mod,
00224                            out unsigned long disk, out unsigned long ring, out unsigned long number)
00225       raises(ConfigurationException);
00226 
00227     void translateToPowerSupply(in unsigned long MUR, in unsigned long mod,
00228                                 out unsigned long partition, 
00229                                 out unsigned long crate, out unsigned long channel)
00230       raises(ConfigurationException);
00231 
00232     void translateFromROD(in unsigned long partition, in unsigned long crate, 
00233                           in unsigned long rod, in unsigned long channel,
00234                           out unsigned long MUR, out unsigned long mod)
00235       raises(ConfigurationException);
00236 
00237     void translateFromRROD(in unsigned long partition, in unsigned long crate, 
00238                            in unsigned long rod, in unsigned long channel,
00239                            out unsigned long MUR, out unsigned long mod)
00240       raises(ConfigurationException);
00241 
00242     void translateFromSN(in string sn,
00243                          out unsigned long MUR, out unsigned long mod)
00244       raises(ConfigurationException);
00245 
00246     void translateFromBarrel(in unsigned long barrel, in unsigned long row, in long number,
00247                              out unsigned long MUR, out unsigned long mod)
00248       raises(ConfigurationException);
00249 
00250     void translateFromEndcap(in unsigned long disk, in unsigned long ring, in unsigned long number,
00251                              out unsigned long MUR, out unsigned long mod)
00252       raises(ConfigurationException);
00253 
00254     void translateFromPowerSupply(in unsigned long partition, 
00255                                   in unsigned long crate, in unsigned long channel,
00256                                   out unsigned long MUR, out unsigned long mod)
00257       raises(ConfigurationException);
00258 
00260 
00261 //     void updateModuleConfig(in string mod, in ABCDModule conf)
00262 //       raises(ConfigurationException);
00263 
00264 //     void updateRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00265 //       raises(ConfigurationException);
00266 
00267     void configureModuleFromStructure(in string number, in ABCDModule mConf)
00268       raises(ConfigurationException);
00269 
00270     void configureModuleFromFile(in string filename)
00271       raises(ConfigurationException);
00272 
00273     void configureROD(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00274       raises(ConfigurationException);
00275 
00276     void configureTIM(in unsigned long partition, in unsigned long crate, in TimConfig conf)
00277       raises(ConfigurationException);
00278 
00279     void configureBOC(in unsigned long partition, in unsigned long crate, in unsigned long rod, in BOCGlobalConfig conf)
00280       raises(ConfigurationException);
00281 
00282     void clearAll()
00283       raises(ConfigurationException);
00284 
00285     void namePartition(in unsigned long partition, in string name)
00286       raises(ConfigurationException);
00287 
00288     void mapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order, 
00289                    in unsigned long number)
00290       raises(ConfigurationException);
00291 
00292     void mapBarrelMUR(in unsigned long MUR, in unsigned long barrel, in unsigned long row, in unsigned long position)
00293       raises(ConfigurationException);
00294 
00295     void mapEndcapMUR(in unsigned long MUR, in unsigned long disk, in unsigned long quadrant, in unsigned long position)
00296       raises(ConfigurationException);
00297 
00298     void mapPowerChannel(in unsigned long MUR, in unsigned long number, in unsigned long partition, in unsigned long crate, in unsigned long channel)
00299       raises(ConfigurationException);
00300 
00301     void mapModuleMUR(in unsigned long MUR, in unsigned long order, 
00302                       in unsigned long RMUR, in unsigned long rorder,
00303                       in string sn)
00304       raises(ConfigurationException);
00305 
00306     void swapMURNames(in unsigned long MUR1, in unsigned long MUR2) 
00307       raises(ConfigurationException);
00308 
00309     void modifyPowerParam(in unsigned long MUR, in unsigned long number, in string name, in float value)
00310       raises(ConfigurationException);
00311     void modifyDefaultPowerParam(in string name, in float value)
00312       raises(ConfigurationException);
00313     float getPowerParam(in unsigned long MUR, in unsigned long number, in string name)
00314       raises(ConfigurationException);
00315 
00316 
00317     void configureBOCChannel(in unsigned long MUR, in unsigned long position, in BOCChannelConfig conf)
00318       raises(ConfigurationException);
00319 
00320     void loadConfiguration(in string filename)
00321       raises(ConfigurationException);
00322 
00323     void saveConfiguration(in string filename)
00324       raises(ConfigurationException);
00325 
00326     void saveModuleConfiguration(in string sn, in string filename)
00327       raises(ConfigurationException);
00328 
00329     string getModuleConfigurationString(in string modsn, in ABCDModule config)
00330       raises(ConfigurationException);
00331 
00332     void writePowerSupplyConfiguration(in string directory)
00333       raises(ConfigurationException);
00334   };
00335 
00336   interface ConfigurationArchive : ipc::freeable {
00337     const string serverName = "SCTHistoricConfigurationServer";
00338     const string instanceName = "Configuration_Archive_Server";
00339 
00340     Configuration getOldRunConfiguration(in unsigned long runNumber);
00341   };
00342 };

Generated on Mon Dec 15 19:39:30 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3