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 ipramFile;
00009      string idramFile;
00010      string extFile;
00011   };
00012 
00013   typedef sequence <SlaveConfig> SlaveList;
00014 
00015   struct RodConfig {
00016     unsigned long baseAddress;
00017 //     unsigned long mapSize;
00018     unsigned long resetLevel;
00019     SlaveList slaves;
00020   };
00021 
00022   struct TimConfig {
00023     unsigned long baseAddress;
00024 //     unsigned long mapSize;
00025     unsigned long triggerType;
00026     float trigFrequency;
00027     float resetFrequency;
00028   };
00029 
00030   // Old direct BOC access
00031 //   struct BOCAddress {
00032 //     long address;
00033 //     long value;           // Possibly byte??
00034 //   };
00035 
00036   struct BOCChannelConfig {
00037     short current;
00038     short delay;
00039     short markSpace;
00040 
00041     short threshold0;
00042     short delay0;
00043 
00044     short threshold1;
00045     short delay1;
00046   };
00047 
00048   struct BOCGlobalConfig {
00054     short validMask;
00055 
00056     short clockControl;
00057     short rxDataMode;
00058     short rxDacClear;
00059     short txDacClear;
00060     short vernierFinePhase;
00061     short vernierClockPhase0;
00062     short vernierClockPhase1;
00063     short bpmClockPhase;
00064     short bregClockPhase;
00065   };
00066 
00067   //
00068   // This next section defines an ABCDModule
00069   // You should refer to RodDaq/CommonWithDsp/sctStructure.h for information
00070   // This structure is defined so that in C/C++ sizeof this structure and sizeof
00071   // ABCDModule are the same allowing a re-interpret cast.
00072   //
00073   
00074 
00075     struct ABCDConfig {
00076     short bitField; //This is a bitfield - needs to be interpreted according to sctStructure.h
00077     };
00078 
00079     typedef unsigned long UnusedArray[3];
00080     typedef float RcParam[3];
00081   struct ABCDCaldata{
00082     octet rc_function;
00083     RcParam rc_params;
00084     float c_factor;
00085     UnusedArray unused;
00086     };
00087 
00088     typedef unsigned long MaskArray[4];
00089   struct ABCDBasic {
00090       ABCDConfig   config;
00091     unsigned short unused;
00092     octet  vthr;
00093     octet  vcal;
00094     octet  delay;
00095     octet  preamp;
00096     octet  shaper;
00097     MaskArray mask;
00098     };
00099 
00100     typedef octet TrimArray[128];
00101     struct ABCDChip{
00102     octet        active;
00103     octet        address;
00104     octet        unused;
00105     octet        target;
00106     ABCDBasic    basic;
00107     ABCDCaldata  caldata;
00108     TrimArray    trim;
00109     };
00110 
00111   typedef ABCDChip ChipArray[12];
00112   typedef octet RxArray[2];
00113   typedef octet UnusedArray1[4];
00114   typedef unsigned long UnusedArray2[4];
00115   struct ABCDModule{
00116     ChipArray chip;
00117     octet present;
00118     octet active;
00119     octet select;
00120     octet groupId;
00121     unsigned long bocConfig;        //Should be ignored
00122     octet pTTC;
00123     octet rTTC;
00124     RxArray rx;
00125     UnusedArray1 unused1;
00126     UnusedArray2 unused2;
00127   };
00128 
00129   
00130   //
00131   // End of ABCDModule section
00132   //
00133 
00134 
00135   exception ConfigurationException {
00136     string detail;
00137   };
00138 
00139   typedef sequence <unsigned long> PartitionList;
00140   typedef sequence <unsigned long> CrateList;
00141   typedef sequence <unsigned long> RodList;
00142   typedef sequence <unsigned long> MURList;
00143   typedef sequence <string> ModuleList;
00144   typedef sequence <string> NameList;
00145   typedef sequence <octet> CharBlock;
00146 
00147   enum MURType {BARREL, ENDCAP, UNMAPPED, UNKNOWN};
00148 
00149   interface Configuration : ipc::servant {
00150 
00151     const string instanceName = "SCTConfigurationServer";
00152 
00153 // Not allowed to throw anything!
00154 //     string getReleaseVersion();
00155 //     string getLocation();
00156 
00157     PartitionList listPartitions()
00158       raises(ConfigurationException);
00159     CrateList listCratesInPartition(in unsigned long partition)
00160       raises(ConfigurationException);
00161     boolean isDummyCrate(in unsigned long partition, in unsigned long crate);
00162     RodList listRodsInCrate(in unsigned long partition, in unsigned long crate) 
00163       raises(ConfigurationException);
00164     MURList listMURSInRod(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00165       raises(ConfigurationException);
00166     ModuleList listModulesInMUR(in unsigned long partition, in unsigned long MUR)
00167       raises(ConfigurationException);
00168     ModuleList listRModulesInMUR(in unsigned long partition, in unsigned long MUR)
00169       raises(ConfigurationException);
00170 
00171     ModuleList listAllModules()
00172       raises(ConfigurationException);
00173 
00174     ModuleList listUnusedModules()
00175       raises(ConfigurationException);
00176 
00177     ABCDModule getModuleConfig(in string mod)
00178       raises(ConfigurationException);
00179 
00180     unsigned short getModuleGroup(in string mod)
00181       raises(ConfigurationException);
00182     void setModuleGroup(in string mod, in short group)
00183       raises(ConfigurationException);
00184 
00185     unsigned long getModuleErrorMask(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00186                                      in unsigned long channel, in unsigned short link)
00187       raises(ConfigurationException);
00188     void setModuleErrorMask(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00189                             in unsigned long channel, in unsigned short link, in unsigned long mask)
00190       raises(ConfigurationException);
00191     void setDefaultModuleErrorMask(in unsigned long mask) 
00192       raises(ConfigurationException);
00193 
00194     RodConfig getRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00195       raises(ConfigurationException);
00196     SlaveConfig getDefaultSlaveConfig(in octet type)
00197       raises(ConfigurationException);
00198     TimConfig getTimConfig(in unsigned long partition, in unsigned long crate)
00199       raises(ConfigurationException);
00200 
00201     // These should be unsigned (for comparison with 255)
00202     CharBlock getFibreMappings(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00203       raises(ConfigurationException);
00204     void setFibreMapping(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00205                          in unsigned long channel, in unsigned long tx, in unsigned long rx0, in unsigned long rx1)
00206       raises(ConfigurationException);
00207 
00208     BOCChannelConfig getBOCConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00209                                   in unsigned long channel)
00210       raises(ConfigurationException);
00211 
00212     BOCGlobalConfig getBOCGlobalConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00213       raises(ConfigurationException);
00214 
00215     void printModuleConfig(in ABCDModule conf)
00216       raises(ConfigurationException);
00217 
00218     MURType getMURType(in unsigned long MUR) 
00219       raises(ConfigurationException);
00220 
00221     unsigned long getFreeMurId() 
00222       raises(ConfigurationException);
00223 
00224     void translateToROD(in unsigned long MUR, in unsigned long mod,
00225                         out unsigned long partition, out unsigned long crate, 
00226                         out unsigned long rod, out unsigned long channel)
00227       raises(ConfigurationException);
00228  
00229     void translateToRROD(in unsigned long MUR, in unsigned long mod,
00230                          out unsigned long partition, out unsigned long crate, 
00231                          out unsigned long rod, out unsigned long channel)
00232       raises(ConfigurationException);
00233  
00234     void translateToSN(in unsigned long MUR, in unsigned long mod,
00235                        out string sn)
00236       raises(ConfigurationException);
00237 
00238     void translateToRMUR(in unsigned long RMUR, in unsigned long rmod,
00239                            out unsigned long MUR, out unsigned long mod)
00240       raises(ConfigurationException);
00241 
00242     void translateToBarrel(in unsigned long MUR, in unsigned long mod,
00243                            out unsigned long barrel, out unsigned long row, out long number)
00244       raises(ConfigurationException);
00245 
00246     void translateToEndcap(in unsigned long MUR, in unsigned long mod,
00247                            out long disk, out unsigned long ring, out unsigned long number)
00248       raises(ConfigurationException);
00249 
00250     void translateToPowerSupply(in unsigned long MUR, in unsigned long mod,
00251                                 out unsigned long partition, 
00252                                 out unsigned long crate, out unsigned long channel)
00253       raises(ConfigurationException);
00254 
00255     void translateFromROD(in unsigned long partition, in unsigned long crate, 
00256                           in unsigned long rod, in unsigned long channel,
00257                           out unsigned long MUR, out unsigned long mod)
00258       raises(ConfigurationException);
00259 
00260     void translateFromRROD(in unsigned long partition, in unsigned long crate, 
00261                            in unsigned long rod, in unsigned long channel,
00262                            out unsigned long MUR, out unsigned long mod)
00263       raises(ConfigurationException);
00264 
00265     void translateFromSN(in string sn,
00266                          out unsigned long MUR, out unsigned long mod)
00267       raises(ConfigurationException);
00268 
00269     void translateFromRMUR(in unsigned long MUR, in unsigned long mod,
00270                            out unsigned long RMUR, out unsigned long rmod)
00271       raises(ConfigurationException);
00272 
00273     void translateFromBarrel(in unsigned long barrel, in unsigned long row, in long number,
00274                              out unsigned long MUR, out unsigned long mod)
00275       raises(ConfigurationException);
00276 
00277     void translateFromEndcap(in long disk, in unsigned long ring, in unsigned long number,
00278                              out unsigned long MUR, out unsigned long mod)
00279       raises(ConfigurationException);
00280 
00281     void translateFromPowerSupply(in unsigned long partition, 
00282                                   in unsigned long crate, in unsigned long channel,
00283                                   out unsigned long MUR, out unsigned long mod)
00284       raises(ConfigurationException);
00285 
00287 
00288 //     void updateModuleConfig(in string mod, in ABCDModule conf)
00289 //       raises(ConfigurationException);
00290 
00291 //     void updateRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00292 //       raises(ConfigurationException);
00293 
00294     void configureModuleFromStructure(in string number, in ABCDModule mConf)
00295       raises(ConfigurationException);
00296 
00297     void configureModuleFromFile(in string filename)
00298       raises(ConfigurationException);
00299 
00300     void configureROD(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00301       raises(ConfigurationException);
00302 
00303     void configureTIM(in unsigned long partition, in unsigned long crate, in TimConfig conf)
00304       raises(ConfigurationException);
00305 
00306     void configureBOC(in unsigned long partition, in unsigned long crate, in unsigned long rod, in BOCGlobalConfig conf)
00307       raises(ConfigurationException);
00308 
00309     void clearAll()
00310       raises(ConfigurationException);
00311 
00312     void namePartition(in unsigned long partition, in string name)
00313       raises(ConfigurationException);
00314 
00315     void mapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order, 
00316                    in unsigned long number)
00317       raises(ConfigurationException);
00318 
00319     void unmapRODMUR(in unsigned long MUR)
00320       raises(ConfigurationException);
00321 
00322     void mapBarrelMUR(in unsigned long MUR, in unsigned long barrel, in unsigned long row, in long position)
00323       raises(ConfigurationException);
00324 
00325     void unmapBarrelMUR(in unsigned long MUR)
00326       raises(ConfigurationException);
00327 
00328     void mapEndcapMUR(in unsigned long MUR, in long disk, in unsigned long quadrant, in unsigned long position)
00329       raises(ConfigurationException);
00330 
00331     void unmapEndcapMUR(in unsigned long MUR)
00332       raises(ConfigurationException);
00333 
00334     void mapPowerChannel(in unsigned long MUR, in unsigned long number, 
00335                          in unsigned long partition, in unsigned long crate, in unsigned long channel)
00336       raises(ConfigurationException);
00337 
00338     void unmapPowerChannel(in unsigned long MUR, in unsigned long number)
00339       raises(ConfigurationException);
00340 
00341     void mapModuleMUR(in unsigned long MUR, in unsigned long order, 
00342                       in unsigned long RMUR, in unsigned long rorder,
00343                       in string sn)
00344       raises(ConfigurationException);
00345 
00346     void unmapModuleMUR(in unsigned long MUR, in unsigned long order)
00347       raises(ConfigurationException);
00348 
00349     void getMapMURROD(in unsigned long MUR, 
00350                       out unsigned long partition, out unsigned long crate, out unsigned long rod, out unsigned long order)
00351       raises(ConfigurationException);
00352 
00353     void getMapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order, 
00354                       out unsigned long MUR)
00355       raises(ConfigurationException);
00356 
00357     MURType getMapMURPhysical(in unsigned long MUR, 
00358                               out unsigned long plane, out unsigned long section, out unsigned long position)
00359       raises(ConfigurationException);
00360 
00361     void swapMURNames(in unsigned long MUR1, in unsigned long MUR2) 
00362       raises(ConfigurationException);
00363 
00364     void modifyDefaultPowerParam(in string state, in string name, in string type, in float value)
00365       raises(ConfigurationException);
00366 
00367     void modifyHVCardParam(in unsigned long crate, in unsigned long card, 
00368                            in string name, in string type, in float value)
00369       raises(ConfigurationException);
00370 
00371     void modifyLVCardParam(in unsigned long crate, in unsigned long card, 
00372                            in string name, in string type, in float value)
00373       raises(ConfigurationException);
00374 
00375     void modifyPowerParam(in unsigned long MUR, in unsigned long number, 
00376                           in string state, in string name, in string type, in float value)
00377       raises(ConfigurationException);
00378 
00379     void modifyPowerParamCC(in unsigned long crate, in unsigned long channel, 
00380                             in string state, in string name, in string type, in float value)
00381       raises(ConfigurationException);
00382 
00383     float getDefaultPowerParam(in string state, in string name, in string type)
00384       raises(ConfigurationException);
00385 
00386     float getHVCardParam(in unsigned long crate, in unsigned long card, in string name, in string type)
00387       raises(ConfigurationException);
00388 
00395     float getLVCardParam(in unsigned long crate, in unsigned long card, in string name, in string type)
00396       raises(ConfigurationException);
00397 
00405     float getPowerParam(in unsigned long MUR, in unsigned long number, in string state, in string name, in string type)
00406       raises(ConfigurationException);
00407 
00415     float getPowerParamCC(in unsigned long crate, in unsigned long channel, in string state, in string name, in string type)
00416       raises(ConfigurationException);
00417 
00418     NameList listDefaultPowerParams()
00419       raises(ConfigurationException);
00420 
00421     NameList listDCSChannelParams()
00422       raises(ConfigurationException);
00423 
00424     NameList listDCSCardParams()
00425       raises(ConfigurationException);
00426 
00427     NameList listDCSCrateParams()
00428       raises(ConfigurationException);
00429 
00430     void configureBOCChannel(in unsigned long MUR, in unsigned long position, in BOCChannelConfig conf)
00431       raises(ConfigurationException);
00432 
00433     void loadConfiguration(in string filename)
00434       raises(ConfigurationException);
00435 
00436     void saveConfiguration(in string filename)
00437       raises(ConfigurationException);
00438 
00439     void saveModuleConfiguration(in string sn, in string filename)
00440       raises(ConfigurationException);
00441 
00442     string getModuleConfigurationString(in string modsn, in ABCDModule config)
00443       raises(ConfigurationException);
00444 
00445     void writePowerSupplyConfiguration(in string directory)
00446       raises(ConfigurationException);
00447 
00448   };
00449 
00450   typedef sequence <unsigned long> RunNumberList;
00451 
00452   interface ConfigurationArchive : ipc::servant {
00453     const string instanceName = "Configuration_Archive_Server";
00454 
00459     Configuration getOldRunConfiguration(in unsigned long runNumber, in boolean start);
00460 
00464     RunNumberList listConfigurationRuns();
00465   };
00466 };

Generated on Fri Sep 16 18:08:27 2005 for SCT DAQ/DCS Software - IDL by doxygen 1.3.5