You should print the frame and double check your conditions match up. Also set the filters after enabling FIFO.
Proper order:
begin
setmaxmb
enable fifo
filters
Code:
if(msg.buf[3] == 4){ // Means Info Type == 02 calid. InfoType == 04 CALID.
// ignore msg.buf[4]. because this buffer is always 0x01.Number of data item.
calid_buf1 = msg.buf[5];
calid_buf2 = msg.buf[6];
calid_buf3 = msg.buf[7]; // calid buffer is fixed 17 byte.
Stat_FC = 1;
}
this may be a culprit no? if it returns 2 like diagram here, it'll never return 4, therefore, the flow control is never sent. why not try requesting that flow control there instead of this condition, no need to have loop poll a flag