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     unsigned long getModuleErrorMask(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00193                                      in unsigned long channel, in unsigned short link)
00194       raises(ConfigurationException);
00195     void setModuleErrorMask(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00196                             in unsigned long channel, in unsigned short link, in unsigned long mask)
00197       raises(ConfigurationException);
00198     void setDefaultModuleErrorMask(in unsigned long mask) 
00199       raises(ConfigurationException);
00200 
00201     RodConfig getRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00202       raises(ConfigurationException);
00203     SlaveConfig getDefaultSlaveConfig(in octet type)
00204       raises(ConfigurationException);
00205     TimConfig getTimConfig(in unsigned long partition, in unsigned long crate)
00206       raises(ConfigurationException);
00207 
00208     // These should be unsigned (for comparison with 255)
00209     CharBlock getFibreMappings(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00210       raises(ConfigurationException);
00211     void setFibreMapping(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00212                          in unsigned long channel, in unsigned long tx, in unsigned long rx0, in unsigned long rx1)
00213       raises(ConfigurationException);
00214 
00215     BOCChannelConfig getBOCConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, 
00216                                   in unsigned long channel)
00217       raises(ConfigurationException);
00218 
00219     BOCGlobalConfig getBOCGlobalConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00220       raises(ConfigurationException);
00221 
00222     void printModuleConfig(in ABCDModule conf)
00223       raises(ConfigurationException);
00224 
00225     MURType getMURType(in unsigned long MUR) 
00226       raises(ConfigurationException);
00227 
00228     unsigned long getFreeMurId() 
00229       raises(ConfigurationException);
00230 
00231     void translateToROD(in unsigned long MUR, in unsigned long mod,
00232                         out unsigned long partition, out unsigned long crate, 
00233                         out unsigned long rod, out unsigned long channel)
00234       raises(ConfigurationException);
00235  
00236     void translateToRROD(in unsigned long MUR, in unsigned long mod,
00237                          out unsigned long partition, out unsigned long crate, 
00238                          out unsigned long rod, out unsigned long channel)
00239       raises(ConfigurationException);
00240  
00241     void translateToSN(in unsigned long MUR, in unsigned long mod,
00242                        out string sn)
00243       raises(ConfigurationException);
00244 
00245     void translateToRMUR(in unsigned long RMUR, in unsigned long rmod,
00246                            out unsigned long MUR, out unsigned long mod)
00247       raises(ConfigurationException);
00248 
00249     void translateToBarrel(in unsigned long MUR, in unsigned long mod,
00250                            out unsigned long barrel, out unsigned long row, out long number)
00251       raises(ConfigurationException);
00252 
00253     void translateToEndcap(in unsigned long MUR, in unsigned long mod,
00254                            out long disk, out unsigned long ring, out unsigned long number)
00255       raises(ConfigurationException);
00256 
00257     void translateToPowerSupply(in unsigned long MUR, in unsigned long mod,
00258                                 out unsigned long partition, 
00259                                 out unsigned long crate, out unsigned long channel)
00260       raises(ConfigurationException);
00261 
00262     void translateFromROD(in unsigned long partition, in unsigned long crate, 
00263                           in unsigned long rod, in unsigned long channel,
00264                           out unsigned long MUR, out unsigned long mod)
00265       raises(ConfigurationException);
00266 
00267     void translateFromRROD(in unsigned long partition, in unsigned long crate, 
00268                            in unsigned long rod, in unsigned long channel,
00269                            out unsigned long MUR, out unsigned long mod)
00270       raises(ConfigurationException);
00271 
00272     void translateFromSN(in string sn,
00273                          out unsigned long MUR, out unsigned long mod)
00274       raises(ConfigurationException);
00275 
00276     void translateFromRMUR(in unsigned long MUR, in unsigned long mod,
00277                            out unsigned long RMUR, out unsigned long rmod)
00278       raises(ConfigurationException);
00279 
00280     void translateFromBarrel(in unsigned long barrel, in unsigned long row, in long number,
00281                              out unsigned long MUR, out unsigned long mod)
00282       raises(ConfigurationException);
00283 
00284     void translateFromEndcap(in long disk, in unsigned long ring, in unsigned long number,
00285                              out unsigned long MUR, out unsigned long mod)
00286       raises(ConfigurationException);
00287 
00288     void translateFromPowerSupply(in unsigned long partition, 
00289                                   in unsigned long crate, in unsigned long channel,
00290                                   out unsigned long MUR, out unsigned long mod)
00291       raises(ConfigurationException);
00292 
00294 
00295 //     void updateModuleConfig(in string mod, in ABCDModule conf)
00296 //       raises(ConfigurationException);
00297 
00298 //     void updateRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00299 //       raises(ConfigurationException);
00300 
00301     void configureModuleFromStructure(in string number, in ABCDModule mConf)
00302       raises(ConfigurationException);
00303 
00304     void configureModuleFromFile(in string filename)
00305       raises(ConfigurationException);
00306 
00307     void configureROD(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00308       raises(ConfigurationException);
00309 
00310     void configureTIM(in unsigned long partition, in unsigned long crate, in TimConfig conf)
00311       raises(ConfigurationException);
00312 
00313     void configureBOC(in unsigned long partition, in unsigned long crate, in unsigned long rod, in BOCGlobalConfig conf)
00314       raises(ConfigurationException);
00315 
00316     void clearAll()
00317       raises(ConfigurationException);
00318 
00319     void namePartition(in unsigned long partition, in string name)
00320       raises(ConfigurationException);
00321 
00322     void mapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order, 
00323                    in unsigned long number)
00324       raises(ConfigurationException);
00325 
00326     void unmapRODMUR(in unsigned long MUR)
00327       raises(ConfigurationException);
00328 
00329     void mapBarrelMUR(in unsigned long MUR, in unsigned long barrel, in unsigned long row, in long position)
00330       raises(ConfigurationException);
00331 
00332     void unmapBarrelMUR(in unsigned long MUR)
00333       raises(ConfigurationException);
00334 
00335     void mapEndcapMUR(in unsigned long MUR, in long disk, in unsigned long quadrant, in unsigned long position)
00336       raises(ConfigurationException);
00337 
00338     void unmapEndcapMUR(in unsigned long MUR)
00339       raises(ConfigurationException);
00340 
00341     void mapPowerChannel(in unsigned long MUR, in unsigned long number, 
00342                          in unsigned long partition, in unsigned long crate, in unsigned long channel)
00343       raises(ConfigurationException);
00344 
00345     void unmapPowerChannel(in unsigned long MUR, in unsigned long number)
00346       raises(ConfigurationException);
00347 
00348     void mapModuleMUR(in unsigned long MUR, in unsigned long order, 
00349                       in unsigned long RMUR, in unsigned long rorder,
00350                       in string sn)
00351       raises(ConfigurationException);
00352 
00353     void unmapModuleMUR(in unsigned long MUR, in unsigned long order)
00354       raises(ConfigurationException);
00355 
00356     void getMapMURROD(in unsigned long MUR, 
00357                       out unsigned long partition, out unsigned long crate, out unsigned long rod, out unsigned long order)
00358       raises(ConfigurationException);
00359 
00360     void getMapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order, 
00361                       out unsigned long MUR)
00362       raises(ConfigurationException);
00363 
00364     MURType getMapMURPhysical(in unsigned long MUR, 
00365                               out unsigned long plane, out unsigned long section, out unsigned long position)
00366       raises(ConfigurationException);
00367 
00368     void swapMURNames(in unsigned long MUR1, in unsigned long MUR2) 
00369       raises(ConfigurationException);
00370 
00371     void modifyDefaultPowerParam(in string state, in string name, in string type, in float value)
00372       raises(ConfigurationException);
00373 
00374     void modifyHVCardParam(in unsigned long crate, in unsigned long card, 
00375                            in string name, in string type, in float value)
00376       raises(ConfigurationException);
00377 
00378     void modifyLVCardParam(in unsigned long crate, in unsigned long card, 
00379                            in string name, in string type, in float value)
00380       raises(ConfigurationException);
00381 
00382     void modifyPowerParam(in unsigned long MUR, in unsigned long number, 
00383                           in string state, in string name, in string type, in float value)
00384       raises(ConfigurationException);
00385 
00386     void modifyPowerParamCC(in unsigned long crate, in unsigned long channel, 
00387                             in string state, in string name, in string type, in float value)
00388       raises(ConfigurationException);
00389 
00390     float getDefaultPowerParam(in string state, in string name, in string type)
00391       raises(ConfigurationException);
00392 
00393     float getHVCardParam(in unsigned long crate, in unsigned long card, in string name, in string type)
00394       raises(ConfigurationException);
00395 
00402     float getLVCardParam(in unsigned long crate, in unsigned long card, in string name, in string type)
00403       raises(ConfigurationException);
00404 
00412     float getPowerParam(in unsigned long MUR, in unsigned long number, in string state, in string name, in string type)
00413       raises(ConfigurationException);
00414 
00422     float getPowerParamCC(in unsigned long crate, in unsigned long channel, in string state, in string name, in string type)
00423       raises(ConfigurationException);
00424 
00425     NameList listDefaultPowerParams()
00426       raises(ConfigurationException);
00427 
00428     float getCratePowerParam(in unsigned long crate, in string name)
00429       raises(ConfigurationException);
00430 
00431     NameList listDCSChannelParams()
00432       raises(ConfigurationException);
00433 
00434     NameList listDCSCardParams()
00435       raises(ConfigurationException);
00436 
00437     NameList listDCSCrateParams()
00438       raises(ConfigurationException);
00439 
00440     void configureBOCChannel(in unsigned long MUR, in unsigned long position, in BOCChannelConfig conf)
00441       raises(ConfigurationException);
00442 
00443     void loadConfiguration(in string filename)
00444       raises(ConfigurationException);
00445 
00446     void saveConfiguration(in string filename)
00447       raises(ConfigurationException);
00448 
00449     void saveModuleConfiguration(in string sn, in string filename)
00450       raises(ConfigurationException);
00451 
00452     string getModuleConfigurationString(in string modsn, in ABCDModule config)
00453       raises(ConfigurationException);
00454 
00455     void writePowerSupplyConfiguration(in string directory)
00456       raises(ConfigurationException);
00457   };
00458 
00459   typedef sequence <unsigned long> RunNumberList;
00460 
00461   interface ConfigurationArchive : ipc::freeable {
00462     const string serverName = "SCTHistoricConfigurationServer";
00463     const string instanceName = "Configuration_Archive_Server";
00464 
00469     Configuration getOldRunConfiguration(in unsigned long runNumber, in boolean start);
00470 
00474     RunNumberList listConfigurationRuns();
00475   };
00476 };

Generated on Fri Jan 14 12:51:38 2005 for SCT DAQ/DCS Software - IDL by doxygen 1.3.5