00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00025 #include "Fmd.h"
00026 #include <rcuxx/Fmd.h>
00027 #include <rcudb/Server.h>
00028
00029
00030 RcuConf::Fmd::Fmd(Rcuxx::Fmd& fmd)
00031 : Bc(fmd), fFmd(fmd)
00032 {}
00033
00034
00035 Rcuxx::AltroRegister*
00036 RcuConf::Fmd::Name2Register(const std::string& name)
00037 {
00038 Rcuxx::AltroRegister* reg = 0;
00039 if (name == "TEMP_TH") reg = 0;
00040 else if (name == "AV_TH") reg = 0;
00041 else if (name == "AC_TH") reg = 0;
00042 else if (name == "DV_TH") reg = 0;
00043 else if (name == "DC_TH") reg = 0;
00044 else if (name == "ShapeBias") reg = fFmd.ShapeBias();
00045 else if (name == "VFP") reg = fFmd.VFP();
00046 else if (name == "VFS") reg = fFmd.VFS();
00047 else if (name == "CalIter") reg = fFmd.CalIter();
00048 else if (name == "ShiftClock") reg = fFmd.ShiftClock();
00049 else if (name == "SampleClock") reg = fFmd.SampleClock();
00050 else if (name == "HoldWait") reg = fFmd.HoldWait();
00051 else if (name == "L0Timeout") reg = fFmd.L0Timeout();
00052 else if (name == "L1Timeout") reg = fFmd.L1Timeout();
00053 else if (name == "Range") reg = fFmd.Range();
00054 else if (name == "L0Triggers") reg = 0;
00055 else if (name == "Status") reg = 0;
00056 else if (name == "T1") reg = 0;
00057 else if (name == "T1_TH") reg = fFmd.T1_TH();
00058 else if (name == "FLASH_I") reg = 0;
00059 else if (name == "FLASH_I_TH") reg = fFmd.FLASH_I_TH();
00060 else if (name == "AL_DIG_I") reg = 0;
00061 else if (name == "AL_DIG_I_TH") reg = fFmd.AL_DIG_I_TH();
00062 else if (name == "AL_ANA_I") reg = 0;
00063 else if (name == "AL_ANA_I_TH") reg = fFmd.AL_ANA_I_TH();
00064 else if (name == "VA_REC_IP") reg = 0;
00065 else if (name == "VA_REC_IP_TH") reg = fFmd.VA_REC_IP_TH();
00066 else if (name == "T2") reg = 0;
00067 else if (name == "T2_TH") reg = fFmd.T2_TH();
00068 else if (name == "VA_SUP_IP") reg = 0;
00069 else if (name == "VA_SUP_IP_TH") reg = fFmd.VA_SUP_IP_TH();
00070 else if (name == "VA_REC_IM") reg = 0;
00071 else if (name == "VA_REC_IM_TH") reg = fFmd.VA_REC_IM_TH();
00072 else if (name == "VA_SUP_IM") reg = 0;
00073 else if (name == "VA_SUP_IM_TH") reg = fFmd.VA_SUP_IM_TH();
00074 else if (name == "GTL_U") reg = 0;
00075 else if (name == "GTL_U_TH") reg = fFmd.GTL_U_TH();
00076 else if (name == "T3") reg = 0;
00077 else if (name == "T3_TH") reg = fFmd.T3_TH();
00078 else if (name == "T1SENS") reg = 0;
00079 else if (name == "T1SENS_TH") reg = fFmd.T1SENS_TH();
00080 else if (name == "T2SENS") reg = 0;
00081 else if (name == "T2SENS_TH") reg = fFmd.T2SENS_TH();
00082 else if (name == "AL_DIG_U") reg = 0;
00083 else if (name == "AL_DIG_U_TH") reg = fFmd.AL_DIG_U_TH();
00084 else if (name == "AL_ANA_U") reg = 0;
00085 else if (name == "AL_ANA_U_TH") reg = fFmd.AL_ANA_U_TH();
00086 else if (name == "T4") reg = 0;
00087 else if (name == "T4_TH") reg = fFmd.T4_TH();
00088 else if (name == "VA_REC_UP") reg = 0;
00089 else if (name == "VA_REC_UP_TH") reg = fFmd.VA_REC_UP_TH();
00090 else if (name == "VA_SUP_UP") reg = 0;
00091 else if (name == "VA_SUP_UP_TH") reg = fFmd.VA_SUP_UP_TH();
00092 else if (name == "VA_SUP_UM") reg = 0;
00093 else if (name == "VA_SUP_UM_TH") reg = fFmd.VA_SUP_UM_TH();
00094 else if (name == "VA_REC_UM") reg = 0;
00095 else if (name == "VA_REC_UM_TH") reg = fFmd.VA_REC_UM_TH();
00096 else reg = Bc::Name2Register(name);
00097 return reg;
00098 }
00099
00100
00101 Rcuxx::AltroCommand*
00102 RcuConf::Fmd::Name2Command(const std::string& name)
00103 {
00104 Rcuxx::AltroCommand* cmd = 0;
00105 if (name == "CalibrationRun") cmd = fFmd.CalibrationRun();
00106 else if (name == "ChangeDacs") cmd = fFmd.ChangeDacs();
00107 else if (name == "FakeTrigger") cmd = fFmd.FakeTrigger();
00108 else if (name == "PulserOff") cmd = fFmd.PulserOff();
00109 else if (name == "PulserOn") cmd = fFmd.PulserOn();
00110 else if (name == "SoftReset") cmd = fFmd.SoftReset();
00111 else if (name == "TestOff") cmd = fFmd.TestOff();
00112 else if (name == "TestOn") cmd = fFmd.TestOn();
00113 else cmd = Bc::Name2Command(name);
00114 return cmd;
00115 }
00116
00117
00118 bool
00119 RcuConf::Fmd::Create(RcuDb::Server& s)
00120 {
00121
00122 Parameter::Where w = Parameter::kBc;
00123
00124 try {
00125
00126
00127
00128
00129
00130 Component::Create(s, "TSMWORD", w, false, 0xffffffff);
00131 Component::Create(s, "USRATIO", w, false, 0xffffffff);
00132 Component::Create(s, "CSR0", w, false, 0xffffffff);
00133
00134 Component::Create(s, "CSR2", w, false, 0xffffffff);
00135 Component::Create(s, "CSR3", w, false, 0xffffffff);
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147 Component::Create(s, "ShapeBias", w, false, 0xffff);
00148 Component::Create(s, "VFP", w, false, 0xffff);
00149 Component::Create(s, "VFS", w, false, 0xffff);
00150 Component::Create(s, "CalIter", w, false, 0xffff);
00151 Component::Create(s, "ShiftClock", w, false, 0xffff);
00152 Component::Create(s, "SampleClock", w, false, 0xffff);
00153 Component::Create(s, "HoldWait", w, false, 0xffff);
00154 Component::Create(s, "L0Timeout", w, false, 0xffff);
00155 Component::Create(s, "L1Timeout", w, false, 0xffff);
00156 Component::Create(s, "Range", w, false, 0xffff);
00157
00158
00159
00160 Component::Create(s, "T1_TH", w, false, 0xffff);
00161
00162 Component::Create(s, "FLASH_I_TH", w, false, 0xffff);
00163
00164 Component::Create(s, "AL_DIG_I_TH", w, false, 0xffff);
00165
00166 Component::Create(s, "AL_ANA_I_TH", w, false, 0xffff);
00167
00168 Component::Create(s, "VA_REC_IP_TH", w, false, 0xffff);
00169
00170 Component::Create(s, "T2_TH", w, false, 0xffff);
00171
00172 Component::Create(s, "VA_SUP_IP_TH", w, false, 0xffff);
00173
00174 Component::Create(s, "VA_REC_IM_TH", w, false, 0xffff);
00175
00176 Component::Create(s, "VA_SUP_IM_TH", w, false, 0xffff);
00177
00178 Component::Create(s, "GTL_U_TH", w, false, 0xffff);
00179
00180 Component::Create(s, "T3_TH", w, false, 0xffff);
00181
00182 Component::Create(s, "T1SENS_TH", w, false, 0xffff);
00183
00184 Component::Create(s, "T2SENS_TH", w, false, 0xffff);
00185
00186 Component::Create(s, "AL_DIG_U_TH", w, false, 0xffff);
00187
00188 Component::Create(s, "AL_ANA_U_TH", w, false, 0xffff);
00189
00190 Component::Create(s, "T4_TH", w, false, 0xffff);
00191
00192 Component::Create(s, "VA_REC_UP_TH", w, false, 0xffff);
00193
00194 Component::Create(s, "VA_SUP_UP_TH", w, false, 0xffff);
00195
00196 Component::Create(s, "VA_SUP_UM_TH", w, false, 0xffff);
00197
00198 Component::Create(s, "VA_REC_UM_TH", w, false, 0xffff);
00199
00200 Component::Create(s, "ACQRDO", w, false, 0xffffffff);
00201 Component::Create(s, "ALRST", w, false, 0xffffffff);
00202 Component::Create(s, "BCRST", w, false, 0xffffffff);
00203 Component::Create(s, "CNTCLR", w, false, 0xffffffff);
00204 Component::Create(s, "CNTLAT", w, false, 0xffffffff);
00205 Component::Create(s, "CSR1CLR", w, false, 0xffffffff);
00206 Component::Create(s, "EVLRDO", w, false, 0xffffffff);
00207 Component::Create(s, "SCEVL", w, false, 0xffffffff);
00208 Component::Create(s, "STCNV", w, false, 0xffffffff);
00209 Component::Create(s, "STTSM", w, false, 0xffffffff);
00210 Component::Create(s, "CalibrationRun", w, false, 0xffff);
00211 Component::Create(s, "ChangeDacs", w, false, 0xffff);
00212 Component::Create(s, "FakeTrigger", w, false, 0xffff);
00213 Component::Create(s, "PulserOff", w, false, 0xffff);
00214 Component::Create(s, "PulserOn", w, false, 0xffff);
00215 Component::Create(s, "SoftReset", w, false, 0xffff);
00216 Component::Create(s, "TestOff", w, false, 0xffff);
00217 Component::Create(s, "TestOn", w, false, 0xffff);
00218 }
00219 catch (bool& e) {
00220 return e;
00221 }
00222 return true;
00223 }
00224
00225
00226
00227
00228
00229