I don’t think 25-35 msg / sec cause lost event. It is not much. Is there any other event in your project, beside CAN receive event?
For poll receiving, something like this:
private static void PollReceiving() {
while(true) {
if (canController.MessagesToRead > 0) {
// Read
var length = canController.MessagesToRead;
var msgs = new GHIElectronics.TinyCLR.Devices.Can.CanMessage[length];
canController.ReadMessages(msgs, 0, msgs.Length);
….
}
}
}
static void Main() {
/// setup CAN
new Thread(PollReceiving).Start();
}