I did a test where I created three counters.One went into MCP2515_isr and counts every interrupt.One was added as the first code line in mcp2515::RxCallback.And the third one was added to RxCallBack, but right before we read the CAN frame via SPI that will end up in IncomingFrame. I.e. should be a count of every CAN frame.
This is what I got:
OVMS > can can2 statusCAN: can2Mode: ActiveSpeed: 100000Rx pkt: 82MCP2515_isr: 239RxCallback1: 320RxCallback2: 295Rx err: 0Tx pkt: 0Tx err: 0Err flags: 0x2040
These numbers puzzles me. Shouldn’t RxCallback1 and RxCallback2 be less or equal to MCP2515_isr? Where does these extra 81 calls come from? I’m missing something here...
Also, RxCallback2 is much bigger than Rx pkt, which means not all frames are sent to IncomingFrame.
What does the 0x2040 means? And where do that number comes from?
-- Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal Fon 02333 / 833 5735 * Handy 0176 / 206 989 26