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 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
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
00296
00297
00298
00299
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 };