I don't know if this is already reported. I did not see one.
There is a strange defect in CAN driver code:
/** @file can.c
* @brief CAN Driver Source File
* @date 15.dec.2011
* @version 3.00.000 ..... */
The following busy wait loop is sprinkled throughout the code,
/** - Wait until IFx is ready for use */
while ( (node->IFxSTAT & 0x80) == 1 )
{
}
What is this supposed to do? Wait for Bit7 to clear? If it is- this code would not do it, since the expression (IFxSTAT & 0x80) cannot ever ==1
It should be != 0