10 #ifndef PXAR_DICTIONARIES_H
11 #define PXAR_DICTIONARIES_H
14 #if ((defined WIN32) && (defined __CINT__))
15 typedef unsigned char uint8_t;
22 #include "constants.h"
30 #define PROBE_ANALOG PROBEA_OFF
31 #define PROBE_DIGITAL PROBE_OFF
32 #define PROBE_NONE 0xFF
42 dacConfig(uint8_t
id, uint8_t size) : _type(0), _id(
id), _size(size), _preferred(
true) {}
43 dacConfig(uint8_t
id, uint8_t size, uint8_t type) : _type(type), _id(
id), _size(size), _preferred(
true) {}
44 dacConfig(uint8_t
id, uint8_t size, uint8_t type,
bool preferred) : _type(type), _id(
id), _size(size), _preferred(preferred) {}
65 inline uint8_t getRegister(std::string name, uint8_t type) {
66 if(_registers.find(name)->second._type == type) {
67 return _registers.find(name)->second._id;
73 inline uint8_t getSize(std::string name, uint8_t type) {
74 if(_registers.find(name)->second._type == type) {
75 return _registers.find(name)->second._size;
81 inline uint8_t getSize(uint8_t
id, uint8_t type) {
82 for(std::map<std::string, dacConfig>::iterator iter = _registers.begin(); iter != _registers.end(); ++iter) {
83 if((*iter).second._type == type && (*iter).second._id ==
id) {
84 return (*iter).second._size;
91 inline std::string getName(uint8_t
id, uint8_t type) {
92 for(std::map<std::string, dacConfig>::iterator iter = _registers.begin(); iter != _registers.end(); ++iter) {
93 if((*iter).second._type == type && (*iter).second._id ==
id && (*iter).second._preferred ==
true) {
94 return (*iter).first;}
100 inline std::vector<std::string> getAllNames(uint8_t type) {
101 std::vector<std::string> names;
102 for(std::map<std::string, dacConfig>::iterator iter = _registers.begin(); iter != _registers.end(); ++iter) {
103 if((*iter).second._type == type && (*iter).second._preferred ==
true) {
104 names.push_back((*iter).first);
111 inline std::vector<std::string> getAllROCNames() {
return getAllNames(ROC_REG);}
112 inline std::vector<std::string> getAllDTBNames() {
return getAllNames(DTB_REG);}
113 inline std::vector<std::string> getAllTBMNames() {
return getAllNames(TBM_REG);}
118 _registers[
"clk"] =
dacConfig(SIG_CLK,255,DTB_REG);
119 _registers[
"ctr"] =
dacConfig(SIG_CTR,255,DTB_REG);
120 _registers[
"sda"] =
dacConfig(SIG_SDA,255,DTB_REG);
121 _registers[
"tin"] =
dacConfig(SIG_TIN,255,DTB_REG);
122 _registers[
"level"] =
dacConfig(SIG_LEVEL,15,DTB_REG);
123 _registers[
"triggerdelay"] =
dacConfig(SIG_LOOP_TRIGGER_DELAY,255,DTB_REG);
124 _registers[
"deser160phase"] =
dacConfig(SIG_DESER160PHASE,7,DTB_REG);
126 _registers[
"tout"] =
dacConfig(SIG_RDA_TOUT,19,DTB_REG);
127 _registers[
"rda"] =
dacConfig(SIG_RDA_TOUT,19,DTB_REG);
131 _registers[
"counters"] =
dacConfig(TBM_REG_COUNTER_SWITCHES,255,TBM_REG,
false);
132 _registers[
"base0"] =
dacConfig(TBM_REG_COUNTER_SWITCHES,255,TBM_REG);
134 _registers[
"mode"] =
dacConfig(TBM_REG_SET_MODE,255,TBM_REG,
false);
135 _registers[
"base2"] =
dacConfig(TBM_REG_SET_MODE,255,TBM_REG);
137 _registers[
"clear"] =
dacConfig(TBM_REG_CLEAR_INJECT,255,TBM_REG,
false);
138 _registers[
"inject"] =
dacConfig(TBM_REG_CLEAR_INJECT,255,TBM_REG,
false);
139 _registers[
"base4"] =
dacConfig(TBM_REG_CLEAR_INJECT,255,TBM_REG);
141 _registers[
"pkam_set"] =
dacConfig(TBM_REG_SET_PKAM_COUNTER,255,TBM_REG,
false);
142 _registers[
"base8"] =
dacConfig(TBM_REG_SET_PKAM_COUNTER,255,TBM_REG);
144 _registers[
"delays"] =
dacConfig(TBM_REG_SET_DELAYS,255,TBM_REG,
false);
145 _registers[
"basea"] =
dacConfig(TBM_REG_SET_DELAYS,255,TBM_REG);
147 _registers[
"autoreset"] =
dacConfig(TBM_REG_TEMPERATURE_CONTROL,255,TBM_REG,
false);
148 _registers[
"basec"] =
dacConfig(TBM_REG_TEMPERATURE_CONTROL,255,TBM_REG);
150 _registers[
"temperature"] =
dacConfig(TBM_REG_TEMPERATURE_CONTROL,255,TBM_REG,
false);
152 _registers[
"cores"] =
dacConfig(TBM_REG_CORES_A_B,255,TBM_REG,
false);
153 _registers[
"basee"] =
dacConfig(TBM_REG_CORES_A_B,255,TBM_REG);
160 _registers[
"vdig"] =
dacConfig(ROC_DAC_Vdig,15,ROC_REG);
161 _registers[
"vdd"] =
dacConfig(ROC_DAC_Vdig,15,ROC_REG,
false);
163 _registers[
"vana"] =
dacConfig(ROC_DAC_Vana,255,ROC_REG);
164 _registers[
"iana"] =
dacConfig(ROC_DAC_Vana,255,ROC_REG,
false);
166 _registers[
"vsf"] =
dacConfig(ROC_DAC_Vsh,255,ROC_REG,
false);
167 _registers[
"vsh"] =
dacConfig(ROC_DAC_Vsh,255,ROC_REG);
169 _registers[
"vcomp"] =
dacConfig(ROC_DAC_Vcomp,15,ROC_REG);
171 _registers[
"vwllpr"] =
dacConfig(ROC_DAC_VwllPr,255,ROC_REG);
172 _registers[
"fbpre"] =
dacConfig(ROC_DAC_VwllPr,255,ROC_REG,
false);
174 _registers[
"vwllsh"] =
dacConfig(ROC_DAC_VwllSh,255,ROC_REG);
175 _registers[
"fbsh"] =
dacConfig(ROC_DAC_VwllSh,255,ROC_REG,
false);
177 _registers[
"vhlddel"] =
dacConfig(ROC_DAC_VhldDel,255,ROC_REG);
178 _registers[
"holddel"] =
dacConfig(ROC_DAC_VhldDel,255,ROC_REG,
false);
180 _registers[
"vtrim"] =
dacConfig(ROC_DAC_Vtrim,255,ROC_REG);
181 _registers[
"trimscale"] =
dacConfig(ROC_DAC_Vtrim,255,ROC_REG,
false);
183 _registers[
"vthrcomp"] =
dacConfig(ROC_DAC_VthrComp,255,ROC_REG);
184 _registers[
"globalthr"] =
dacConfig(ROC_DAC_VthrComp,255,ROC_REG,
false);
186 _registers[
"vibias_bus"] =
dacConfig(ROC_DAC_VIBias_Bus,255,ROC_REG);
188 _registers[
"voffsetro"] =
dacConfig(ROC_DAC_VoffsetRO,255,ROC_REG,
false);
189 _registers[
"voffsetr0"] =
dacConfig(ROC_DAC_VoffsetRO,255,ROC_REG,
false);
190 _registers[
"phoffset"] =
dacConfig(ROC_DAC_VoffsetRO,255,ROC_REG);
192 _registers[
"vcomp_adc"] =
dacConfig(ROC_DAC_VIbias_PH,255,ROC_REG);
193 _registers[
"vibias_ph"] =
dacConfig(ROC_DAC_VIbias_PH,255,ROC_REG,
false);
194 _registers[
"adcpower"] =
dacConfig(ROC_DAC_VIbias_PH,255,ROC_REG,
false);
196 _registers[
"viref_adc"] =
dacConfig(ROC_DAC_VIbias_DAC,255,ROC_REG,
false);
197 _registers[
"vibias_dac"] =
dacConfig(ROC_DAC_VIbias_DAC,255,ROC_REG,
false);
198 _registers[
"ibias_dac"] =
dacConfig(ROC_DAC_VIbias_DAC,255,ROC_REG,
false);
199 _registers[
"phscale"] =
dacConfig(ROC_DAC_VIbias_DAC,255,ROC_REG);
201 _registers[
"vicolor"] =
dacConfig(ROC_DAC_VIColOr,255,ROC_REG);
203 _registers[
"vcal"] =
dacConfig(ROC_DAC_Vcal,255,ROC_REG);
205 _registers[
"caldel"] =
dacConfig(ROC_DAC_CalDel,255,ROC_REG);
207 _registers[
"ctrlreg"] =
dacConfig(ROC_DAC_CtrlReg,255,ROC_REG);
208 _registers[
"ccr"] =
dacConfig(ROC_DAC_CtrlReg,255,ROC_REG,
false);
210 _registers[
"wbc"] =
dacConfig(ROC_DAC_WBC,255,ROC_REG);
212 _registers[
"readback"] =
dacConfig(ROC_DAC_Readback,15,ROC_REG);
213 _registers[
"rbreg"] =
dacConfig(ROC_DAC_Readback,15,ROC_REG,
false);
216 _registers[
"vbias_sf"] =
dacConfig(ROC_DAC_Vbias_sf,15,ROC_REG);
217 _registers[
"voffsetop"] =
dacConfig(ROC_DAC_VoffsetOp,255,ROC_REG);
218 _registers[
"vion"] =
dacConfig(ROC_DAC_VIon,255,ROC_REG);
221 _registers[
"vleak_comp"] =
dacConfig(ROC_DAC_Vleak_comp,255,ROC_REG);
222 _registers[
"vleak"] =
dacConfig(ROC_DAC_Vleak_comp,255,ROC_REG);
224 _registers[
"vrgpr"] =
dacConfig(ROC_DAC_VrgPr,255,ROC_REG);
225 _registers[
"vrgsh"] =
dacConfig(ROC_DAC_VrgSh,255,ROC_REG);
227 _registers[
"vibiasop"] =
dacConfig(ROC_DAC_VIbiasOp,255,ROC_REG);
228 _registers[
"vbias_op"] =
dacConfig(ROC_DAC_VIbiasOp,255,ROC_REG,
false);
230 _registers[
"vibias_roc"] =
dacConfig(ROC_DAC_VIbias_roc,255,ROC_REG);
231 _registers[
"vnpix"] =
dacConfig(ROC_DAC_Vnpix,255,ROC_REG);
232 _registers[
"vsumcol"] =
dacConfig(ROC_DAC_VsumCol,255,ROC_REG);
235 std::map<std::string, dacConfig> _registers;
257 inline uint8_t getDevCode(std::string name) {
258 if(_devices.find(name) != _devices.end()) {
return _devices[name]; }
263 inline std::string getName(uint8_t devCode) {
264 for(std::map<std::string, uint8_t>::iterator iter = _devices.begin(); iter != _devices.end(); ++iter) {
265 if((*iter).second == devCode) {
return (*iter).first; }
275 _devices[
"psi46v2"] = ROC_PSI46V2;
276 _devices[
"psi46xdb"] = ROC_PSI46XDB;
277 _devices[
"psi46dig"] = ROC_PSI46DIG;
278 _devices[
"psi46dig_trig"] = ROC_PSI46DIG_TRIG;
279 _devices[
"psi46digv2_b"] = ROC_PSI46DIGV2_B;
280 _devices[
"psi46digv2"] = ROC_PSI46DIGV2;
281 _devices[
"psi46digv2.1"] = ROC_PSI46DIGV21;
282 _devices[
"psi46digv21"] = ROC_PSI46DIGV21;
283 _devices[
"psi46digv21respin"] = ROC_PSI46DIGV21RESPIN;
285 _devices[
"psi46digv3"] = ROC_PSI46DIGV21;
288 _devices[
"tbm08"] = TBM_08;
289 _devices[
"tbm08a"] = TBM_08A;
290 _devices[
"tbm08b"] = TBM_08B;
291 _devices[
"tbm09"] = TBM_09;
294 std::map<std::string, uint8_t> _devices;
313 inline uint8_t getSignal(std::string name, uint8_t type) {
315 if(type == PROBE_DIGITAL && _signals.find(name)->second._signal_dig != PROBE_NONE) {
316 return _signals.find(name)->second._signal_dig;
319 else if(type == PROBE_ANALOG && _signals.find(name)->second._signal_ana != PROBE_NONE) {
320 return _signals.find(name)->second._signal_ana;
323 else {
return type; }
327 inline std::string getName(uint8_t signal, uint8_t type) {
328 for(std::map<std::string, probeConfig>::iterator iter = _signals.begin(); iter != _signals.end(); ++iter) {
329 if(type == PROBE_DIGITAL && iter->second._signal_dig == signal && iter->second._preferred ==
true) {
330 return (*iter).first;
332 else if(type == PROBE_ANALOG && iter->second._signal_ana == signal && iter->second._preferred ==
true) {
333 return (*iter).first;
340 inline std::vector<std::string> getAllNames(uint8_t type) {
341 std::vector<std::string> names;
342 for(std::map<std::string, probeConfig>::iterator iter = _signals.begin(); iter != _signals.end(); ++iter) {
343 if(((type == PROBE_DIGITAL && iter->second._signal_dig != PROBE_NONE)
344 || (type == PROBE_ANALOG && iter->second._signal_ana != PROBE_NONE))
345 && (*iter).second._preferred ==
true) {
346 names.push_back((*iter).first);
353 inline std::vector<std::string> getAllAnalogNames() {
return getAllNames(PROBE_ANALOG);}
354 inline std::vector<std::string> getAllDigitalNames() {
return getAllNames(PROBE_DIGITAL);}
363 probeConfig(uint8_t signal_dig, uint8_t signal_ana,
bool preferred =
true) : _signal_dig(signal_dig), _signal_ana(signal_ana), _preferred(preferred) {}
373 _signals[
"tin"] = probeConfig(PROBE_TIN,PROBEA_TIN);
374 _signals[
"ctr"] = probeConfig(PROBE_CTR,PROBEA_CTR);
375 _signals[
"clk"] = probeConfig(PROBE_CLK,PROBEA_CLK);
376 _signals[
"sda"] = probeConfig(PROBE_SDA,PROBEA_SDA);
377 _signals[
"tout"] = probeConfig(PROBE_TOUT,PROBEA_TOUT);
378 _signals[
"rda"] = probeConfig(PROBE_TOUT,PROBEA_TOUT);
379 _signals[
"off"] = probeConfig(PROBE_OFF,PROBEA_OFF);
382 _signals[
"sdasend"] = probeConfig(PROBE_SDA_SEND,PROBE_NONE);
383 _signals[
"pgtok"] = probeConfig(PROBE_PG_TOK,PROBE_NONE);
384 _signals[
"pgtrg"] = probeConfig(PROBE_PG_TRG,PROBE_NONE);
385 _signals[
"pgcal"] = probeConfig(PROBE_PG_CAL,PROBE_NONE);
387 _signals[
"pgresr"] = probeConfig(PROBE_PG_RES_ROC,PROBE_NONE,
false);
388 _signals[
"pgresroc"] = probeConfig(PROBE_PG_RES_ROC,PROBE_NONE);
390 _signals[
"pgrest"] = probeConfig(PROBE_PG_RES_TBM,PROBE_NONE,
false);
391 _signals[
"pgrestbm"] = probeConfig(PROBE_PG_RES_TBM,PROBE_NONE);
393 _signals[
"pgsync"] = probeConfig(PROBE_PG_SYNC,PROBE_NONE);
395 _signals[
"clkp"] = probeConfig(PROBE_CLK_PRESEN,PROBE_NONE);
396 _signals[
"clkpresent"] = probeConfig(PROBE_CLK_PRESEN,PROBE_NONE,
false);
398 _signals[
"clkg"] = probeConfig(PROBE_CLK_GOOD,PROBE_NONE);
399 _signals[
"clkgood"] = probeConfig(PROBE_CLK_GOOD,PROBE_NONE,
false);
401 _signals[
"daq0wr"] = probeConfig(PROBE_DAQ0_WR,PROBE_NONE);
402 _signals[
"crc"] = probeConfig(PROBE_CRC,PROBE_NONE);
403 _signals[
"adcrunning"] = probeConfig(PROBE_ADC_RUNNING,PROBE_NONE);
404 _signals[
"adcrun"] = probeConfig(PROBE_ADC_RUN,PROBE_NONE);
405 _signals[
"adcpgate"] = probeConfig(PROBE_ADC_PGATE,PROBE_NONE);
406 _signals[
"adcstart"] = probeConfig(PROBE_ADC_START,PROBE_NONE);
407 _signals[
"adcsgate"] = probeConfig(PROBE_ADC_SGATE,PROBE_NONE);
408 _signals[
"adcs"] = probeConfig(PROBE_ADC_S,PROBE_NONE);
410 _signals[
"tbm0gate"] = probeConfig(PROBE_TBM0_GATE,PROBE_NONE);
411 _signals[
"tbmgate0"] = probeConfig(PROBE_TBM0_GATE,PROBE_NONE,
false);
412 _signals[
"tbm0data"] = probeConfig(PROBE_TBM0_DATA,PROBE_NONE);
413 _signals[
"tbmdata0"] = probeConfig(PROBE_TBM0_DATA,PROBE_NONE,
false);
414 _signals[
"tbm0tbmhdr"] = probeConfig(PROBE_TBM0_TBMHDR,PROBE_NONE);
415 _signals[
"tbmheader0"] = probeConfig(PROBE_TBM0_TBMHDR,PROBE_NONE,
false);
416 _signals[
"tbm0rochdr"] = probeConfig(PROBE_TBM0_ROCHDR,PROBE_NONE);
417 _signals[
"tbmrocheader0"] = probeConfig(PROBE_TBM0_ROCHDR,PROBE_NONE,
false);
418 _signals[
"tbm0tbmtrl"] = probeConfig(PROBE_TBM0_TBMTRL,PROBE_NONE);
419 _signals[
"tbmtrailer0"] = probeConfig(PROBE_TBM0_TBMTRL,PROBE_NONE,
false);
421 _signals[
"tbm1gate"] = probeConfig(PROBE_TBM1_GATE,PROBE_NONE);
422 _signals[
"tbmgate1"] = probeConfig(PROBE_TBM1_GATE,PROBE_NONE,
false);
423 _signals[
"tbm1data"] = probeConfig(PROBE_TBM1_DATA,PROBE_NONE);
424 _signals[
"tbmdata1"] = probeConfig(PROBE_TBM1_DATA,PROBE_NONE,
false);
425 _signals[
"tbm1tbmhdr"] = probeConfig(PROBE_TBM1_TBMHDR,PROBE_NONE);
426 _signals[
"tbmheader1"] = probeConfig(PROBE_TBM1_TBMHDR,PROBE_NONE,
false);
427 _signals[
"tbm1rochdr"] = probeConfig(PROBE_TBM1_ROCHDR,PROBE_NONE);
428 _signals[
"tbmrocheader1"] = probeConfig(PROBE_TBM1_ROCHDR,PROBE_NONE,
false);
429 _signals[
"tbm1tbmtrl"] = probeConfig(PROBE_TBM1_TBMTRL,PROBE_NONE);
430 _signals[
"tbmtrailer1"] = probeConfig(PROBE_TBM1_TBMTRL,PROBE_NONE,
false);
432 _signals[
"tbm2gate"] = probeConfig(PROBE_TBM2_GATE,PROBE_NONE);
433 _signals[
"tbmgate2"] = probeConfig(PROBE_TBM2_GATE,PROBE_NONE,
false);
434 _signals[
"tbm2data"] = probeConfig(PROBE_TBM2_DATA,PROBE_NONE);
435 _signals[
"tbmdata2"] = probeConfig(PROBE_TBM2_DATA,PROBE_NONE,
false);
436 _signals[
"tbm2tbmhdr"] = probeConfig(PROBE_TBM2_TBMHDR,PROBE_NONE);
437 _signals[
"tbmheader2"] = probeConfig(PROBE_TBM2_TBMHDR,PROBE_NONE,
false);
438 _signals[
"tbm2rochdr"] = probeConfig(PROBE_TBM2_ROCHDR,PROBE_NONE);
439 _signals[
"tbmrocheader2"] = probeConfig(PROBE_TBM2_ROCHDR,PROBE_NONE,
false);
440 _signals[
"tbm2tbmtrl"] = probeConfig(PROBE_TBM2_TBMTRL,PROBE_NONE);
441 _signals[
"tbmtrailer2"] = probeConfig(PROBE_TBM2_TBMTRL,PROBE_NONE,
false);
443 _signals[
"tbm3gate"] = probeConfig(PROBE_TBM3_GATE,PROBE_NONE);
444 _signals[
"tbmgate3"] = probeConfig(PROBE_TBM3_GATE,PROBE_NONE,
false);
445 _signals[
"tbm3data"] = probeConfig(PROBE_TBM3_DATA,PROBE_NONE);
446 _signals[
"tbmdata3"] = probeConfig(PROBE_TBM3_DATA,PROBE_NONE,
false);
447 _signals[
"tbm3tbmhdr"] = probeConfig(PROBE_TBM3_TBMHDR,PROBE_NONE);
448 _signals[
"tbmheader3"] = probeConfig(PROBE_TBM3_TBMHDR,PROBE_NONE,
false);
449 _signals[
"tbm3rochdr"] = probeConfig(PROBE_TBM3_ROCHDR,PROBE_NONE);
450 _signals[
"tbmrocheader3"] = probeConfig(PROBE_TBM3_ROCHDR,PROBE_NONE,
false);
451 _signals[
"tbm3tbmtrl"] = probeConfig(PROBE_TBM3_TBMTRL,PROBE_NONE);
452 _signals[
"tbmtrailer3"] = probeConfig(PROBE_TBM3_TBMTRL,PROBE_NONE,
false);
454 _signals[
"tbm4gate"] = probeConfig(PROBE_TBM4_GATE,PROBE_NONE);
455 _signals[
"tbmgate4"] = probeConfig(PROBE_TBM4_GATE,PROBE_NONE,
false);
456 _signals[
"tbm4data"] = probeConfig(PROBE_TBM4_DATA,PROBE_NONE);
457 _signals[
"tbmdata4"] = probeConfig(PROBE_TBM4_DATA,PROBE_NONE,
false);
458 _signals[
"tbm4tbmhdr"] = probeConfig(PROBE_TBM4_TBMHDR,PROBE_NONE);
459 _signals[
"tbmheader4"] = probeConfig(PROBE_TBM4_TBMHDR,PROBE_NONE,
false);
460 _signals[
"tbm4rochdr"] = probeConfig(PROBE_TBM4_ROCHDR,PROBE_NONE);
461 _signals[
"tbmrocheader4"] = probeConfig(PROBE_TBM4_ROCHDR,PROBE_NONE,
false);
462 _signals[
"tbm4tbmtrl"] = probeConfig(PROBE_TBM4_TBMTRL,PROBE_NONE);
463 _signals[
"tbmtrailer4"] = probeConfig(PROBE_TBM4_TBMTRL,PROBE_NONE,
false);
465 _signals[
"tbm5gate"] = probeConfig(PROBE_TBM5_GATE,PROBE_NONE);
466 _signals[
"tbmgate5"] = probeConfig(PROBE_TBM5_GATE,PROBE_NONE,
false);
467 _signals[
"tbm5data"] = probeConfig(PROBE_TBM5_DATA,PROBE_NONE);
468 _signals[
"tbmdata5"] = probeConfig(PROBE_TBM5_DATA,PROBE_NONE,
false);
469 _signals[
"tbm5tbmhdr"] = probeConfig(PROBE_TBM5_TBMHDR,PROBE_NONE);
470 _signals[
"tbmheader5"] = probeConfig(PROBE_TBM5_TBMHDR,PROBE_NONE,
false);
471 _signals[
"tbm5rochdr"] = probeConfig(PROBE_TBM5_ROCHDR,PROBE_NONE);
472 _signals[
"tbmrocheader5"] = probeConfig(PROBE_TBM5_ROCHDR,PROBE_NONE,
false);
473 _signals[
"tbm5tbmtrl"] = probeConfig(PROBE_TBM5_TBMTRL,PROBE_NONE);
474 _signals[
"tbmtrailer5"] = probeConfig(PROBE_TBM5_TBMTRL,PROBE_NONE,
false);
477 _signals[
"sdata1"] = probeConfig(PROBE_NONE,PROBEA_SDATA1);
478 _signals[
"sdata2"] = probeConfig(PROBE_NONE,PROBEA_SDATA2);
481 std::map<std::string, probeConfig> _signals;
500 inline uint16_t getSignal(std::string name) {
501 if(_signals.find(name) != _signals.end()) {
return _signals[name]; }
502 else {
return PG_ERR; }
506 inline std::string getName(uint16_t signal) {
507 for(std::map<std::string, uint16_t>::iterator iter = _signals.begin(); iter != _signals.end(); ++iter) {
508 if((*iter).second == signal) {
return (*iter).first; }
516 _signals[
"none"] = PG_NONE;
517 _signals[
"empty"] = PG_NONE;
518 _signals[
"delay"] = PG_NONE;
521 _signals[
"pg_tok"] = PG_TOK;
522 _signals[
"tok"] = PG_TOK;
523 _signals[
"token"] = PG_TOK;
526 _signals[
"pg_trg"] = PG_TRG;
527 _signals[
"trg"] = PG_TRG;
528 _signals[
"trigger"] = PG_TRG;
531 _signals[
"pg_cal"] = PG_CAL;
532 _signals[
"cal"] = PG_CAL;
533 _signals[
"calibrate"] = PG_CAL;
536 _signals[
"pg_resr"] = PG_RESR;
537 _signals[
"resr"] = PG_RESR;
538 _signals[
"resetroc"] = PG_RESR;
541 _signals[
"pg_rest"] = PG_REST;
542 _signals[
"rest"] = PG_REST;
543 _signals[
"resettbm"] = PG_REST;
546 _signals[
"pg_sync"] = PG_SYNC;
547 _signals[
"sync"] = PG_SYNC;
550 std::map<std::string, uint16_t> _signals;