Hey everyone,
I try to get CRC information for the received packet with the CC2420.
When searching for CRC_OK there isn't really a way in RIOT.
I've looked at the *cc2420_rx* method and found that rssi is already
extracted. The same can be applied easily for the CRC of the last packet.
I've also seen that there is the *info argument which is nothing else
than *netdev2_radio_rx_info* from drivers/include/net/netdev2.h. Would
it makes sense to add a "unsigned int crc_ok : 1" bit field to that
struct to indcate the CRC status or should it be implemented as a NETOPT?
Best Regards,
Robert
Hi Robert,
First, to read and use the CRC_OK bit we will have to generate it.
Apparently that slipped through and we didn't notice so far, anyhow
I opened PR #6015 [1] to fix that. Thank you for leading us in that
direction!
Regarding a `crc_ok` bitfield I don't have a strong opinion.
Best, Thomas
[1] https://github.com/RIOT-OS/RIOT/pull/6015
Dear Thomas,
the CRC was generated already, also I need it for an evaluation and I am
interested in packets with wrong CRC, so in my opinion the packet should
be forwarded to the user, but with flag CRC_OK=0 set.
Best Regards,
Robert
Hi Robert,
You are right, `AUTOCRC` is on after reset, so `CRC_OK` gets appended to the frame but is currently not checked.
I understand that corrupted packets with CRC errors are interesting if you are doing research, in general I am not convinced handing those on to upper layers though. Would it be sufficient for you to include CRC errors in netstats?
Best, Thomas