18 auto supercells = inFrame;
24 for(
auto&
icell:supercells)
33 dataToLoad.at(0) = (bcId56 << 8) | (supercells.at(0) <<10) |
34 (supercells.at(1) << 20) | (bcId34 << 30);
35 dataToLoad.at(1) = supercells.at(2) | (supercells.at(3) << 10) |
36 (supercells.at(4) << 20) | (((supercells.at(19) >>8) & 0x3) << 30);
37 dataToLoad.at(2) = supercells.at(5) | (supercells.at(6) << 10) |
38 (supercells.at(7) << 20) | (((supercells.at(19) >>6) & 0x3) << 30);
39 dataToLoad.at(3) = supercells.at(8) | (supercells.at(9) << 10) |
40 (supercells.at(10) << 20) | (((supercells.at(19) >>4) & 0x3) << 30);
41 dataToLoad.at(4) = supercells.at(11) | (supercells.at(12) << 10) |
42 (supercells.at(13) << 20) | (((supercells.at(19) >>2) & 0x3) << 30);
43 dataToLoad.at(5) = supercells.at(14) | (supercells.at(15) << 10) |
44 (supercells.at(16) << 20) | (((supercells.at(19) ) & 0x3) << 30);
45 dataToLoad.at(6) = supercells.at(17) | (supercells.at(18) << 10)| bcId02 << 20;
53 dataToLoad.at(0) =
K_28_5 | dataToLoad.at(0) ;
54 dataToLoad[6] = dataToLoad[6] | ( myCRCReminder << 23) ;
61 myDataWord latome_id = supercells.at(0) & 0xff;
62 myDataWord latome_src_id = supercells.at(1) & 0xffffffff;
66 dataToLoad.at(0) = (fiber_id << 16) | (latome_id << 24);
67 dataToLoad.at(1) = latome_src_id;
68 dataToLoad.at(6) =
bcId;
70 dataToLoad.at(0) = (
K_28_0 << 8) | dataToLoad.at(0) ;
78 dataToLoad.at(0) =
K_28_5 | dataToLoad.at(0) ;
79 dataToLoad[6] = dataToLoad[6] | ( myCRCReminder << 23) ;
98 controlWords.at(0) = 0x1;
102 controlWords.at(0) = 0x3;
113 auto inputData = encodedData;
121 inputData.at(0) = inputData.at(0) & 0xffffff00;
129 inputData.at(0) = inputData.at(0) & 0xffffff00;
138 return (CRCCheck == 0);
149 myDataWord bcId02 = (encodedData.at(6) >> 20 ) & 0x7;
150 myDataWord bcId34 = (encodedData.at(0) >> 30 ) & 0x3;
151 myDataWord bcId56 = (encodedData.at(0) >> 8 ) & 0x3;
153 BcNumber = bcId02 | (bcId34 << 3) | (bcId56 << 5);
158 BcNumber = encodedData.at(6) & 0xfff;
174 std::vector<myDataWord> unpackedData;
188 supercells[0] = (encodedData[0] >> 10) & 0x3ff;
189 supercells[1] = (encodedData[0] >> 20) & 0x3ff;
190 supercells[2] = (encodedData[1] ) & 0x3ff;
191 supercells[3] = (encodedData[1] >> 10) & 0x3ff;
192 supercells[4] = (encodedData[1] >> 20) & 0x3ff;
193 supercells[5] = (encodedData[2] ) & 0x3ff;
194 supercells[6] = (encodedData[2] >> 10) & 0x3ff;
195 supercells[7] = (encodedData[2] >> 20) & 0x3ff;
196 supercells[8] = (encodedData[3] ) & 0x3ff;
197 supercells[9] = (encodedData[3] >> 10) & 0x3ff;
198 supercells[10] = (encodedData[3] >> 20) & 0x3ff;
199 supercells[11] = (encodedData[4] ) & 0x3ff;
200 supercells[12] = (encodedData[4] >> 10) & 0x3ff;
201 supercells[13] = (encodedData[4] >> 20) & 0x3ff;
202 supercells[14] = (encodedData[5] ) & 0x3ff;
203 supercells[15] = (encodedData[5] >> 10) & 0x3ff;
204 supercells[16] = (encodedData[5] >> 20) & 0x3ff;
205 supercells[17] = (encodedData.at(6) ) & 0x3ff;
206 supercells[18] = (encodedData[6] >> 10) & 0x3ff;
207 supercells.at(19) = ((encodedData[5] >> 30) & 0x3) |
208 ((encodedData[4] >> 30) & 0x3) << 2 |
209 ((encodedData[3] >> 30) & 0x3) << 4 |
210 ((encodedData[2] >> 30) & 0x3) << 6 |
211 ((encodedData[1] >> 30) & 0x3) << 8 ;
212 unpackedData=std::move(supercells);
217 myDataWord latome_id = (encodedData.at(0) >> 24) & 0xff;
218 myDataWord latome_src_id = encodedData.at(1) & 0xffffffff;
219 myDataWord fiber_id = (encodedData.at(0) >> 16) & 0x3f;
221 unpackedData.push_back(latome_id);
222 unpackedData.push_back(latome_src_id);
223 unpackedData.push_back(fiber_id);