00001 #ifndef IPC_IDL
00002 #include "ipc/ipc.idl"
00003 #define IPC_IDL
00004 #endif
00005
00006 module sctConf {
00007 struct SlaveConfig {
00008 string emifFile;
00009 string ipramFile;
00010 string idramFile;
00011 string extFile;
00012 };
00013
00014 typedef sequence <SlaveConfig> SlaveList;
00015
00016 struct RodConfig {
00017 unsigned long baseAddress;
00018 unsigned long mapSize;
00019 long numSlaves;
00020 SlaveList slaves;
00021 };
00022
00023 struct TimConfig {
00024 unsigned long baseAddress;
00025 unsigned long mapSize;
00026 };
00027
00028
00029
00030
00031
00032
00033
00034 struct BOCChannelConfig {
00035 short current;
00036 short delay;
00037 short markSpace;
00038
00039 short threshold0;
00040 short delay0;
00041
00042 short threshold1;
00043 short delay1;
00044 };
00045
00046 struct BOCGlobalConfig {
00052 short validMask;
00053
00054 short clockControl;
00055 short rxDataMode;
00056 short rxDacClear;
00057 short txDacClear;
00058 short vernierFinePhase;
00059 short vernierClockPhase0;
00060 short vernierClockPhase1;
00061 short bpmClockPhase;
00062 short bregClockPhase;
00063 };
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 struct ABCDConfig {
00074 short bitField;
00075 };
00076
00077 typedef unsigned long UnusedArray[3];
00078 typedef float RcParam[3];
00079 struct ABCDCaldata{
00080 octet rc_function;
00081 RcParam rc_params;
00082 float c_factor;
00083 UnusedArray unused;
00084 };
00085
00086 typedef unsigned long MaskArray[4];
00087 struct ABCDBasic {
00088 ABCDConfig config;
00089 unsigned short unused;
00090 octet vthr;
00091 octet vcal;
00092 octet delay;
00093 octet preamp;
00094 octet shaper;
00095 MaskArray mask;
00096 };
00097
00098 typedef octet TrimArray[128];
00099 struct ABCDChip{
00100 octet active;
00101 octet address;
00102 octet unused;
00103 octet target;
00104 ABCDBasic basic;
00105 ABCDCaldata caldata;
00106 TrimArray trim;
00107 };
00108
00109 typedef ABCDChip ChipArray[12];
00110
00111 typedef octet RxArray[2];
00112
00113 typedef octet UnusedArray1[4];
00114
00115 typedef unsigned long UnusedArray2[4];
00116 struct ABCDModule{
00117 ChipArray chip;
00118 octet present;
00119 octet active;
00120 octet select;
00121 octet groupId;
00122 unsigned long bocConfig;
00123 octet pTTC;
00124 octet rTTC;
00125 RxArray rx;
00126 UnusedArray1 unused1;
00127 UnusedArray2 unused2;
00128 };
00129
00130
00131
00132
00133
00134
00135
00136 exception ConfigurationException {
00137
00138 string detail;
00139 };
00140
00141 typedef sequence <unsigned long> PartitionList;
00142 typedef sequence <unsigned long> CrateList;
00143 typedef sequence <unsigned long> RodList;
00144 typedef sequence <unsigned long> MURList;
00145 typedef sequence <string> ModuleList;
00146
00147 typedef sequence <octet> CharBlock;
00148
00149 enum MURType {BARREL, ENDCAP, UNMAPPED, UNKNOWN};
00150
00151 interface Configuration : ipc::freeable {
00152 const string serverName = "SCTConfigurationServer";
00153 const string instanceName = "Test_Server";
00154
00155
00156
00157
00158
00159 PartitionList listPartitions()
00160 raises(ConfigurationException);
00161 CrateList listCratesInPartition(in unsigned long partition)
00162 raises(ConfigurationException);
00163 boolean isDummyCrate(in unsigned long partition, in unsigned long crate);
00164 RodList listRodsInCrate(in unsigned long partition, in unsigned long crate)
00165 raises(ConfigurationException);
00166 MURList listMURSInRod(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00167 raises(ConfigurationException);
00168 ModuleList listModulesInMUR(in unsigned long partition, in unsigned long MUR)
00169 raises(ConfigurationException);
00170 ModuleList listRModulesInMUR(in unsigned long partition, in unsigned long MUR)
00171 raises(ConfigurationException);
00172
00173 ModuleList listAllModules()
00174 raises(ConfigurationException);
00175
00176 ModuleList listUnusedModules()
00177 raises(ConfigurationException);
00178
00179 ABCDModule getModuleConfig(in string mod)
00180 raises(ConfigurationException);
00181 RodConfig getRodConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00182 raises(ConfigurationException);
00183 TimConfig getTimConfig(in unsigned long partition, in unsigned long crate)
00184 raises(ConfigurationException);
00185
00186 CharBlock getFibreMappings(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00187 raises(ConfigurationException);
00188 void setFibreMapping(in unsigned long partition, in unsigned long crate, in unsigned long rod,
00189 in unsigned long channel, in unsigned long tx, in unsigned long rx0, in unsigned long rx1)
00190 raises(ConfigurationException);
00191
00192 BOCChannelConfig getBOCConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod,
00193 in unsigned long channel)
00194 raises(ConfigurationException);
00195
00196 BOCGlobalConfig getBOCGlobalConfig(in unsigned long partition, in unsigned long crate, in unsigned long rod)
00197 raises(ConfigurationException);
00198
00199 void printModuleConfig(in ABCDModule conf)
00200 raises(ConfigurationException);
00201
00202 MURType getMURType(in unsigned long MUR)
00203 raises(ConfigurationException);
00204
00205 void translateToROD(in unsigned long MUR, in unsigned long mod,
00206 out unsigned long partition, out unsigned long crate,
00207 out unsigned long rod, out unsigned long channel)
00208 raises(ConfigurationException);
00209
00210 void translateToRROD(in unsigned long MUR, in unsigned long mod,
00211 out unsigned long partition, out unsigned long crate,
00212 out unsigned long rod, out unsigned long channel)
00213 raises(ConfigurationException);
00214
00215 void translateToSN(in unsigned long MUR, in unsigned long mod,
00216 out string sn)
00217 raises(ConfigurationException);
00218
00219 void translateToBarrel(in unsigned long MUR, in unsigned long mod,
00220 out unsigned long barrel, out unsigned long row, out long number)
00221 raises(ConfigurationException);
00222
00223 void translateToEndcap(in unsigned long MUR, in unsigned long mod,
00224 out unsigned long disk, out unsigned long ring, out unsigned long number)
00225 raises(ConfigurationException);
00226
00227 void translateToPowerSupply(in unsigned long MUR, in unsigned long mod,
00228 out unsigned long partition,
00229 out unsigned long crate, out unsigned long channel)
00230 raises(ConfigurationException);
00231
00232 void translateFromROD(in unsigned long partition, in unsigned long crate,
00233 in unsigned long rod, in unsigned long channel,
00234 out unsigned long MUR, out unsigned long mod)
00235 raises(ConfigurationException);
00236
00237 void translateFromRROD(in unsigned long partition, in unsigned long crate,
00238 in unsigned long rod, in unsigned long channel,
00239 out unsigned long MUR, out unsigned long mod)
00240 raises(ConfigurationException);
00241
00242 void translateFromSN(in string sn,
00243 out unsigned long MUR, out unsigned long mod)
00244 raises(ConfigurationException);
00245
00246 void translateFromBarrel(in unsigned long barrel, in unsigned long row, in long number,
00247 out unsigned long MUR, out unsigned long mod)
00248 raises(ConfigurationException);
00249
00250 void translateFromEndcap(in unsigned long disk, in unsigned long ring, in unsigned long number,
00251 out unsigned long MUR, out unsigned long mod)
00252 raises(ConfigurationException);
00253
00254 void translateFromPowerSupply(in unsigned long partition,
00255 in unsigned long crate, in unsigned long channel,
00256 out unsigned long MUR, out unsigned long mod)
00257 raises(ConfigurationException);
00258
00260
00261
00262
00263
00264
00265
00266
00267 void configureModuleFromStructure(in string number, in ABCDModule mConf)
00268 raises(ConfigurationException);
00269
00270 void configureModuleFromFile(in string filename)
00271 raises(ConfigurationException);
00272
00273 void configureROD(in unsigned long partition, in unsigned long crate, in unsigned long rod, in RodConfig conf)
00274 raises(ConfigurationException);
00275
00276 void configureTIM(in unsigned long partition, in unsigned long crate, in TimConfig conf)
00277 raises(ConfigurationException);
00278
00279 void configureBOC(in unsigned long partition, in unsigned long crate, in unsigned long rod, in BOCGlobalConfig conf)
00280 raises(ConfigurationException);
00281
00282 void clearAll()
00283 raises(ConfigurationException);
00284
00285 void namePartition(in unsigned long partition, in string name)
00286 raises(ConfigurationException);
00287
00288 void mapRODMUR(in unsigned long partition, in unsigned long crate, in unsigned long rod, in unsigned long order,
00289 in unsigned long number)
00290 raises(ConfigurationException);
00291
00292 void mapBarrelMUR(in unsigned long MUR, in unsigned long barrel, in unsigned long row, in unsigned long position)
00293 raises(ConfigurationException);
00294
00295 void mapEndcapMUR(in unsigned long MUR, in unsigned long disk, in unsigned long quadrant, in unsigned long position)
00296 raises(ConfigurationException);
00297
00298 void mapPowerChannel(in unsigned long MUR, in unsigned long number, in unsigned long partition, in unsigned long crate, in unsigned long channel)
00299 raises(ConfigurationException);
00300
00301 void mapModuleMUR(in unsigned long MUR, in unsigned long order,
00302 in unsigned long RMUR, in unsigned long rorder,
00303 in string sn)
00304 raises(ConfigurationException);
00305
00306 void swapMURNames(in unsigned long MUR1, in unsigned long MUR2)
00307 raises(ConfigurationException);
00308
00309 void modifyPowerParam(in unsigned long MUR, in unsigned long number, in string name, in float value)
00310 raises(ConfigurationException);
00311 void modifyDefaultPowerParam(in string name, in float value)
00312 raises(ConfigurationException);
00313 float getPowerParam(in unsigned long MUR, in unsigned long number, in string name)
00314 raises(ConfigurationException);
00315
00316
00317 void configureBOCChannel(in unsigned long MUR, in unsigned long position, in BOCChannelConfig conf)
00318 raises(ConfigurationException);
00319
00320 void loadConfiguration(in string filename)
00321 raises(ConfigurationException);
00322
00323 void saveConfiguration(in string filename)
00324 raises(ConfigurationException);
00325
00326 void saveModuleConfiguration(in string sn, in string filename)
00327 raises(ConfigurationException);
00328
00329 string getModuleConfigurationString(in string modsn, in ABCDModule config)
00330 raises(ConfigurationException);
00331
00332 void writePowerSupplyConfiguration(in string directory)
00333 raises(ConfigurationException);
00334 };
00335
00336 interface ConfigurationArchive : ipc::freeable {
00337 const string serverName = "SCTHistoricConfigurationServer";
00338 const string instanceName = "Configuration_Archive_Server";
00339
00340 Configuration getOldRunConfiguration(in unsigned long runNumber);
00341 };
00342 };