- return (uint32_t)htons(crc << 17);
-}
-
-void write_crc_to_bitmap(uint32_t crc, uint32_t *bitmap, struct can_frame *frame)
-{
- unsigned index = frame->can_id & CAN_EFF_FLAG ? 2 : 1;
- if (frame->can_dlc < 4)
- bitmap[index] |= crc >> (frame->can_dlc*8);
- if (frame->can_dlc == 3)
- bitmap[index + 1] |= crc << 8;
- if (frame->can_dlc >= 4 && frame->can_dlc < 8)
- {
- bitmap[index + 1] |= crc >> (frame->can_dlc*8);
- if (frame->can_dlc == 7)
- bitmap[index + 2] = crc << 8;
- }
- else if (frame->can_dlc == 8)
- bitmap[index + 2] = crc;