In Serial_CAN_Module.cpp / recv():
In the following lines the return 0 statement will never be reached since time_s is set right before the check.
Probably the timer_s = should be removed since it is also set at the very beginning of recv.
timer_s = millis();
if((millis()-timer_s) > 10)
return 0; // Reading 12 bytes should be faster than 10ms, abort if it takes longer, we loose the partial message in this case