43 0x0000, 0x0002, 0x0004, 0x0006, 0x0001, 0x0003, 0x0005, 0x0007, 0x0009, 0x000B, 0x000D, 0x000F,
44 0x0008, 0x000A, 0x000C, 0x000E, 0x0010, 0x0012, 0x0014, 0x0016, 0x0011, 0x0013, 0x0015, 0x0017,
45 0x0019, 0x001B, 0x001D, 0x001F, 0x0018, 0x001A, 0x001C, 0x001E,
46 0x0020, 0x0022, 0x0024, 0x0026, 0x0021, 0x0023, 0x0025, 0x0027,
47 0x0029, 0x002B, 0x002D, 0x002F, 0x0028, 0x002A, 0x002C, 0x002E,
94 if (iAsicIdx <= 0x000F) {
97 else if (iAsicIdx >= 0x0010 && iAsicIdx <= 0x001F)
101 else if (iAsicIdx >= 0x0020 && iAsicIdx <= 0x002F)
107 if (iAsicIdx <= 0x000F) {
111 else if (iAsicIdx >= 0x0010 && iAsicIdx <= 0x001F)
114 }
else if (iAsicIdx >= 0x0020 && iAsicIdx <= 0x002F) {
117 cout <<
"GetIdx_SensorFromAsic: WARNING, iAsicIdx= " << iAsicIdx;
118 cout <<
"\tat iDpbIdx= " << iDpbIdx << endl;
124 cout <<
"GetIdx_SensorFromAsic: unknown DPB index, using Asic 0" << endl;
128uint16_t
GetIdx_Strip(uint16_t iSensIdx, uint16_t iAsicIdx, uint16_t iChannel)
131 uint16_t iAsIdx = iAsicIdx & 0xF;
132 uint16_t iF8Idx = iAsIdx % 8;
138 st = 128 * iF8Idx + 127 - iChannel;
140 if (midSensIdx ==
B010) {
141 if (iAsIdx == 0x8 && iChannel % 2 == 0 && iChannel != 126) {
142 st = 128 * iF8Idx + 127 - iChannel - 2;
150 if (iChannel % 2 == 0)
151 st = 128 * iF8Idx + iChannel;
153 st = 128 * iF8Idx + iChannel + 2;
154 if (iF8Idx == 7 && iChannel == 127)
157 if (midSensIdx ==
B010 && iAsIdx == 0x3
162 st = 128 * iF8Idx + iChannel + 2;