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

Generated on Mon Feb 6 14:20:17 2006 for SCT DAQ/DCS Software - IDL by  doxygen 1.4.6