I'm trying to react on new data via interrupt. For that I enabled gpio::Interrupt::EdgeLow on the GPIO pin. That is even triggered on new data.
If I send a few packets here and there this works like a charm. I clear the interrupt after I read all messages available (read_message until Err(Error::NoMessage)). In the interrupt handler I simply sent the same message but with a different CAN id. But if data come in all the time (I connected it to my car) this works just for the first 5 or 6 messages and then it stops processing. Am I using the wrong approach?
All taht ona Raspberry Pi Pico, btw, in case that makes a difference.
I'm trying to react on new data via interrupt. For that I enabled
gpio::Interrupt::EdgeLow
on the GPIO pin. That is even triggered on new data.If I send a few packets here and there this works like a charm. I clear the interrupt after I read all messages available (
read_message
untilErr(Error::NoMessage)
). In the interrupt handler I simply sent the same message but with a different CAN id. But if data come in all the time (I connected it to my car) this works just for the first 5 or 6 messages and then it stops processing. Am I using the wrong approach?All taht ona Raspberry Pi Pico, btw, in case that makes a difference.