I am using the Stream CRC32 block and was having trouble getting the CRCs to 
pass. After some debugging I discovered that the calculated CRC is different 
depending on whether or not the source data is packed. This can be observed 
using the attached flow graph. The result of the packed stream appears to be 
correct. I looked at the code for the block (crc32_impl_bb.cc) and that see 
that regardless of the Packed setting in the block the CRC calculated with:  
d_crc_impl.process_bytes(in, packet_length);


I believe that for the unpacked case, either the bits need be repacked before 
the calculation or repeated calls to process_bits should be used in place of 
the the call to process_bytes.


My version of gnuradio is:  3.7.12git-126-g37d373ac


Thanks!

Eric

Attachment: crc_test.grc
Description: crc_test.grc

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to