39 #include "../dataunnpacker_commondef.h"
40 #include "../dataunpacker.h"
41 #include "../dataunnpacker_internal.h"
43 #ifdef CONF_NO_BOOST_CRC_SUPPORT
59 const _u64 channelBaudRate = timing.native_baudrate? timing.native_baudrate:1000000;
65 tranmissionDelay = 100;
69 const _u64 sampleDelay = (timing.sample_duration_uS >> 1);
70 const _u64 sampleFilterDelay = timing.sample_duration_uS;
72 return sampleFilterDelay + sampleDelay + tranmissionDelay + timing.linkage_delay_uS;
75 UnpackerHandler_HQNode::UnpackerHandler_HQNode()
76 : _cached_scan_node_buf_pos(0)
95 for (
size_t pos = 0; pos < cnt; ++pos)
124 #ifdef CONF_NO_BOOST_CRC_SUPPORT
130 boost::crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true> mycrc;
131 std::vector<_u8> crcInputData;
135 int leftBytes = 4 - (crcInputData.size() & 3);
136 for (
int i = 0; i < leftBytes; i++)
137 crcInputData.push_back(0);
138 mycrc.process_bytes(&crcInputData[0], crcInputData.size());
139 _u32 crcCalc = mycrc.checksum();
143 _u32 recvCRC = nodesData->crc32;
144 #ifdef _CPU_ENDIAN_BIG
146 nodesData->time_stamp =
le64_to_cpu(nodesData->time_stamp);
148 if (recvCRC == crcCalc)
150 for (
size_t pos = 0; pos <
_countof(nodesData->node_hq); ++pos)
153 #ifdef _CPU_ENDIAN_BIG