PlatformIO Community

Receiving and merging the file fragments over the CAN message

I’m using the EPS32 TWI library for delivering the CAN message
I made a simple code for streaming & transferring a file over 8 bytes CAN message via the CAN Bus,

my code in c is as follows, however, my question is how to merge the fragmented file without any sequence controller? how do I check the CRC of the receiving file? since the CAN standard has its own acknowledgment, would that be sufficient for such huge streaming of a file?

typedef struct {
    union {
        struct {
            uint32_t extd: 1;          
            uint32_t rtr: 1;           
            uint32_t ss: 1;             
            uint32_t self: 1;            
            uint32_t dlc_non_comp: 1;   
            uint32_t reserved: 27;      
        uint32_t flags;                 
    uint32_t identifier;                
    uint8_t data_length_code;            
    uint8_t data[TWAI_FRAME_MAX_DLC];     
} CAN_message_t;

#define destinationNode 20000x

CAN_message_t msg;

File date ="/data.bin");
uint8_t *p=date;
    char buffer[8];
    memcpy(buffer, (p+8), 8);