00001 package Sct_SctApi;
00002
00003
00011 public interface SctApiOperations extends ipc.freeableOperations
00012 {
00013 void initialiseAll (int runNumber) throws Sct_SctApi.SctApiException;
00014 void shutdownAll () throws Sct_SctApi.SctApiException;
00015 void status ();
00016 void setRunNumber (int newRun);
00017 void setScanNumber (int newScan);
00018 int getRunNumber ();
00019 int getScanNumber ();
00020 void unsetDebugOption (String opt);
00021 void setDebugOption (String opt);
00022 String[] listEnabledDebugOptions ();
00023 String[] listDebugOptions ();
00024 void standardRegisterDump (int partition, int crate, int rod);
00025 void standardRegisterDumpAll ();
00026 String[] getModuleList ();
00027 boolean isRODPresent (int partition, int crate, int rod);
00028 void awaitResponse (int partition, int crate, int rod);
00029 int[] getResponse (int partition, int crate, int rod);
00030 void configureBOC (int partition, int crate, int rod);
00031 double[] getBOCMonitorArray (int partition, int crate, int rod);
00032 void flashLED (int partition, int crate, int rod, short slaveNumber, int period, int flashes) throws Sct_SctApi.SctApiException;
00033 void echo (int partition, int crate, int rod, int[] data) throws Sct_SctApi.SctApiException;
00034 void createDebugPrimList () throws Sct_SctApi.SctApiException;
00035 void addDebugPrimList (int index, int id, int version, int[] body) throws Sct_SctApi.SctApiException;
00036 void sendDebugPrimList (int partition, int crate, int rod) throws Sct_SctApi.SctApiException;
00037 void sendDebugSlavePrimList (int partition, int crate, int rod, int slave, boolean await, boolean response) throws Sct_SctApi.SctApiException;
00038
00039
00040 void loadConfiguration (String filename) throws Sct_SctApi.SctApiException;
00041 void storeModuleConfigurations () throws Sct_SctApi.SctApiException;
00042 void configureAllModules () throws Sct_SctApi.SctApiException;
00043
00045 sctConf.ABCDModule retrieveModule (int mid);
00046
00047
00048 short dspBlockDump (int partition, int crate, int rod, int dspStart, int numWords, int dspNumber);
00049 int[] dspBlockRead (int partition, int crate, int rod, int dspStart, int numWords, int dspNumber);
00050 short dspBlockWrite (int partition, int crate, int rod, int[] buffer, int dspAddress, int dspNumber);
00051 int dspSingleRead (int partition, int crate, int rod, int dspAddr, int dspNumber);
00052 void dspSingleWrite (int partition, int crate, int rod, int dspAddr, int val, int dspNumber);
00053 int[] readSlaveDsp (int partition, int crate, int rod, short s, int add, int words);
00054
00055
00056 int findModuleSerial (String sn);
00057 String convertToString (int mid);
00058 int findModule (short mur, short number);
00059 int findModuleRod (int partition, int crate, int rod, int channel);
00060
00061
00062 int findBarrelModule (int barrel, int row, short number);
00063 void convertToBarrelModule (int mid, org.omg.CORBA.IntHolder barrel, org.omg.CORBA.IntHolder row, org.omg.CORBA.ShortHolder number);
00064 int findEndcapModule (int disk, int ring, int number);
00065 void convertToEndcapModule (int mid, org.omg.CORBA.IntHolder disk, org.omg.CORBA.IntHolder ring, org.omg.CORBA.IntHolder number);
00066
00068 void getABCDModules (Sct_SctApi.BankType bank) throws Sct_SctApi.SctApiException;
00069 void getABCDModule (int mid, Sct_SctApi.BankType bank) throws Sct_SctApi.SctApiException;
00070 sctConf.ABCDModule getABCDModuleRaw (int partition, int crate, int rod, int slot, Sct_SctApi.BankType bank) throws Sct_SctApi.SctApiException;
00071 void setABCDModule (int mid, Sct_SctApi.BankType bank) throws Sct_SctApi.SctApiException;
00072 void setABCDModules (Sct_SctApi.BankType bank) throws Sct_SctApi.SctApiException;
00073 void sendABCDModule (int mid, Sct_SctApi.BankType bank, int type) throws Sct_SctApi.SctApiException;
00074 void sendABCDModules (Sct_SctApi.BankType bank) throws Sct_SctApi.SctApiException;
00075 void modifyABCDMask (int mid, int[] mask);
00076 void modifyABCDTrims (int mid, short[] trims);
00077 void modifyABCDRC (int mid, int chip, short index, double p0, double p1, double p2);
00078
00079
00080 void modifyABCDVar (int typ, double var);
00081 void modifyABCDModuleVar (int mid, int typ, double var);
00082 void modifyABCDChipVar (int mid, int chip, int typ, double var);
00083 void modifyABCDVarROD (int typ, double var, Sct_SctApi.BankType bank);
00084 void modifyABCDModuleVarROD (int mid, int typ, double var, Sct_SctApi.BankType bank);
00085 void modifyBOCParam (int partition, int crate, int rod, int channel, int type, int val);
00086 void lasersOff ();
00087
00088
00089 void timSetFrequency (int partition, int crate, double trigFreq, double rstFreq);
00090 void freeTriggers (int partition, int crate);
00091 void stopTriggers (int partition, int crate);
00092 void timL1A (int partition, int crate);
00093 void timCalL1A (int partition, int crate, short delay);
00094 short timReadRegister (int partition, int crate, short value);
00095 void timWriteRegister (int partition, int crate, short reg, short value);
00096 void sendTimTrigger (int partition, int crate, Sct_SctApi.Trigger trig);
00097 void sendTrigger (int partition, int crate, int rod, Sct_SctApi.Trigger trig);
00098
00099
00100 void doScan (Sct_SctApi.Scan thisScan) throws Sct_SctApi.SctApiException;
00101 void doRawScan (Sct_SctApi.Scan thisScan, int delay, int width, boolean configure, boolean clockByTwo) throws Sct_SctApi.SctApiException;
00102 void printBOCSetup (int partition, int crate, int rod);
00103 sctConf.BOCChannelConfig[] currentBOCSetup (int partition, int crate, int rod);
00104 sctConf.BOCGlobalConfig currentBOCRegisters (int partition, int crate, int rod);
00105 void printABCDModule (int mid);
00106 void printABCDRodModule (int mid, Sct_SctApi.BankType bank);
00107 void decodeEvent (int partition, int crate, int rod, short sl, short index, boolean extFlag, boolean errorType);
00108 void rawData (int partition, int crate, int rod, int delay, int units, boolean setMask);
00109 void rawDataWithTrigger (int partition, int crate, int rod, int delay, int units, boolean setMask, Sct_SctApi.Trigger trig);
00110 void sendL1A (int partition, int crate, int rod);
00111 short[] probe (int partition, int crate, int rod);
00112 short[] probeHarness (int partition, int crate, int rod, int harness);
00113 short[] probeWithTrigger (int partition, int crate, int rod, Sct_SctApi.Trigger trig);
00114 short[] probeHarnessWithTrigger (int partition, int crate, int rod, Sct_SctApi.Trigger trig, int harness);
00115 short[][] probeScanHarnessWithTrigger (int partition, int crate, int rod, Sct_SctApi.Scan trig, int harness);
00116 boolean checkAllModulesProbe (String chars) throws Sct_SctApi.SctApiException;
00117 Sct_SctApi.AutoConfigResult[] autoConfigureScan () throws Sct_SctApi.SctApiException;
00118 int getRodSlot (int partition, int crate, int rod);
00119 void testLinkOutSelect (int partition, int crate, int rod, int link);
00120 int testLinkOutRetrieve (int partition, int crate, int rod);
00121
00122
00123 void requestHardReset (int mid);
00124 void requestIVCurve (int mid, float start, float stop, float step, short delay, float currentLim);
00125 void setSelect (int mid, boolean value);
00126 void setSelectAllInCrate (int crate, boolean value);
00127 void changeRunState (int state);
00128
00129
00130 void ddcSetSingleTimeout (short timeout);
00131 short ddcGetSingleTimeout ();
00132 void ddcSetMultipleTimeout (short timeout);
00133 short ddcGetMultipleTimeout ();
00134 void ddcChangeState (int crate, int channel, short state);
00135
00136
00137 void ddcChangeStateAll (int crate, short state);
00138
00139
00140 void ddcLoadConfiguration (int crate, short state);
00141
00142
00143 void ddcHardReset (int crate, int channel);
00144
00145
00146 void ddcHardResetAll (int crate);
00147
00148
00149 int ddcGetChannelParameterInt (int crate, int channel, String name);
00150
00151
00152 float ddcGetChannelParameterFloat (int crate, int channel, String name);
00153
00154
00155 String ddcGetChannelParameterString (int crate, int channel, String name);
00156
00157
00158 int ddcGetCardParameterInt (int crate, int card, String name);
00159
00160
00161 float ddcGetCardParameterFloat (int crate, int card, String name);
00162
00163
00164 String ddcGetCardParameterString (int crate, int card, String name);
00165
00166
00167 int ddcGetCrateParameterInt (int crate, String name);
00168
00169
00170 float ddcGetCrateParameterFloat (int crate, String name);
00171
00172
00173 String ddcGetCrateParameterString (int crate, String name);
00174
00175
00176 void ddcGetCrateParameters (int crate, String[] names, Sct_SctApi.NameValueListHolder nameValues);
00177
00178
00179 void ddcSetCrateParameterFloat (int crate, String name, float value);
00180
00181
00182 void ddcSetCardParameterFloat (int crate, int card, String name, float value);
00183
00184
00185 void ddcSetChannelParameterFloat (int crate, int channel, String name, float value);
00186
00187
00188 Sct_SctApi.Scan createScan ();
00189 Sct_SctApi.Scan getDefaultScan ();
00190 Sct_SctApi.Trigger createTrigger ();
00191 Sct_SctApi.Trigger getDefaultTrigger ();
00192 Sct_SctApi.Scan[] knownScans ();
00193 }