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
00018 unsigned long resetLevel;
00019 SlaveList slaves;
00020 };
00021
00022 struct TimConfig {
00023 unsigned long baseAddress;
00024
00025 unsigned long triggerType;
00026 float trigFrequency;
00027 float resetFrequency;
00028 };
00029
00030
00031
00032
00033
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
00069
00070
00071
00072
00073
00074
00075 struct ABCDConfig {
00076 short bitField;
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
00113 typedef octet RxArray[2];
00114
00115 typedef octet UnusedArray1[4];
00116
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;
00125 octet pTTC;
00126 octet rTTC;
00127 RxArray rx;
00128 UnusedArray1 unused1;
00129 UnusedArray2 unused2;
00130 };
00131
00132
00133
00134
00135
00136
00137
00138 exception ConfigurationException {
00139
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
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
00161
00162
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
00286
00287
00288
00289
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 };