Main Page | Namespace List | 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[4];
00113   typedef octet RxArray[2];
00114 //   typedef octet UnusedArray1[2];
00115   typedef octet UnusedArray1[4];
00116 //   typedef unsigned long UnusedArray2[3];
00117   typedef unsigned long UnusedArray2[4];
00118   struct ABCDModule{
00119     ChipArray chip;
00120     octet present;
00121     octet active;
00122     octet select;
00123     octet groupId;
00124     unsigned long bocConfig;        //Should be ignored
00125     octet pTTC;
00126     octet rTTC;
00127     RxArray rx;
00128     UnusedArray1 unused1;
00129     UnusedArray2 unused2;
00130     };
00131 
00132   
00133   //
00134   // End of ABCDModule section
00135   //
00136 
00137 
00138   exception ConfigurationException {
00139     //    ConfigurationException(in string str);
00140     string detail;
00141   };
00142 
00143   typedef sequence <unsigned long> PartitionList;
00144   typedef sequence <unsigned long> CrateList;
00145   typedef sequence <unsigned long> RodList;
00146   typedef sequence <unsigned long> MURList;
00147   typedef sequence <string> ModuleList;
00148   typedef sequence <string> NameList;
00149 //   typedef sequence <BOCAddress> BOCAddressList;
00150   typedef sequence <octet> CharBlock;
00151 
00152   enum MURType {BARREL, ENDCAP, UNMAPPED, UNKNOWN};
00153 
00154   interface Configuration : ipc::freeable {
00155     const string editServerName = "SCTConfig_Editor_Server";
00156 
00157     const string serverName = "Test_Server";
00158     const string instanceName = "SCTConfigurationServer";
00159 
00160     // Not allowed to throw anything!
00161 //     string getReleaseVersion();
00162 //     string getLocation();
00163 
00164     PartitionList listPartitions()
00165       raises(ConfigurationException);
00166     CrateList listCratesInPartition(in unsigned long partition)
00167       raises(ConfigurationException);
00168     boolean isDummyCrate(in unsigned long partition, in unsigned long crate);
00169     RodList listRodsInCrate(in unsigned long partition, in unsigned long crate) 
00170       raises(ConfigurationException);
00171     MURList listMURSInRod(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00172       raises(ConfigurationException);
00173     ModuleList listModulesInMUR(in unsigned long partition, in unsigned long MUR)
00174       raises(ConfigurationException);
00175     ModuleList listRModulesInMUR(in unsigned long partition, in unsigned long MUR)
00176       raises(ConfigurationException);
00177 
00178     ModuleList listAllModules()
00179       raises(ConfigurationException);
00180 
00181     ModuleList listUnusedModules()
00182       raises(ConfigurationException);
00183 
00184     ABCDModule getModuleConfig(in string mod)
00185       raises(ConfigurationException);
00186 
00187     unsigned short getModuleGroup(in string mod)
00188       raises(ConfigurationException);
00189     void setModuleGroup(in string mod, in short group)
00190       raises(ConfigurationException);
00191 
00192     RodConfig getRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00193       raises(ConfigurationException);
00194     SlaveConfig getDefaultSlaveConfig(in octet type)
00195       raises(ConfigurationException);
00196     TimConfig getTimConfig(in unsigned long partition, in unsigned long crate)
00197       raises(ConfigurationException);
00198 
00199     CharBlock getFibreMappings(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00200       raises(ConfigurationException);
00201     void setFibreMapping(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00202                          in unsigned long channel, in unsigned long tx, in unsigned long rx0, in unsigned long rx1)
00203       raises(ConfigurationException);
00204 
00205     BOCChannelConfig getBOCConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00206                                   in unsigned long channel)
00207       raises(ConfigurationException);
00208 
00209     BOCGlobalConfig getBOCGlobalConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00210       raises(ConfigurationException);
00211 
00212     void printModuleConfig(in ABCDModule conf)
00213       raises(ConfigurationException);
00214 
00215     MURType getMURType(in unsigned long MUR) 
00216       raises(ConfigurationException);
00217 
00218     unsigned long getFreeMurId() 
00219       raises(ConfigurationException);
00220 
00221     void translateToROD(in unsigned long MUR, in unsigned long mod,
00222                         out unsigned long partition, out unsigned long crate, 
00223                         out unsigned long rod, out unsigned long channel)
00224       raises(ConfigurationException);
00225  
00226     void translateToRROD(in unsigned long MUR, in unsigned long mod,
00227                          out unsigned long partition, out unsigned long crate, 
00228                          out unsigned long rod, out unsigned long channel)
00229       raises(ConfigurationException);
00230  
00231     void translateToSN(in unsigned long MUR, in unsigned long mod,
00232                        out string sn)
00233       raises(ConfigurationException);
00234 
00235     void translateToRMUR(in unsigned long RMUR, in unsigned long rmod,
00236                            out unsigned long MUR, out unsigned long mod)
00237       raises(ConfigurationException);
00238 
00239     void translateToBarrel(in unsigned long MUR, in unsigned long mod,
00240                            out unsigned long barrel, out unsigned long row, out long number)
00241       raises(ConfigurationException);
00242 
00243     void translateToEndcap(in unsigned long MUR, in unsigned long mod,
00244                            out long disk, out unsigned long ring, out unsigned long number)
00245       raises(ConfigurationException);
00246 
00247     void translateToPowerSupply(in unsigned long MUR, in unsigned long mod,
00248                                 out unsigned long partition, 
00249                                 out unsigned long crate, out unsigned long channel)
00250       raises(ConfigurationException);
00251 
00252     void translateFromROD(in unsigned long partition, in unsigned long crate, 
00253                           in unsigned long rod, in unsigned long channel,
00254                           out unsigned long MUR, out unsigned long mod)
00255       raises(ConfigurationException);
00256 
00257     void translateFromRROD(in unsigned long partition, in unsigned long crate, 
00258                            in unsigned long rod, in unsigned long channel,
00259                            out unsigned long MUR, out unsigned long mod)
00260       raises(ConfigurationException);
00261 
00262     void translateFromSN(in string sn,
00263                          out unsigned long MUR, out unsigned long mod)
00264       raises(ConfigurationException);
00265 
00266     void translateFromRMUR(in unsigned long MUR, in unsigned long mod,
00267                            out unsigned long RMUR, out unsigned long rmod)
00268       raises(ConfigurationException);
00269 
00270     void translateFromBarrel(in unsigned long barrel, in unsigned long row, in long number,
00271                              out unsigned long MUR, out unsigned long mod)
00272       raises(ConfigurationException);
00273 
00274     void translateFromEndcap(in long disk, in unsigned long ring, in unsigned long number,
00275                              out unsigned long MUR, out unsigned long mod)
00276       raises(ConfigurationException);
00277 
00278     void translateFromPowerSupply(in unsigned long partition, 
00279                                   in unsigned long crate, in unsigned long channel,
00280                                   out unsigned long MUR, out unsigned long mod)
00281       raises(ConfigurationException);
00282 
00284 
00285 //     void updateModuleConfig(in string mod, in ABCDModule conf)
00286 //       raises(ConfigurationException);
00287 
00288 //     void updateRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00289 //       raises(ConfigurationException);
00290 
00291     void configureModuleFromStructure(in string number, in ABCDModule mConf)
00292       raises(ConfigurationException);
00293 
00294     void configureModuleFromFile(in string filename)
00295       raises(ConfigurationException);
00296 
00297     void configureROD(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00298       raises(ConfigurationException);
00299 
00300     void configureTIM(in unsigned long partition, in unsigned long crate, in TimConfig conf)
00301       raises(ConfigurationException);
00302 
00303     void configureBOC(in unsigned long partition, in unsigned long crate, in unsigned long rod, in BOCGlobalConfig conf)
00304       raises(ConfigurationException);
00305 
00306     void clearAll()
00307       raises(ConfigurationException);
00308 
00309     void namePartition(in unsigned long partition, in string name)
00310       raises(ConfigurationException);
00311 
00312     void mapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order, 
00313                    in unsigned long number)
00314       raises(ConfigurationException);
00315 
00316     void unmapRODMUR(in unsigned long MUR)
00317       raises(ConfigurationException);
00318 
00319     void mapBarrelMUR(in unsigned long MUR, in unsigned long barrel, in unsigned long row, in long position)
00320       raises(ConfigurationException);
00321 
00322     void unmapBarrelMUR(in unsigned long MUR)
00323       raises(ConfigurationException);
00324 
00325     void mapEndcapMUR(in unsigned long MUR, in long disk, in unsigned long quadrant, in unsigned long position)
00326       raises(ConfigurationException);
00327 
00328     void unmapEndcapMUR(in unsigned long MUR)
00329       raises(ConfigurationException);
00330 
00331     void mapPowerChannel(in unsigned long MUR, in unsigned long number, 
00332                          in unsigned long partition, in unsigned long crate, in unsigned long channel)
00333       raises(ConfigurationException);
00334 
00335     void unmapPowerChannel(in unsigned long MUR, in unsigned long number)
00336       raises(ConfigurationException);
00337 
00338     void mapModuleMUR(in unsigned long MUR, in unsigned long order, 
00339                       in unsigned long RMUR, in unsigned long rorder,
00340                       in string sn)
00341       raises(ConfigurationException);
00342 
00343     void unmapModuleMUR(in unsigned long MUR, in unsigned long order)
00344       raises(ConfigurationException);
00345 
00346     void getMapMURROD(in unsigned long MUR, 
00347                       out unsigned long partition, out unsigned long crate, out unsigned long rod, out unsigned long order)
00348       raises(ConfigurationException);
00349 
00350     void getMapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order, 
00351                       out unsigned long MUR)
00352       raises(ConfigurationException);
00353 
00354     MURType getMapMURPhysical(in unsigned long MUR, 
00355                               out unsigned long plane, out unsigned long section, out unsigned long position)
00356       raises(ConfigurationException);
00357 
00358     void swapMURNames(in unsigned long MUR1, in unsigned long MUR2) 
00359       raises(ConfigurationException);
00360 
00361     void modifyDefaultPowerParam(in string state, in string name, in string type, in float value)
00362       raises(ConfigurationException);
00363 
00364     void modifyHVCardParam(in unsigned long crate, in unsigned long card, 
00365                            in string name, in string type, in float value)
00366       raises(ConfigurationException);
00367 
00368     void modifyLVCardParam(in unsigned long crate, in unsigned long card, 
00369                            in string name, in string type, in float value)
00370       raises(ConfigurationException);
00371 
00372     void modifyPowerParam(in unsigned long MUR, in unsigned long number, 
00373                           in string state, in string name, in string type, in float value)
00374       raises(ConfigurationException);
00375 
00376     void modifyPowerParamCC(in unsigned long crate, in unsigned long channel, 
00377                             in string state, in string name, in string type, in float value)
00378       raises(ConfigurationException);
00379 
00380     float getDefaultPowerParam(in string state, in string name, in string type)
00381       raises(ConfigurationException);
00382 
00383     float getHVCardParam(in unsigned long crate, in unsigned long card, in string name, in string type)
00384       raises(ConfigurationException);
00385 
00386     float getLVCardParam(in unsigned long crate, in unsigned long card, in string name, in string type)
00387       raises(ConfigurationException);
00388 
00389     float getPowerParam(in unsigned long MUR, in unsigned long number, in string state, in string name, in string type)
00390       raises(ConfigurationException);
00391 
00392     float getPowerParamCC(in unsigned long crate, in unsigned long channel, in string state, in string name, in string type)
00393       raises(ConfigurationException);
00394 
00395     NameList listDefaultPowerParams()
00396       raises(ConfigurationException);
00397 
00398     float getCratePowerParam(in unsigned long crate, in string name)
00399       raises(ConfigurationException);
00400 
00401     NameList listDCSChannelParams()
00402       raises(ConfigurationException);
00403 
00404     NameList listDCSCardParams()
00405       raises(ConfigurationException);
00406 
00407     NameList listDCSCrateParams()
00408       raises(ConfigurationException);
00409 
00410     void configureBOCChannel(in unsigned long MUR, in unsigned long position, in BOCChannelConfig conf)
00411       raises(ConfigurationException);
00412 
00413     void loadConfiguration(in string filename)
00414       raises(ConfigurationException);
00415 
00416     void saveConfiguration(in string filename)
00417       raises(ConfigurationException);
00418 
00419     void saveModuleConfiguration(in string sn, in string filename)
00420       raises(ConfigurationException);
00421 
00422     string getModuleConfigurationString(in string modsn, in ABCDModule config)
00423       raises(ConfigurationException);
00424 
00425     void writePowerSupplyConfiguration(in string directory)
00426       raises(ConfigurationException);
00427   };
00428 
00429   typedef sequence <unsigned long> RunNumberList;
00430 
00431   interface ConfigurationArchive : ipc::freeable {
00432     const string serverName = "SCTHistoricConfigurationServer";
00433     const string instanceName = "Configuration_Archive_Server";
00434 
00439     Configuration getOldRunConfiguration(in unsigned long runNumber, in boolean start);
00440 
00444     RunNumberList listConfigurationRuns();
00445   };
00446 };

Generated on Thu Jul 15 09:58:36 2004 for SCT DAQ/DCS Software - IDL by doxygen 1.3.5